
注意编译源码和采用yum等方式安装nginx默认的存放路径可能不同。当make安装完nginx后查看进程可见master等进程存在但systemctl status命令不能用找不到nginx.service也找不到/var/log/nginx/error.log这是因为源代码手动编译安装的./configure make make install默认安装路径是/usr/local/nginx。只能用/usr/local/nginx/sbin/nginx -s reload/stop或者去/usr/local/nginx/logs/access.logsystemctl管理服务依赖于/etc/systemd/system/目录下的.service配置文件需要创建/etc/systemd/system/nginx.service文件[Unit] DescriptionThe NGINX HTTP and reverse proxy server Afternetwork.target [Service] Typeforking PIDFile/usr/local/nginx/logs/nginx.pid ExecStartPre/usr/local/nginx/sbin/nginx -t ExecStart/usr/local/nginx/sbin/nginx ExecReload/usr/local/nginx/sbin/nginx -s reload ExecStop/bin/kill -s QUIT $MAINPID [Install] WantedBymulti-user.target然后就可以使用systemctl这些常用命令了sudo systemctl daemon-reload sudo systemctl enable nginx # 设置开机自启 sudo systemctl start nginx # 启动服务 sudo systemctl status nginx # 现在就能正常查看状态了验证nginx方法命令示例主要用途服务状态sudo systemctl status nginx最全面查看服务整体运行状态进程检查ps aux | grep nginx确认Nginx进程是否存在端口检查sudo ss -tulpn | grep nginx确认Nginx是否在监听预期端口配置测试sudo nginx -t测试配置文件语法是否正确日志查看sudo tail -f /var/log/nginx/error.log排查启动或运行时的错误curl -I http://localhost HTTP/1.1 200 OK Server: nginx/1.20.2 ss -tulpn | grep :80 tcp LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:((nginx,pid210461,fd6),(nginx,pid210460,fd6))除了安装成功后以后可能需要修改配置文件每次修改完后都尽量测试和重新加载查看修改是否正确和生效nginx的生效与否可能涉及服务器防火墙的端口保护规则firewall-cmd --list-all # 查看当前开放端口 public (active) interfaces: eth0 ports: 20/tcp 21/tcp 22/tcp 80/tcp 443/tcp 8888/tcp 20916/tcp 39000-40000/tcp firewall-cmd --add-port80/tcp --permanent # 开放80端口 firewall-cmd --reload这两个网站用来在公网查看是否有开放端口Open Port Check Tool - Test Port Forwarding on Your Router