最新消息: 新版网站上线了!!!

Nginx安装和配置

我的安装环境是CentOS 5.5,使用的是源码包的安装方式。在安装前先做好一点准备,主要是GCC的编译工具,以及模块的依赖需要的第三方的库。gizp模块需要zlib库(压缩),rewrite模块需要pcre库(Perl库,包括 perl 兼容的正规表达式库),ssl模块需要openssl库。这里直接用yum安装就可以了:

yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel

下载Nginx源码包,1.2.2是目前的最新稳定版本:

wget http://nginx.org/download/nginx-1.2.2.tar.gz

 

解压源码包,在编译安装前,我们可以看下Nginx的可以编译的选项:

tar zxvf nginx-1.2.2.tar.gz
cd nginx-1.2.2
./configure --help

可以看到Nginx的configure脚本支持的选项非常多,比如–prefix –sbin-path –conf-path= –error-log-path等等,都有详细的说明,可以根据需求自定义添加选项编译。然后就可以直接编译安装了:

./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --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/

make

make install

如果没有nginx的组和用户,不要忘了添加:

groupadd nginx
useradd -g nginx nginx

没有报错,安装完成,下面就来对Nginx的服务进行操作,主要是启动,停止和平滑启动,下面是Nginx支持的几种控制信号:

  • TERM,INT 快速关闭
  • QUIT 从容关闭
  • HUP 平滑重启,重新加载配置文件
  • USR1 重新打开日志文件
  • USR2 平滑升级可执行文件
  • WINCH 从容关闭工作进程

启动Nginx,如果要指定配置文件路径,则添加 ‘-c’函数,如果不添加,Nginx会加载默认安装conf子目录中的nginx.conf文件:

nginx

或者

/usr/sbin/nginx

没有报错,那么就正常启动了,来查看一下进程,master process为主进程,worker process为子进程:

ps -ef " grep nginx
root      9877     1  0 07:55 ?        00:00:00 nginx: master process nginx
nginx     9878  9877  0 07:55 ?        00:00:00 nginx: worker process
root      9880  3185  0 07:56 pts/0    00:00:00 grep nginx

从容停止

kill -QUIT 9877

快速停止

kill -TERM 9877

或者

kill -INT 9877

强制停止所有Nginx进程

pkill -9 nginx

平滑重启

在修改了配置文件以后,要重启Nginx,可以通过发送系统信号给主进程来进行,在重启之前,为了Nginx能正确加载到新的配置文件,要确认配置文件是否正确:

nginx -t -c /etc/nginx/nginx.conf

如果没有提示错误信息,则可以开始执行重启了:

kill -HUP 9877

好了,Nginx安装配置到此完成。

转载请注明:谷谷点程序 » Nginx安装和配置