当前位置: > Linux服务器 > nginx >

NGINX之安装篇

时间:2015-05-07 22:53来源:linux.it.net.cn 作者:IT
今天开始我们一步一步在一个纯净系统搭建一个NGINX运行环境并进行相关配置.


环境搭建:       
首先要有一个LINUX环境,这里我们使用金山网游服务器普遍使用的linux版本CentOS. CentOS是基于RedHat Enterprise Linux源代码重新编译并去除RedHat徽标的产物。CentOS完全免费,但其开发团队不提供技术支持,也不负任何商业责任。


LINUX系统安装完后,我们必须确保系统安装有GCC编译器和Autoconf和Automake工具,用于我们对NGINX源码进行重新编译安装。在CentOS下, 你可以使用如下命令安装GCC及相关工具:

yum -y install gcc gcc-c++ antoconf automake 
yum -y install gcc gcc-c++ antoconf automake

除以上两个工具外,NGINX的一些模块需要依赖其他第三方库的支持,例如gzip模块需要zlib库,rewrite需要pcre库,ssl功能需要ipenssl库等。同样,如果是在CentOS下,我们可以使用yum命令下载并安装相应库:

[plain] view plaincopyprint?
01.yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel 
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
NGINX相关文件下载地址为 http://nginx.org/,你可以选择相应的版本进行下载安装,这里我们使用稳定版1.0.10,相应下载地址为:http://nginx.org/download/nginx-1.0.10.tar.gz


从0.7.52版本开始,NGINX就已经有WINDOWS版本,此处我们只讨论LINUX环境下的安装与配置,WINDOWS下安装比较简单,如需WINDOWS下运行的用户可参考其他资料进行安装与配置。

[plain] view plaincopyprint?
01.tar -zxvf nginx-1.0.10.tar.gz 
02.cd nginx-1.0.10 
03../configure 
04.make 
05.sudo make install 
tar -zxvf nginx-1.0.10.tar.gz
cd nginx-1.0.10
./configure
make
sudo make install

通过以上命令,NGINX将被默认安装到。/usr/local/nginx目录下,你可以通过./configure -help 查看linux下可选择的编译选项。此处不做描述。
NGINX的启动,停止与重启


NGINX启动、停止与重启可以通过发送系统信号给NGINX主进程的方式来进行,具体如下:
NGINX启动:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
-c参数指定了nginx启动加载的配置文件路径,当然这里可以不加此参数,默认启动nginx主目录下conf/nginx.conf


NGINX停止:kill - 信号类型 '/usr/local/nginx/logs/nginx.pid'
(1)从容停止NGINX
        kill - QUIT NGINX主进程号

        或 kill -QUIT '/usr/local/nginx/logs/logs/nginx.pid'




(2)快速停止NGINX

        kill - INT NGINX主进程号
        或 kill -TERM /usr/local/nginx/logs/nginx.pid

        kill - INT NGINX主进程号
        或 kill -TERM /usr/local/nginx/logs/nginx.pid

(3)强制停止NGINX进程

        kill -9 nginx




(4)NGINX平滑重启
        kill -HUP NGINX主进程号
        或 kill -HUP '/usr/local/nginx/logs/nginx.pid'


NGINX的信号控制:
        TERM, INT 快速关闭
        QUIT 从容关闭
        HUP 从容重启
        USR1 重新打开日志文件,在切割日志时用途较大
        USR2 平滑升级可执行程序
        WINCH 从容关闭工作进程


NGINX的平滑升级


我们可以采用同样的方式通过发送系统信号给NGINX主进程,来对正在运行中的NGINX升级、添加、删除服务器模块等,可以在不中断服务的情况下使用新版本,重新编译新版本的NGINX替换旧版本的可执行程序,具体步骤如下:
(1)使用新的可执行替换旧的可执行程序,替换之前,最好备份一下就版本的可执行程序,以便替换过程中如有问题及时回滚。

(2)发送系统信号给NGINX主进程
        kill -USR2 旧版本的NGINX主进程号

(3)旧版本的NGINX主进程将重命名它的pid文件为*.oldbin(/usr/local/nginx/logs/nginx.pid.oldbin),然后执行新版本的NGINX程序,一次启动新的主进程和新的工作进程。

(4)此时,新旧版本的NGINX进程会同时运行,共同处理输入的请求,要逐步停止旧版本的NGINX实例,必须发送系统信号给旧的主进程,如下:
        kill -WINCH 旧的NGINX主进程号

(5)一段时间后,旧的工作进程(worker process)处理了已链接的所有请求后从容退出,仅有新的新的工作进程来处理输入请求。

(6)这时候,我们就可以决定是使用新版本,还是恢复到旧版本。


(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容