NGINX指定启动的配置文件
若不指定安装路径,nginx默认安装在 /usr/local/nginx路径下。
若不指定nginx的配置文件,nginx默认启动找的是同级nginx更路径下的/conf/nginx.conf配置文件
但该配置文件的所在路径 以及文件名不是绝对的,可根据需要放置在不同的路径。胡根据业务场景修改配置文件名。
以下是一个好的示例,指定了配置文件的路径,修改了其名称(仅供参考)
#验证配置文件
/usr/local/nginx/sbin/nginx -tc /usr/local/nginx/conf/nginx_my.conf
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx_my.conf
#启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx_my.conf
#重启
/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx_my.conf
#停止
/usr/local/nginx/sbin/nginx -s stop -c /usr/local/nginx/conf/nginx_my.conf
启动nginx,运行sbin目录下nginx文件即可。启动nginx后可以通过-s
参数调用可执行与控制
。使用下面的语法:
nginx - s信号
stop
——快速关闭(我理解为强杀)quit
——优雅的关闭(nginx为一个主进程N个工作进程,优雅的关闭是指关闭没有工作中的工作进程,等待其他工作进程工作完毕后再将其关闭,最后关闭主进程。原因是防止客户端正在下载文件中,服务器关闭对客户端造成不必要的麻烦等类似问还是支付)reload
——重新加载配置文件reopen
——重启日志文件
例如,停止与等待nginx流程目前工作进程完成服务请求,可以执行下面的命令:
nginx -s quit
在配置文件中更改不会被应用到命令重新加载配置发送到nginx或是重新启动。重新加载配置,执行:
nginx -s reload
一旦主进程接收到信号重新加载配置,它检查语法新配置文件的有效性,并试图应用中提供的配置。如果这是一个成功,主进程开始新工作进程并将消息发送给旧的工作进程,请求他们关闭。否则,主进程回滚更改并继续使用旧的配置。旧的工作进程,接收命令关闭,停止接受新连接,继续服务当前请求,直到所有这样的请求提供服务。在那之后,旧的工作进程退出。
或者使用linux 信号量
一个信号也可以发送到nginx过程的帮助下Unix工具等kill
实用程序。在这种情况下一个信号是直接发送到一个过程与给定进程ID。nginx主进程的进程ID写,默认情况下,nginx.pid
在目录中/usr/local/nginx/logs
或/var/run
。例如,如果主进程ID是1628,发送退出信号导致nginx的优雅的关闭,执行:
命令语法如下
kill -s QUIT 1628
TERM, INT 快速关闭(等于nginx -s stop)
QUIT 优雅的关闭(等于nginx -s quit)
HUP 从新加载配置(等于nginx -s reload)
获取所有运行nginx进程列表,例如,在以下方式:
ps -ax | grep nginx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?