Table of Contents

Nginx Config

This page is used to record some notes when I config a VPS running with Nginx.

Create a new server block

cd /etc/nginx/
cd sites-available/
cp default team.pjq.me.conf
vim team.pjq.me.conf 

Then edit the config file

 listen 80;
 root /var/www/team/;
 server_name  team.pjq.me;

Then enable this site:

ln -s /etc/nginx/sites-available/team.pjq.me.conf /etc/nginx/sites-enabled/
/etc/init.d/nginx restart

So the site is running, cheers.

Enable directory list

Add “autoindex on;”

 location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
                autoindex on;
        }

Revert Proxy

server {
        server_name wechat.pjq.me;
        location / {
                proxy_set_header   X-Real-IP $remote_addr;
                proxy_set_header   Host      $http_host;
                proxy_pass http://127.0.0.1:8080;
        }
        location /doc/ {
                alias /usr/share/doc/;
                autoindex on;
                allow 127.0.0.1;
                deny all;
        }
}

Enable php

 apt-get install php5-fpm
/etc/init.d/php5-fpm restart

 grep -v -E "#|^$" /etc/nginx/sites-available/ef.pjq.me.conf 
server {
	listen 80;
	root /var/www/ef/;
	index index.html index.htm;
	server_name  ef.pjq.me;
	location / {
		try_files $uri $uri/ =404;
                autoindex on;
	}
	location ~ \.php$ {
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;
		include fastcgi_params;
	}
}

nginx all https

To enable redirect all the http request to https

  rewrite ^(.*) https://$host$1 permanent;    

generate the ssl certificate

mkdir /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt

server {
	listen 80;
	root /var/www/knProxy/;
	index index.html index.htm index.php;
	server_name  proxy.pjq.me;
    rewrite ^(.*) https://$host$1 permanent;
	location / {
		try_files $uri $uri/ =404;
                autoindex on;
	}
	location ~ \.php$ {
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;
		include fastcgi_params;
	}
}
server {
    listen 443 ssl;
	root /var/www/knProxy/;
	index index.html index.htm index.php;
	server_name  proxy.pjq.me;
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;
	location / {
		try_files $uri $uri/ =404;
                autoindex on;
	}
	location ~ \.php$ {
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;
		include fastcgi_params;
	}
}