Thứ hai, 04/05/2020 | 00:00 GMT+7

Cách cài đặt Nginx trên Ubuntu 20.04 [Quickstart]

Nginx là một trong những web server phổ biến nhất trên thế giới và chịu trách nhiệm lưu trữ một số trang web lớn nhất và có lưu lượng truy cập cao nhất trên internet. Nó thân thiện với tài nguyên hơn Apache trong hầu hết các trường hợp và được dùng như một web server hoặc Reverse Proxy .

Trong hướng dẫn này, ta sẽ giải thích cách cài đặt Nginx trên server Ubuntu 20.04 của bạn. Để có version chi tiết hơn của hướng dẫn này, vui lòng tham khảo Cách cài đặt Nginx trên Ubuntu 20.04 .

Bước 1 - Cài đặt Nginx

Vì Nginx có sẵn trong repository lưu trữ mặc định của Ubuntu, bạn có thể cài đặt nó bằng cách sử dụng trình cài đặt gói apt .

Cập nhật index gói local của bạn:

  • sudo apt update

Cài đặt Nginx:

  • sudo apt install nginx

Bước 2 - Điều chỉnh firewall

Nếu bạn đã làm theo hướng dẫn cài đặt server tiên quyết, thì bạn đã bật firewall UFW. Kiểm tra cấu hình ứng dụng ufw có sẵn bằng lệnh sau:

  • sudo ufw app list
Output
Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

Hãy bật cấu hình chặn tối đa mà vẫn cho phép lưu lượng bạn đã cấu hình , cho phép lưu lượng truy cập trên cổng 80 :

  • sudo ufw allow 'Nginx HTTP'

Xác minh thay đổi:

  • sudo ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

Bước 3 - Kiểm tra Server Web của bạn

Kiểm tra với systemd init đảm bảo dịch vụ đang chạy bằng lệnh :

  • systemctl status nginx
Output
nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:> Active: active (running) since Mon 2020-05-04 22:45:26 UTC; 1min 17s ago Docs: man:nginx(8) Main PID: 13255 (nginx) Tasks: 2 (limit: 1137) Memory: 4.6M CGroup: /system.slice/nginx.service ├─13255 nginx: master process /usr/sbin/nginx -g daemon on; master> └─13256 nginx: worker process

Truy cập trang đích Nginx mặc định để xác nhận phần mềm đang chạy chính xác thông qua địa chỉ IP của bạn:

http://your_server_ip 

Bạn sẽ nhận được trang đích Nginx mặc định:

Trang mặc định của Nginx

Khi sử dụng web server Nginx, các khối server (tương tự như server ảo trong Apache) được dùng để đóng gói chi tiết cấu hình và lưu trữ nhiều domain từ một server duy nhất. Ta sẽ cài đặt một domain có tên your_domain , nhưng bạn nên thay thế domain này bằng domain của bạn . Để tìm hiểu thêm về cách cài đặt domain với DigitalOcean, vui lòng tham khảo Giới thiệu về DNS DigitalOcean của ta .

Tạo folder cho your_domain , sử dụng cờ -p để tạo bất kỳ folder mẹ nào cần thiết:

  • sudo mkdir -p /var/www/your_domain/html

Chỉ định quyền sở hữu folder :

  • sudo chown -R $USER:$USER /var/www/your_domain/html

Các quyền của root web của bạn phải chính xác nếu bạn chưa sửa đổi giá trị umask của bạn , nhưng bạn có thể đảm bảo bằng lệnh :

  • sudo chmod -R 755 /var/www/your_domain

Tạo trang index.html mẫu bằng nano hoặc editor bạn quen dùng :

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

Bên trong, hãy thêm HTML mẫu sau:

/var/www/your_domain/html/index.html
<html>     <head>         <title>Welcome to your_domain!</title>     </head>     <body>         <h1>Success!  The your_domain server block is working!</h1>     </body> </html> 

Lưu file khi bạn hoàn tất.

Tạo một khối server mới tại /etc/nginx/sites-available/ your_domain :

  • sudo nano /etc/nginx/sites-available/your_domain

Dán vào đoạn cấu hình sau, được cập nhật cho folder và domain mới của ta :

/ etc / nginx / sites-available / your_domain
server {         listen 80;         listen [::]:80;          root /var/www/your_domain/html;         index index.html index.htm index.nginx-debian.html;          server_name your_domain www.your_domain;          location / {                 try_files $uri $uri/ =404;         } } 

Lưu file khi bạn hoàn tất.

Kích hoạt file bằng cách tạo một liên kết từ nó đến folder sites-enabled :

  • sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

Hai khối server hiện đang được bật và cấu hình để đáp ứng với yêu cầu dựa trên họ listenserver_name chỉ thị:

  • your_domain : Sẽ phản hồi các yêu cầu cho your_domainwww.your_domain .
  • default : Sẽ phản hồi bất kỳ yêu cầu nào trên cổng 80 không trùng với hai khối còn lại.

Để tránh sự cố bộ nhớ group băm có thể phát sinh khi thêm tên server bổ sung, cần phải điều chỉnh một giá trị duy nhất trong file /etc/nginx/nginx.conf . Mở tập tin:

  • sudo nano /etc/nginx/nginx.conf

Tìm chỉ thị server_names_hash_bucket_size và xóa ký hiệu # để bỏ comment :

/etc/nginx/nginx.conf
... http {     ...     server_names_hash_bucket_size 64;     ... } ... 

Kiểm tra lỗi cú pháp:

  • sudo nginx -t

Khởi động lại Nginx để kích hoạt các thay đổi :

  • sudo systemctl restart nginx

Nginx bây giờ sẽ cho truy cập domain của bạn. Bạn có thể kiểm tra bằng cách chuyển đến http:// your_domain , nơi bạn sẽ nhận được thông tin như sau:

Khối  server  đầu tiên của Nginx

Kết luận

Đến đây bạn đã cài đặt web server của bạn , bạn có nhiều tùy chọn về loại nội dung để phân phát và các công nghệ bạn muốn sử dụng để tạo ra trải nghiệm phong phú hơn.

Nếu bạn muốn xây dựng một ứng dụng hoàn chỉnh hơn, hãy xem bài viết này về cách cấu hình LEMP trên Ubuntu 20.04 .


Tags:

Các tin liên quan

Cách cài đặt Nginx trên Ubuntu 20.04
2020-04-24
Cách tối ưu hóa cấu hình Nginx
2020-03-26
Cách thiết lập Laravel, Nginx và MySQL với Docker Compose
2020-03-09
Cách cài đặt Nginx trên CentOS 8
2020-03-03
Cách thiết lập Django với Postgres, Nginx và Gunicorn trên Debian 10
2019-07-25
Cách tạo chứng chỉ SSL tự ký cho Nginx trên Debian 10
2019-07-15
Cách bảo mật Nginx bằng Let's Encrypt trên Debian 10
2019-07-11
Cách cài đặt Nginx trên Debian 10
2019-07-10
Cách cài đặt và bảo mật phpMyAdmin bằng Nginx trên server Debian 9
2019-06-13
Cách cài đặt và bảo mật phpMyAdmin với Nginx trên server Ubuntu 18.04
2019-04-18