Home Máy chủCentOS Hướng dẫn cài đặt Nginx trên CentOS 8

Hướng dẫn cài đặt Nginx trên CentOS 8

by admincp

Nginx là một trong những máy chủ web phổ biến nhất trên thế giới. Trong bài viết này, VINASTAR sẽ hướng dẫn các bạn cách cài đặt Nginx trên CentOS 8.

Cài đặt Nginx trên CentOS 8 – Nginx là một trong những máy chủ web phổ biến nhất trên thế giới và có khả năng phục vụ các trang web với dung lượng lớn. Nó tiết kiệm tài nguyên hệ thống hơn Apache và có thể được sử dụng làm máy chủ web hoặc proxy ngược.

Trong bài viết này, VINASTAR sẽ hướng dẫn các bạn cách cài đặt Nginx trên máy chủ CentOS 8.

Cài đặt Nginx trên CentOS 8

1. Tắt Selinux

Để tắt Selinux các bạn dùng lệnh sau

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0

2. Cài đặt Nginx trên CentOS 8

2.1. Bước 1 – Cài đặt máy chủ web Nginx

Cài đặt các thành phần cần thiết:

yum install yum-utils -y

Để thiết lập kho lưu trữ yum, hãy tạo tệp /etc/yum.repos.d/nginx.repo. Trình chỉnh sửa văn bản mặc định đi kèm với CentOS 8 là vi. vi là một trình soạn thảo văn bản cực kỳ mạnh mẽ, nhưng nó có thể hơi khó sử dụng đối với những người dùng mới. Bạn có thể sử dụng trình chỉnh sửa thân thiện hơn với người dùng như nano để hỗ trợ chỉnh sửa các tệp cấu hình trên máy chủ CentOS 8 của mình:

yum -y install epel-release
yum -y install nano

Bây giờ bạn có thể sử dụng nano để tạo tệp /etc/yum.repos.d/nginx.repo:

nano /etc/yum.repos.d/nginx.repo

Trong tệp đó, thêm mã sau:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Screenshot_57 - cài đặt Nginx trên CentOS 8

Lưu và đóng tệp sau khi bạn hoàn thành. Nếu bạn đã sử dụng nano, bạn có thể làm lưu tệp bằng cách nhấn CTRL + X, nhập vào Y, sau đó nhấn ENTER. Tiếp theo, để cài đặt nginx, hãy chạy lệnh sau:

yum install nginx -y

Để kiểm tra phiên bản Nginx đã được cài đặt hãy dùng lệnh

nginx -v

Screenshot_58 - cài đặt Nginx trên CentOS 8

Sau khi quá trình cài đặt hoàn tất hãy khởi động Nginx bằng lệnh sau

systemctl start nginx

2.2. Bước 2 – Điều chỉnh quy tắc tường lửa

Nếu bạn đang sử dụng tường lửa Firewalld, bạn sẽ cần điều chỉnh cài đặt Firewalld để cho phép các kết nối bên ngoài tới máy chủ web Nginx của bạn.

Chạy lệnh sau để mở vĩnh viễn các kết nối HTTP/HTTPS trên cổng 80443:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

Screenshot_59 - cài đặt Nginx trên CentOS 8

Để xác minh, bạn có thể chạy lệnh:

firewall-cmd --permanent --list-all

Screenshot_60 - cài đặt Nginx trên CentOS 8

Để áp dụng các thay đổi, bạn sẽ cần tải lại Firewalld:

firewall-cmd --reload

Screenshot_61 - cài đặt Nginx trên CentOS 8

Bây giờ máy chủ Nginx của bạn đã được cài đặt đầy đủ và sẵn sàng để truy cập từ bên ngoài.

2.3. Bước 3 – Kiểm tra máy chủ web của bạn

Để kiểm tra xem máy chủ web Nginx của bạn có hoạt động hay không bằng cách truy cập máy chủ của bạn qua Địa chỉ IP hoặc tên miền từ trình duyệt web của bạn.

Nếu chưa có tên miền bạn có thể truy cập địa chỉ IP của VPS:

Screenshot_62

Nếu bạn thấy trang này, thì máy chủ web của bạn đã được cài đặt chính xác.

2.4. Bước 4 – Quản lý Nginx

Bây giờ bạn đã có máy chủ web của mình, hãy cùng xem xét cách quản lý dịch vụ Nginx thông qua systemctl.

Bất cứ khi nào bạn cần dừng máy chủ web của mình, bạn có thể sử dụng lệnh:

systemctl stop nginx

Để khởi động máy chủ web, dùng lệnh sau:

systemctl start nginx

Để khởi động lại dịch vụ, bạn có thể sử dụng lệnh:

systemctl restart nginx

Nginx cũng có thể tải lại các thay đổi cấu hình mà không bị mất kết nối. Để làm điều này, hãy chạy lệnh:

systemctl reload nginx

