我的安装环境是 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 安装配置到此完成。

转载请注明: 转载自Ryan 是菜鸟 | LNMP 技术栈笔记

如果觉得本篇文章对您十分有益,何不 打赏一下

谢谢打赏

本文链接地址: Nginx 安装和配置-Nginx 学习笔记(一)

知识共享许可协议 本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可