Skip to main content

Cài đặt NGINX trên CentOS 7

LangPham - 22/08/2018

Giới thiệu về NGINX

Khi nhắc đến các phần mềm mã nguồn mở cho web server không nhắc đến NGINX là một trong những thiếu sót lớn. NGINX là một phần mềm ứng dụng web server cho hiệu suất tốt và khả năng mở rộng cao. Trong những năm gần đây số lượng người sử dụng NGINX ngày một tăng lên. NGINX cho hiệu suất đáp ứng gấp nhiều lần so với các ứng dụng mã nguồn mở cùng loại.

nginx.jpg

Ở bài viết này mình sẽ hướng dẫn cài đặt NGINX trên CentOS 7 làm  web server.

** Lưu ý: ở đây mình đang chạy kết nối SSH đến CentOS với root, nếu các bạn chạy với user khác cần thêm sudo ở đầu các câu lệnh khi không đủ quyền.

Cài đặt NGINX trên CentOS 7

Tiếp theo bài trước cài đặt CentOS 7, để tránh một số vấn đề xung đột xảy ra khi cài đặt và vận hành mình sẽ tắt SELinux.

Trước tiên chúng ta cần kiểm tra lại tình trạng của SELinux

# sestatus

Nếu đã disable các bạn có thể bỏ qua bước kế tiếp.

Disable SELinux trên CentOS 7

Chúng ta sẽ dùng trình soạn thảo vi để sửa file cấu hĩnh selinux

# vi /etc/sysconfig/selinux

Sửa lại dòng

SELINUX=enforcing

Thành

SELINUX=disabled
Cai-dat-NGINX-1.png

Sau đó lưu lại và khởi động lại CentOS

Tiếp tục cài đặt NGINX trên CentOS 7, đầu tiên chúng ta cần thêm EPEL vào CentOS với lệnh sau:

# yum install epel-release -y

Bây giờ NGINX đã được bổ sung vào CentOS, chúng ta sẽ cài đặt bằng lệnh sau:

# yum install nginx -y

Chờ một chút và nó sẽ cài đặt xong, sau khi xong chúng ta sẽ khởi động NGINX:

# systemctl start nginx.service

Và cho NGINX khởi động cùng CentOS

# systemctl enable nginx.service

Đến đây thì chúng ta đã hoàn tất cài đặt nginx trên CentOS 7, để có thể kiểm tra được hoạt động của NGINX chúng cần mở các port trên CentOS.

Mở port CentOS 7

Mặc định CentOS 7 sử dụng FirewallD làm firewall thay cho Iptables trên CentOS 6. FirewallD quản lý các tác vụ firewall bằng cách sử dụng "zones" và "services".

Đầu tiên chúng ta cần check xem FirewallD có đang chạy hay không:

# systemctl status firewalld
FirewallD-1.png

Nếu có dòng "active (running)" nghĩa là FirewallD đang hoạt động. Tiếp theo cần check xem FirewallD đang chạy ở zone nào?

# firewall-cmd --get-active-zones

Và kiểm tra xem các service nào được phép chạy qua FirewallD?

# firewall-cmd --zone=public --list-all
FirewallD-2.png

Ở đây chúng ta thấy thiếu 2 service http, https tương ứng các port 80, 443 để truy cập vào web. Chúng ta sẽ add thêm vào:

# firewall-cmd --zone=public --add-service=http
# firewall-cmd --zone=public --add-service=http --permanent
# firewall-cmd --zone=public --add-service=https
# firewall-cmd --zone=public --add-service=https --permanent

Vậy là xong, giờ chúng ta mở trình duyệt web lên và nhập vào

http://server_domain_name_or_IP/
Cai-dat-NGINX-2.png

Nếu bạn thấy trang này nghĩa là bạn đã cài đặt NGINX trên CentOS 7 thành công. Ở bài tiếp theo mình sẽ tiếp tục với việc hướng dẫn cài đặt MariaDB trên CentOS 7, các bạn đón xem nhé!

NGINX CentOS 7 web server FirewallD