Thứ hai, 23/07/2018 | 00:00 GMT+7

Cách cài đặt Nginx trên Ubuntu 18.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 18.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 18.04 .

Yêu cầu

Trước khi bắt đầu hướng dẫn này, bạn nên có những điều sau:

  • Một server Ubuntu 18.04 và một regular user , không phải root có quyền sudo. Ngoài ra, bạn cần kích hoạt firewall cơ bản để chặn các cổng không cần thiết. Bạn có thể tìm hiểu cách cấu hình account regular user và cài đặt firewall theo hướng dẫn cài đặt server ban đầu của ta cho Ubuntu 18.04 .

Khi bạn có account , hãy đăng nhập với quyền user không phải root của bạn để bắt đầu.

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: enabled) Active: active (running) since Fri 2018-04-20 16:08:19 UTC; 3 days ago Docs: man:nginx(8) Main PID: 2369 (nginx) Tasks: 2 (limit: 1153) CGroup: /system.slice/nginx.service ├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─2380 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ẽ thấy trang đích Nginx mặc định:

Trang mặc định của Nginx

Khi sử dụng web server Nginx, bạn có thể sử dụng khối server (tương tự như server ảo trong Apache) để đó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 là example.com , 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, hãy xem phần giới thiệu của ta về DigitalOcean DNS .

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

  • sudo mkdir -p /var/www/example.com/html

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

  • sudo chown -R $USER:$USER /var/www/example.com/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/example.com

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

  • nano /var/www/example.com/html/index.html

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

/var/www/example.com/html/index.html
<html>     <head>         <title>Welcome to Example.com!</title>     </head>     <body>         <h1>Success!  The example.com 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/ example.com :

  • sudo nano /etc/nginx/sites-available/example.com

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/example.com
server {         listen 80;         listen [::]:80;          root /var/www/example.com/html;         index index.html index.htm index.nginx-debian.html;          server_name example.com www.example.com;          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/example.com /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ị:

  • example.com : Sẽ phản hồi các yêu cầu cho example.comwww.example.com .
  • 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:// example.com , nơi bạn sẽ thấy 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 18.04 .


Tags:

Các tin liên quan

Cách cung cấp các ứng dụng Flask với Gunicorn và Nginx trên Ubuntu 18.04
2018-07-13
Cách di chuyển web root Nginx đến vị trí mới trên Ubuntu 18.04
2018-07-12
Cách cấu hình Jenkins với SSL bằng Nginx Reverse Proxy trên Ubuntu 18.04
2018-07-10
Cách thiết lập Django với Postgres, Nginx và Gunicorn trên Ubuntu 18.04
2018-07-09
Cách tạo chứng chỉ SSL tự ký cho Nginx trong Ubuntu 18.04
2018-07-05
Cách bảo mật Nginx bằng Let's Encrypt trên FreeBSD
2018-07-02
Cách bảo mật Nginx bằng Let's Encrypt trên Ubuntu 18.04
2018-04-27
Cách cài đặt và bảo mật phpMyAdmin với Nginx trên Ubuntu 16.04
2018-04-12
Cách lưu trữ trang web bằng Cloudflare và Nginx trên Ubuntu 16.04
2018-03-15
Nginx Essentials: Khắc phục sự cố cài đặt và cấu hình
2017-12-12