====== 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;
}
}