This post explain, how to configure Nginx web server for Static Website. At the current time, Jekyll,Octopress, pelican are very popular static site generator. Generally for static website we use html files.
Note: This post share the Nginx Configuration file settings for static website.
We worked on couple of website which were generated with Jekyll,Octopress and pelican.In this post we are sharing the Nginx configuration file for static website.
We have added some feature in this Nginx configuration file which will help your Nginx site to load quickly. These features are given below –
1. Enable compression
2. Enable Leverage Browsing
We believe you have already install Nginx on your system (Install Nginx on CentOS 7)
Given below is the Nginx Configuration file settings –
Replace example.com with your domain name.
server {
## Give Domain name
server_name example.com www.example.com;
## Define custom path for Nginx site log
access_log /var/log/nginx/example.com-access.log;
error_log /var/log/nginx/example.com-error.log;
## Give absolute path of Web root where your website files/dir are saved
root /usr/local/nginx/html/examplecom_octopress;
## Define the index file
index index.html;
autoindex off;
## Setting Compression
gzip on;
gzip_disable "msie6";
gzip_min_length 1100;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
## Define 404 pages URL
location / {
try_files $uri $uri/ =404;
}
# Disable favicon.ico logging
location = /favicon.ico {
log_not_found off;
access_log off;
}
# Allow robots and disable logging
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Disable static content logging and set cache time to max
location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
expires 365d;
log_not_found off;
}
# Deny access to htaccess and htpasswd files
location ~ /.ht {
deny all;
}
}
After saving the file.Run the command nginx -t , to check if any error in configuration file
Restart the Nginx Service.
On CentOS 7 / RHEL 7
systemctl restart nginx
On CentOS 5,6 / RHEL 5,6
service nginx restart
On Debian / Ubuntu
sudo service nginx restart OR sudo /etc/init.d/nginx restart
