Mac系统下确认Nginx运行状态的可靠方法及开机自启疑问
问题解答
1. 给定的ps结果是否说明Nginx正在运行?
是的,完全可以确认Nginx正在运行。从输出里能看到两个真实的Nginx服务进程:
0 74428 1 0 3:44PM ?? 0:00.01 nginx: master process nginx -c /usr/local/etc/nginx/nginx.conf:这是Nginx的主进程,负责管理配置和调度工作进程;-2 74483 74428 0 3:47PM ?? 0:00.00 nginx: worker process:这是Nginx的工作进程,负责处理实际的客户端请求;
最后一行的grep nginx是执行ps -ef | grep nginx这个命令本身产生的进程,不属于Nginx服务进程。
2. 还有哪些可靠方法可确认Nginx运行状态?
- 调用Nginx自带状态命令:如果Nginx配置了
status模块,执行nginx -s status(部分环境需指定配置文件路径,比如nginx -c /usr/local/etc/nginx/nginx.conf -s status);若已在配置文件中设置nginx_status的location,也可在浏览器访问http://localhost/nginx_status查看状态。 - 检查监听端口:用
lsof -i :80(或443,若启用HTTPS),输出中出现nginx进程则说明它在监听对应端口;也可执行netstat -an | grep LISTEN | grep ":80",确认80端口是否被监听。 - 通过包管理工具查看:如果是Homebrew安装的Nginx,执行
brew services list,查看nginx行的状态是否为started;MacPorts安装的话,用port status nginx查看状态。 - 访问默认页面:打开浏览器输入
http://localhost,若看到Nginx的默认欢迎页面,说明服务正常运行。
3. Nginx会在每次机器重启时自动重启吗?
这取决于你的安装方式和配置:
- Homebrew安装:执行过
brew services enable nginx后,机器重启Nginx会自动启动;若仅执行brew services start nginx未启用自启,重启后不会自动运行。 - 手动编译/解压安装:默认不会自动启动,需手动配置Mac的launchd服务:创建对应的
.plist配置文件,放到/Library/LaunchDaemons(全局生效)或~/Library/LaunchAgents(当前用户生效)目录,再用launchctl load命令加载配置,才能实现开机自启。 - MacPorts安装:执行
sudo port load nginx可设置开机自启,执行sudo port unload nginx取消自启。
内容的提问来源于stack exchange,提问作者SoftTimur
相关产品推荐
相关产品推荐

