Nginx là một web server mới nổi và được ưa chuộng. Hiện tại, nó chỉ đứng sau Apache về mức độ phổ biến nhưng trong tương lai gần có thể vượt qua Apache. Ưu điểm của Nginx là có tốc độ xử lý/hiệu năng cao hơn các web server khác. Hạn chế của Nginx là còn ít môđun xử lý đi kèm (do còn mới; tương lai có thể được bổ sung).
Từ khi Nginx ra đời, những người thực hành web có thêm một lựa chọn mới là LEMP (Linux, Nginx, MySQL, PHP), bên cạnh LAMP (Linux, Apache, MySQL, PHP) lâu đời và nổi tiếng.
Bài thực hành này hướng dẫn cài đặt LEMP trên Ubuntu.
sudo apt update
sudo apt upgrade
sudo systemctl stop apache2
sudo apt remove --purge apache2
sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
systemctl status nginx
sudo apt install php-fpm php-mysql
;cgi.fix_pathinfo=1
cgi.fix_pathinfo=0
sudo systemctl restart php7.2-fpm
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html index.php;
sudo systemctl restart nginx
<?php
phpinfo();
sudo apt install mysql-server
sudo systemctl start mysql
sudo systemctl enable mysql
sudo apt install phpmyadmin
sudo ln -s /usr/share/phpmyadmin /var/www/html
sudo systemctl restart nginx
sudo nano /etc/hosts
127.0.0.1 bulletin.any.com.vn
127.0.0.1 hrm.any.com.vn
sudo mkdir -p /var/www/bulletin.any.com.vn
sudo mkdir -p /var/www/hrm.any.com.vn
sudo chown -R $USER:$USER /var/www/bulletin.any.com.vn
sudo chown -R $USER:$USER /var/www/hrm.any.com.vn
sudo chmod -R 755 /var/www/bulletin.any.com.vn
sudo chmod -R 755 /var/www/hrm.any.com.vn
sudo nano /var/www/bulletin.any.com.vn/index.htm
<!DOCTYPE html>
<html>
<head>
<title>Welcome to Bulletin!</title>
</head>
<body>
<h1>Success! The Bulletin block is working!</h1>
<body>
</html>
sudo nano /var/www/bulletin.any.com.vn/test.php
<?php
echo "Dynamic PHP page from Bulletin!";
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/bulletin.any.com.vn
sudo nano /etc/nginx/sites-available/bulletin.any.com.vn
server { listen 80; listen [::]:80; root /var/www/bulletin.any.com.vn; index index.html index.htm index.php; server_name bulletin.any.com.vn; location / { try_files $uri $uri/ =404; autoindex on; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.2-fpm.sock; } }
sudo ln -s /etc/nginx/sites-available/bulletin.any.com.vn /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/hrm.any.com.vn /etc/nginx/sites-enabled/
sudo systemctl restart nginx
http://bulletin.any.com.vn
http://bulletin.any.com.vn/test.php
http://hrm.any.com.vn
http://hrm.any.com.vn/test.php