File: //etc/nginx/sites-enabled/datacloudnow.com
server {
server_name datacloudnow.com www.datacloudnow.com;
# Root directory for WordPress
root /opt/wpsites/datacloudnow.com;
index index.php index.html index.htm;
# Logging
access_log /var/log/nginx/datacloudnow.com.access.log;
error_log /var/log/nginx/datacloudnow.com.error.log;
# Enable Gzip compression
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_min_length 1000;
# Main WordPress site rules
location / {
try_files $uri $uri/ /index.php?$args;
}
# PHP processing
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock; # Adjust PHP version if necessary
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Block access to sensitive files
location ~* \.(htaccess|htpasswd|env|ini|log|sh|bak|sql)$ {
deny all;
}
# Cache static files
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg|eot|otf|webp|avif)$ {
expires max;
log_not_found off;
access_log off;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/datacloudnow.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/datacloudnow.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.datacloudnow.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = datacloudnow.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name datacloudnow.com www.datacloudnow.com;
listen 80;
return 404; # managed by Certbot
}