Khi cần thêm hay subdomain vào server centos 7 dùng nginx bạn làm như sau:
Bước 1: Trỏ domain hay subdomain về IP server, nếu dùng cloudflare bạn cần bỏ chặn đám mây để IP được nhận diện, bước này để đăng ký SSL miễn phí.
Bước 2: Tạo thư mục domain nơi lưu trữ tùy bạn chọn, có thể chọn /data/vhosts/domain.com và chmod cho thư mục 755
hoặc dùng lệnh sudo chmod -R 755 /data/vhosts/domain.com/
Bước 3: Vào đường dẫn /etc/nginx/sites-available tạo file config domain.com.conf với nội dung bên dưới:
server {
listen 80;
server_name domain.com www.domain.com;
rewrite ^/(.*) https://domain.com/$1;
}
server {
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
server_name domain.com www.domain.com;
root /data/vhosts/domain.com;
index index.php index.html index.htm;
error_log /var/log/nginx/chidep.yeah1digital.com-error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 7d;
add_header Cache-Control public;
}
location ~ \.php {
fastcgi_pass unix:/app/php7/var/run/php-gamemondi.com.sock;
# Workaround PHP vulnerability:
# http://forum.nginx.org/read.php?2,88845,page=3
try_files $uri =404;
# Alternatively you can set
# cgi.fix_pathinfo = false
# in php.ini
expires 2m;
#FileETag on;
#fastcgi_ignore_headers “Cache-Control” “Expires” “Set-Cookie”;
#fastcgi_cache NAME;
fastcgi_cache_valid 200 302 1m;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid any 1m;
fastcgi_cache_min_uses 1;
#fastcgi_cache_use_stale error timeout invalid_header http_500;
include /etc/nginx/fastcgi_params;
#keepalive_timeout 120;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Chú ý
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
Sẽ được tạo ở bước đăng ký SSL miễn phí sau:
Đầu tiên nếu dùng cloudflare hãy tắt biểu tượng đám mây ở DNS để server truy vấn đúng IP server.
Tiếp đến làm theo bài Cách cài đặt SSL miễn phí để tiến hành cài đặt
Cuối cùng: reset lại nginx để áp dụng sudo systemctl restart nginx