1 win下,下载zip压缩包,解压,然后 开始-> 运行 -> cmd 进入到dos下,执行
nginx -s [ stop | quit | reopen | reload ]
2 linux 下的安装
tar zxvf nginx-.....tar.gz
cd nginx-....
./configure
sudo make && make install
常用的编译选项
--prefix=<path> 指定nginx的安装路径,默认 /usr/local/nginx
--sbin-path=<path> 执行nginx可执行文件的路径,默认prefix/sbin/nginx
--conf-path=<path> 配置文件的路径,默认 prefix/conf/
--error-log-path=<path> 错误日志的路径 ,默认 prefix/logs/error.log
--http-log-path=<path> 访问日志的路径 prefix/logs/error.log
--user=<user> nginx启动进程的用户,默认nobody
--group=<group> 未指定用户时nginx指定组,默认nobody
--builddir=<DIR> 指定编译的目录
--without-http 禁用http server
--with-mail 启用imap4/pop3/smtp模块
--with-cc 指定C编译器的路径
--with-cpp 指定C预处理器的路径
### nginx的启动,停止和平滑重启
启动:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ps aux | grep nginx 可以查看进程启动情况 master process就是主进程
如果指定了 pid文件则nginx.pid文件里边就是nginx的主进程号,默认nginx的安装目录的log下
# 停止
1 从容停止 kill -信号类型 nginx主进程号 eg:kill -quit `/usr/local/webserver/nginx/logs/nginx.pid`
2 快速停止 kill -term nginx主进程号
3 强制停止所有的nginx进程 pkill -9 nginx
pgrep nginx | xargs sudo kill -9
sudo kill -s 9 `pgrep nginx` => sudo pkill -9 nginx (pkill = kill + pgrep )
4 nignx 的平滑重启
/nginx路径 -t conf路径
如果配置文件有错误,会提示,若提示成功,就可以平滑重启了
kill -hup nginx主进程号
kill -hup `nginx.pid文件路径`
### nginx的信号控制
term | int 快速关闭,立即关闭进程
quit 从容关闭,待请求结束后关闭进程
hup 平滑重启,重新加载配置
user1 重新打开日志文件,在切割日志时作用较大
user2 平滑升级可执行程序
winch 从容关闭工作进程
### nginx的平滑升级
nginx可以在不停服的情况下使用新的版本,重新编译的nginx替换旧的可执行程序
kill -user2 旧版本的nginx主进程号
此时,nginx将重命名它的pid为 .oldbin ,新旧版本的nginx实例同时运行,要逐步停止旧版本要发送 kill -winch 旧版本nginx进程号给旧的主进程,接收到winch信号之后它就开始从容关闭
这时,我们可以决定是使用新的nginx还是旧的版本
kil -hup 旧版本的nginx主进程号 ##nginx将不重新加载配置的情况下启动工作进程
kill -quit 新的主进程号 ##从容关闭