Theo mặc định, Nginx được cấu hình để tự động khởi động cùng máy chủ. Nếu đây không phải là điều bạn muốn, bạn có thể tắt nó bằng cách dùng lệnh:

systemctl disable nginx

Để kích hoạt lại dịch vụ và làm cho Nginx khởi động cùng máy chủ, bạn có thể sử dụng lệnh:

systemctl enable nginx

2.5. Bước 5 – Làm quen với các tệp và thư mục quan trọng của Nginx

Bây giờ bạn đã biết cách quản lý dịch vụ Nginx, bạn nên dành vài phút để làm quen với một vài thư mục và tệp quan trọng của Nginx.

  • /usr/share/nginx/html: Theo mặc định mã nguồn của website sẽ được upload vào đây. Tuy nhiên bản có thể thay đổi thư mục này bằng cách cấu hình document root.
  • /etc/nginx: Thư mục cấu hình Nginx. Tất cả các tệp cấu hình Nginx nằm ở đây.
  • /etc/nginx/nginx.conf: Tệp cấu hình Nginx chính. Tệp có thể được sửa đổi để thay đổi cấu hình toàn cầu Nginx.
  • /etc/nginx/conf.d/: Thư mục này chứa các tệp cấu hình Server Block, nơi bạn có thể xác định các trang web được lưu trữ trong Nginx. Để thuận tiện cho việc quản lý thông thường mỗi trang web sẽ có một tệp riêng cấu hình được đặt tên theo tên miền của trang web, chẳng hạn như your_domain.conf.
  • /var/log/nginx/access.log: Theo mặc định mọi yêu cầu đến máy chủ web của bạn đều được ghi lại trong tệp nhật ký này.
  • /var/log/nginx/error.log: Bất kỳ lỗi Nginx nào cũng sẽ được ghi lại trong nhật ký này.

2.6. Bước 6 – Thiết lập Server Blocks (Tùy chọn)

Trong trường hợp bạn lưu trữ nhiều trang web trong cùng một máy chủ web Nginx, bạn sẽ cần phải thiết lập các Server Blocks. Các Server Blocks hoạt động tương tự như Virtual Hosts trên Apache, cho phép một máy chủ duy nhất chạy nhiều tên miền và phục vụ các nội dung khác nhau. Trên CentOS 8, các khối máy chủ được xác định trong các tệp .conf tại thư mục /etc/nginx/conf.d.

Trong bài viết này VINASTAR sẽ thiết lập một Server Blocks cho một tên miền được gọi là your_domain.

Lưu ý: Thay your_domain bằng tên miền của các bạn.

Đầu tiên tạo thư mục chứa mã nguồn cho your_domain, sử dụng tuỳ chọn -p để tạo thư mục mẹ nếu chưa có:

mkdir -p /var/www/your_domain/html

Tiếp theo, gán quyền sở hữu thư mục cho Nginx:

chown -R nginx:nginx /var/www/your_domain/html

Tạo một trang index.html ể kiểm tra cấu hình.

nano /var/www/your_domain/html/index.html

Trong tệp đó, thêm mã HTML như sau:

<html>
    <head>
        <title>Welcome to your_domain</title>
    </head>
    <body>
        <h1>Success! Your Nginx server is successfully configured for <em>your_domain</em>. </h1>
<p>This is a sample page.</p>
    </body>
</html>

Screenshot_65

Lưu và đóng tệp khi bạn hoàn thành. Nếu bạn đã sử dụng nano, bạn có thể lưu tệp bằng cách nhấn CTRL + X, nhập Y, sau đó nhấn ENTER.

Tiếp theo bạn cần tạo Server Blocks cho tên miền của mình. VINASTAR sẽ tạo một khối máy chủ mới tại /etc/nginx/conf.d/your_domain.conf:

nano /etc/nginx/conf.d/your_domain.conf

Dán vào cấu hình sau:

server {
        listen 80;
        listen [::]:80;

        root /var/www/your_domain/html;
        index index.html index.htm index.php;

        server_name your_domain www.your_domain;

        location / {
                try_files $uri $uri/ =404;
        }
}

Screenshot_66

Lưu và đóng tệp sau khi bạn đã chỉnh sửa xong nội dung của nó. Để đảm bảo rằng không có lỗi cú pháp trong bất kỳ tệp Nginx nào của bạn, hãy chạy lệnh:

nginx -t

Nếu không có bất kỳ vấn đề nào, bạn sẽ thấy kết quả sau:

Screenshot_64

Sau khi kiểm tra cấu hình, hãy khởi động lại Nginx để kích hoạt các thay đổi của bạn:

systemctl restart nginx

Bây giờ bạn có thể truy cập http://your_domain để kiểm tra thành quả:

Screenshot_68

3. Link tham khảo

4. Kết luận

Trong bài viết này, VINASTAR đã hướng dẫn các bạn cài đặt và thiết lập Nginx trên máy chủ sử dụng CentOS 8. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể xem thêm hướng dẫn cài đặt Apache trên CentOS 8.

You may also like

Leave a Comment