Ở bài trước bạn đã cài đặt thành công LEMP cho CentOS 7.
Bài viết hôm nay chúng ta sẽ thêm website hay domain vào NGINX.
1. Thiết lập cấu hình cho NGINX
Ở bài trước chúng ta đã tạo một file cấu hình /etc/nginx/conf.d/default.d. Bây giờ chúng ta sẽ tối ưu thêm cho file này.
Đầu tiên bạn tạo /etc/nginx/conf.d/block.conf bằng nano:
nano /etc/nginx/conf.d/block.conf
Copy và paste dòng code sau:
location = /robots.txt { access_log off; log_not_found off; }
location = /favicon.ico { access_log off; log_not_found off; expires 30d; }
location ~ /\. { access_log off; log_not_found off; deny all; }
location ~ ~$ { access_log off; log_not_found off; deny all; }
location ~ /\.git { access_log off; log_not_found off; deny all; }
location = /nginx.conf { access_log off; log_not_found off; deny all; }
Lưu lại file và thoát khỏi nano. Ý nghĩa của file này sẽ chặn truy cập vào các file/thư mục đặc biệt.
Tiếp theo bạn tạo file staticfiles.conf
nano nano /etc/nginx/conf.d/staticfiles.conf
Copy và paste dòng code sau:
location ~* \.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|eot|svg|ttf|woff)$ {
gzip_static off;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
access_log off;
expires max;
break;
}
location ~* \.(css|js)$ {
#add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
access_log off;
expires 30d;
break;
}
Code trên đảm bảo cho hiệu suất khi NGINX xử lý file tĩnh.
Bây giờ bạn mở file default.conf ra
nano /etc/nginx/conf.d/default.conf
Sửa nó lại với kết quả cuối cùng như sau:
server {
listen 80;
server_name 172.104.118.97;
# note that these lines are originally from the "location /" block
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
include /etc/nginx/conf.d/staticfiles.conf;
include /etc/nginx/conf.d/block.conf;
}
Tiếp theo, chúng ta mở file nginx.conf:
nano /etc/nginx/nginx.conf
Tìm dòng sau:
include /etc/nginx/conf.d/*.conf;
Sửa lại thành:
include /etc/nginx/domains/*.conf;
Bây giờ khởi động lại ngix:
systemctl nginx restart
Thêm domain vào NGINX
Nhớ trỏ domain về server của bạn.
Bạn cần xây dựng quy tắc đường dẫn lưu website ở đâu trên server.
Ở đây mình sẽ lưu website theo đường dẫn: /home/nginx/your_domain.com.
Trong thư mục trên chúng ta sẽ 2 tạo thư mục:
- log: chứa log cho cho domain. Ở đây chúng ta sẽ có một file error.log
- public_html: thư mục chúng ta sẽ cài đặt wordpress ở đây.
Ví dụ mình sẽ thêm domain thuthuatwp.com vào NGINX như sau: (thay domain của mình bằng của bạn)
mkdir -p /home/nginx/thuthuatwp.com/log
touch /home/nginx/thuthuatwp.com/log/error.log
mkdir -p /home/nginx/thuthuatwp.com/public_html
chown -R nginx:nginx /home/nginx
Tiếp theo chúng copy file default.conf thành yourdomain.com.conf như thế này;
cp /etc/nginx/domains/default.conf /etc/nginx/domains/thuthuatwp.com.conf
Mở file your_domain.com.conf và thay đổi như sau:
Thay dòng server name thành
server_name www.your_domain.com your_domain.com;
Thêm dòng sau:
error_log /home/nginx/your_domain.com/log/error.log error;
Thay dòng
root /usr/share/nginx/html;
Thành:
root /home/nginx/your_domain.com/public_html;
File your_domain.com.conf cuối cùng sẽ như thế này cho domain thuthuatwp.com của mình:
server {
listen 80;
server_name khamphaso.com wwww.khamphaso.com;
# note that these lines are originally from the "location /" block
root /home/nginx/khamphaso.com/public_html;
index index.php index.html index.htm;
error_log /home/nginx/khamphaso.com/log/error.log error;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
include /etc/nginx/conf.d/staticfiles.conf;
include /etc/nginx/conf.d/block.conf;
}
Bây giờ khởi động lại NGIX
systemctl nginx restart
Test lại xem website thêm vào đã hoạt động OK chưa.
Bạn tạo một file info.php trong thư mục public_html
nano /home/nginx/your_domain.com/public_html/info.php
Thêm dòng code sau:
<?php phpinfo(); ?>
Sau đó truy cập http://your_domain.com/info.php nếu thấy trang thế này thì OK:
Những website tiếp theo bạn thêm vào thì lặp lại bước trên. Dùng VPS không có khái niệm bao nhiêu website như shared host.
Bạn có thể thêm thỏa thích. Quan trọng cấu hình máy chủ của bạn có chịu đựng được traffic của chúng hay không mà thôi.
Yêu thích viết blog.