Nginx设置
配置
下面这两个文件是Nginx的默认配置文件(nginx.conf
是Nginx通用配置(或者叫全局配置)主要是__HTTP__这块,default.conf
是网站的默认配置,是__Server__部分)
/etc/nginx/nginx.conf
/etc/nginx/conf.d/default.conf
特别提一下include,nginx.conf
通过include调用外部的设置,可以避免把Nginx全局设置弄得特别杂乱,include写法参考下面
include /etc/nginx/sites-enabled/*;
include /etc/nginx/conf.d/*.conf;
关于具体每个网站的设置,很多教程都是说把网站的配置文件(比如mysite.conf,也可以不用后缀,直接mysite或者mysite.com这样)添加到
/etc/nginx/sites-available/
然后做一个symlink(符号链接)
ln -s /etc/nginx/sites-available/mysite.conf
链接到
/etc/nginx/sites-enabled/
但是,为何不直接把网站的设置文件添加到
/etc/nginx/conf.d/
像下面这样,也不用麻烦的设置符号链接
/etc/nginx/conf.d/mysite.conf
Nginx默认配置里面就有下面这条引用
include /etc/nginx/conf.d/*.conf;
而没有下面这条引用规则的
include /etc/nginx/sites-enabled/*;
而且在/etc/nginx/conf.d/
目录下面有默认配置文件default.conf
这难道不说明一个问题吗?不知道是新旧版本的差异还是别的什么原因
另外,服务器的日志文件,对应的在nginx.conf
和mysite.conf
里面设置即可,如默认Nginx日志存储位置如下:
/var/log/nginx/access.log
/var/log/nginx/error.log
下面是基本的gzip设置(注意去掉注释,参数可根据自己的需求做修改),更多选项可以参考Nginx官网文档
# 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;
Nginx最基本命令
systemctl start nginx.service
systemctl stop nginx.service
systemctl restart nginx.service
systemctl reload nginx.service
最基本的forever命令
下面是用于Ghost博客程序的
NODE_ENV=production forever start index.js
forever list
forever stop index.js
注意NODE_ENV=production
,production即生产环境
PM2
PM2设置
echo "export NODE_ENV=production" >> ~/.profile
export NODE_ENV="production"
NODE_ENV=production pm2 start index.js --name ghost
PM2常用命令
pm2 list
pm2 stop <app_name|id|all>
pm2 restart <app_name|id|all>
pm2 monit
pm2 logs
pm2 logs big-api
pm2 flush # Clear all the logs
未完待续……