Add thêm domain hoặc subdomain vào Centos 7 dùng Nginx

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