Nginx的安装、启动、停止命令

本文详细介绍了在Linux环境下安装Nginx所需的各种依赖库,包括GCC、PCRE、zlib和OpenSSL,以及Nginx的安装、启动、配置测试和停止的命令行操作。同时,还提供了如何优雅地停止Nginx服务和平滑升级Nginx的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux上安装相关命令:

序号作用命令说明
1安装GCC编译器yum install -y gccGCC(GNU Compiler Collection)可用来编译C语言程序。Nginx不会直接提供二进制可执行程序,GCC是必需的编译工具
2安装PCRE库yum install -y pcre pcre-develPCRE(Perl Compatible Regular Expressions,Perl兼容正则表达式)是由Philip Hazel开发的函数库,目前为很多软件所使用,该库支持正则表达式。果我们在配置文件nginx.conf里使用了正则表达式,那么在编译Nginx时就必须把PCRE库编译进Nginx,因为Nginx的HTTP模块要靠它来解析正则表达式
3安装zlib库yum install -y zlib zlib-develzlib库用于对HTTP包的内容做gzip格式的压缩,如果我们在nginx.conf里配置了gzip on,并指定对于某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量,那么,在编译时就必须把zlib编译进Nginx
4安装OpenSSL开发库yum install -y openssl openssl-devel如果我们的服务器不只是要支持HTTP,还需要在更安全的SSL协议上传输HTTP,那么就需要拥有OpenSSL了。另外,如果我们想使用MD5、SHA1等散列函数,那么也需要安装它
5安装nginx

./configure

make

make install

进入nginx目录后,分别执行这三条命令


启动相关命令(以下命令在usr/local/nginx/sbin目录下执行):

序号作用命令说明
1默认方式启动./nginx会读取默认路径下的配置文件:usr/local/nginx/conf/nginx.conf。实际上,在没有显式指定nginx.conf配置文件路径时,将打开在configure命令执行时使用--conf-path=PATH指定的nginx.conf文件
2另行指定配置文件的启动方式./nginx -c tmpnginx.conf使用-c参数指定配置文件,这时,会读取-c参数后指定nginx.conf配置文件来启动Nginx。
3另行指定全局配置项的启动方式./nginx -g "pid varnginx/test.pid;"上面这行命令意味着会把pid文件写到varnginx/test.pid中.-g参数的约束条件是指定的配置项不能与默认路径下的nginx.conf中的配置项相冲突,否则无法启动。就像上例那样,类似这样的配置项:pid logs/nginx.pid,是不能存在于默认的nginx.conf中的.另一个约束条件是,以-g方式启动的Nginx服务执行其他命令行时,需要把-g参数也带上,否则可能出现配置项不匹配的情形(./nginx -g "pid varnginx/test.pid;" -s stop)
4测试配置信息是否有错误./nginx -t在不启动Nginx的情况下,使用-t参数仅测试配置文件是否有错误,执行结果中显示配置是否正确
5在测试配置阶段不输出信息./nginx -t -q测试配置选项时,使用-q参数可以不把error级别以下的信息输出到屏幕
6显示版本信息./nginx  -v使用-v参数显示Nginx的版本信息

 

停止相关命令(以下命令在usr/local/nginx/sbin目录下执行):

序号作用命令说明
1快速地停止服务./nginx -s stop使用-s stop可以强制停止Nginx服务。-s参数其实是告诉Nginx程序向正在运行的Nginx服务发送信号量,Nginx程序通过nginx.pid文件中得到master进程的进程ID,再向运行中的master进程发送TERM信号来快速地关闭Nginx服务
2直接通过kill命令来发送信号kill -s SIGTERM 10800先通过ps命令来查看nginx master的进程ID,再使用kill
3“优雅”地停止服务./nginx nginx -s quit

如果希望Nginx服务可以正常地处理完当前所有请求再停止服务,那么可以使用-s quit参数来停止服务。该命令与快速停止Nginx服务是有区别的。当快速停止服务时,worker进程与master进程在收到信号后会立刻跳出循环,退出进程。而“优雅”地停止服务时,首先会关闭监听端口,停止接收新的连接,然后把当前正在处理的连接全部处理完,最后再退出进程

4使运行中的Nginx重读配置项并生效./nginx -s reload在不启动Nginx的情况下,使用-t参数仅测试配置文件是否有错误,执行结果中显示配置是否正确
5平滑升级Nginxkill -s SIGUSR2 <nginx master pid>通知正在运行的旧版本Nginx准备升级。通过向master进程发送USR2信号可达到目的,运行中的Nginx会将pid文件重命名,如将usrlocal/nginx/logs/nginx.pid重命名为usrlocal/nginx/logs/nginx.pid.oldbin,这样新的Nginx才有可能启动成功。

 

参考文档:1.淘辉.深入理解Nginx模块开发与架构解析[M].机械工业出版社,2016(2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值