说在前面:里面许多内容都是前辈们已经实践出来的,我仅做我自己实践的结果记录。
一、部署
1、必备软件
yum -y install make zlib zlib-devel gcc-c++libtool openssl openssl-devel pcre pcre-devel
另外Nginx需要GCC编译器,用来编译C语言环境,Nginx不会提供二进制可执行程序,只能下载源码进行编译;
另外还需要PCRE库,是专门用来做正则表达式的,Nginx里面很多地方都用到了正则表达式,因此需要进行安装;
另外还需要zlib库,zlib库用于对HTTP包的内容做gzip格式的压缩,如果我们在nginx.conf里配置了gzip on,并指定对于某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量;
另外还需要OpenSSL开发库,如果我们的服务器不只是要支持HTTP,还需要在更安全的SSL协议上传输HTTP,那么就需要拥有OpenSSL了。另外,如果我们想使用MD5、SHA1等散列函数,那么也需要安装它;
2、编译安装
个人选择的是编译安装,在官网下载的压缩包,本人是新建nginx用户专门开启nginx,将压缩包解压后,执行命令./configure,并且加上后缀--prefix=目录,制定了自己的nginx目录,然后再用make&&make install或者make执行完再make install。
还可以加入 --with-http_stub_status_module--with-http_ssl_module --with-debug。
加入了http_stub_status(用来做连接数检测)模块,和http_ssl(https协议)模块,with debug表示打开debug开关。
3、启动
在防火墙没有开启端口的时候使用./sbin/nginx -t检测配置文件有无错误会发现报错,所以需要先开端口。
启动方式:
(1)./sbin/nginx:默认启动方式
(2)./sbin/nginx -c /tmp/nginx.conf:指定配置文件启动
(3)./sbin/nginx -p /usr/local/nginx:指定nginx程序目录启动
停止方式:
(1)./sbin/nginx -s stop:快速停止
(2)./sbin/nginx -s quit:优雅停止(会一个一个服务停止再结束)
(3)强制结束进程,用kill -9 pid。
4、其他命令
常用热装载配置文件,不用停止刷新配置:./sbin/nginx -s reload
重新打开日志文件,当更换日志文件时使用:./sbin/nginx -s reopen
检测当前使用的哪个配置文件,配置是否正确:./sbin/nginx -t
正常状态:
nginx: the configuration file /home/nginx/app/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /home/nginx/app/nginx/conf/nginx.conf test is successful