Nginx编译安装,启动,停止,升级。

1.简单介绍下Nginx

Nginx是一款轻量级的web服务器和反向代理服务器,它使用了epoll的I/O模型,也就是事件触发I/O模型,减少了进程的生成切换所消耗的系统资源(CPU的压力减少,内存的占用也会减少),可以达到很高的并发请求。它是一款开源软件,企业成本降低,它的使用配置也比较简单,同时支持Rewrite,作为反向代理的时候可以检查后端的Web服务器的健康状况,能够支持热部署。

2.Nginx安装,重启,升级,停止。

环境是Centos系统,通过www.nginx.org下载需要的源码包

一些准备工作编译安装需要的环境

yum -y install gcc gcc-c++ autoconf automake
groupadd �Cr nginx
useradd �Cs /sbin/nologin �Cg nginx nginx

Nginx的一些模块需要第三方库的支持,gzip模块需要zlib库,rewrite模块需要pcre库,ssl模块需要openssl库等

yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel

然后可以编译安装了

tar zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure 
--prefix=/usr  #安装路径
--conf-path=/etc/nginx/nginx.conf  #配置文件路径
--sbin-path=/usr/sbin/nginx  #启动文件路径
--error-log-path=/var/log/nginx/error.log   #错误日志路径 
--pid-path=/var/run/nginx/nginx.pid  #主进程号路径
--lock-path=/var/lock/nginx.lock     #nginx.lock文件路径
--user=nginx --group=nginx  #进程运行使用的身份
--with-http_ssl_module   #启用ssl模块
--with-http_flv_module   #启用flv模块 
--with-http_gzip_static_module   #启用gzip模块
--http-log-path=/var/log/nginx/access.log   #日志文件路径
--http-client-body-temp-path=/var/tmp/nginx/client   #客户端请求缓存文件存放路径
--http-proxy-temp-path=/var/tmp/nginx/proxy   #反向代理缓存文件存放路径
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi   #FastCGI缓存文件存放路径
make && make install

Nginx启动,停止,平滑重启,平滑升级

/usr/sbin/nginx    #启动
ss -tnlp   #去查看下服务是否启动
一般通过控制主进程来停止Nginx,进程号前边编译时定义了,cat /var/run/nginx/nginx.pid就得到主进程号,下边停止Nginx
kill -QUIT `cat /var/run/nginx/nginx.pid`  #从容停止Nginx
kill -TERM  `cat /var/run/nginx/nginx.pid`  #快速停止Nginx
kill -INT `cat /var/run/nginx/nginx.pid`  #快速停止Nginx
pkill -9 nginx #强制停止所有Nginx进程
配置文件改变需要重启服务,先检查配置文件是否正确
/usr/sbin/nginx -t
kill -HUP `cat /var/run/nginx/nginx.pid` #平滑重启
顺便再说下其他的信号
USR1 #重新打开日志文件,切割日志时需要
平滑升级Nginx
编译安装新版本的Nginx,到旧版本目录,之前最好备份下旧的执行文件。
kill -USR2 旧版本主进程号 #主进程号被重命名.pid.oldbin
执行新版本的可执行文件,这时新旧版本Nginx同时运行,然后停止旧版本
kill -WINCH 旧版本的主进程号 #工作进程从容关闭
kill -QUIT 旧版本主进程号

你可能感兴趣的:(代理服务器,web服务器,开源软件,target,健康状况)