![](https://static.wixstatic.com/media/68165d_4fc6d0efe5ba4347a0694ff5b75b657b~mv2.jpg/v1/fill/w_980,h_515,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/68165d_4fc6d0efe5ba4347a0694ff5b75b657b~mv2.jpg)
Nginx là một trong những web servers phổ biến nhất hiện nay, dùng để lưu trữ và chịu tải những trang web có lượng truy cập lớn, nó có những ưu điểm hơn Apache và hay được dùng làm web server hoặc proxy ngược.
Hôm nay mình sẽ hướng dẫn các bạn cách cài Nginx dùng làm web server.
1. Cài đặt Nginx
Update server trước khi cài Nginx
# sudo apt-get update -y
Cài gói Nginx
# sudo apt-get install nginx
2. Cấu hình firewall cho phép truy cập Nginx
Kiểm tra danh sách các ứng dụng đang chạy:
# sudo ufw app list
![](https://static.wixstatic.com/media/68165d_0dde7906e22e4b95bc61cede07ca4c64~mv2.png/v1/fill/w_907,h_524,al_c,q_90,enc_auto/68165d_0dde7906e22e4b95bc61cede07ca4c64~mv2.png)
Cho phép truy cập Nginx:
# sudo ufw allow 'Nginx Full'
Kiểm tra firewall cho phép Nginx đi qua hay chưa:
# sudo ufw status
![](https://static.wixstatic.com/media/68165d_a07ce7f96dd1471f8d1001705d19774f~mv2.png/v1/fill/w_906,h_522,al_c,q_90,enc_auto/68165d_a07ce7f96dd1471f8d1001705d19774f~mv2.png)
3. Kiểm tra web server
Kiểm tra dịch vụ Nginx có đang chạy hay không:
# sudo systemctl status nginx
![](https://static.wixstatic.com/media/68165d_0fa71e6380a44290b16736fd119318ea~mv2.png/v1/fill/w_980,h_400,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_0fa71e6380a44290b16736fd119318ea~mv2.png)
4. Quản lý Nginx process
Để ngưng Nginx dùng lệnh:
# sudo systemctl stop nginx
Để chạy Nginx:
# sudo systemctl start nginx
Stop và start lại nginx:
# sudo systemctl restart nginx
Áp dụng cấu hình mới nhưng không muốn dán đoạn kết nối nginx:
# sudo systemctl reload nginx
Mặc định nginx tự động start khi server khởi động lại, nếu muốn khởi động nginx thủ công:
# sudo systemctl disable nginx
Để nginx tự động start khi server khởi động lại:
# sudo systemctl enable nginx
5. Cài đặt Nginx server blocks
Tương tự như virtual host của Apache, server block để chúng ta dễ dàng quản lý các website nếu chúng ta chạy nhiều web trên cùng một server vật lý.
Tạo thư mục chứa source code cho website:
# mkdir -p /var/www/testdomain.com/html
Gán quyền sở hữu thông qua biến $USER:
# sudo chown -R $USER:$USER /var/www/testdomain.com/html
Set quyền cho thư mục:
# sudo chmod -R 755 /var/www/testdomain.com
Tạo một trang web ví dụ:
# sudo vi /var/www/testdomain.com/html/index.html
Copy và Paste nội dung sau vào file
<html>
<head>
<title>Welcome to testdomain.com!</title>
</head>
<body>
<h1>Success! The testdomain.com server block is working!</h1>
</body>
</html>
Tạo server block:
# sudo vi /etc/nginx/sites-available/testdomain.com
Copy và paste nội dung sau vào file
server {
listen 80;
listen [::]:80;
root /var/www/testdomain.com/html;
index index.html index.htm index.nginx-debian.html;
server_name testdomain.com www.testdomain.com;
location / {
try_files $uri $uri/ =404;
}
}
Kích hoạt file server block:
# sudo ln -s /etc/nginx/sites-available/testdomain.com /etc/nginx/sites-enabled
Xóa server block default:
# sudo rm /etc/nginx/sites-enabled/default
Khởi động lại nginx
# sudo systemctl restart nginx
Cuối cùng thử đăng nhập lại web bằng tên miền.
留言