irpas技术客

[学习笔记]在Linux中使用源码编译的方式安装Nginx_林晓lx_linux编译安装nginx

网络投稿 3225

准备工作

准备nginx源码包:

nginx: downloadhttp://nginx.org/en/download.html准备相关的依赖包以及环境: gzip 模块需要 zlib 库??zlib Home Sitehttp://·/show_bug.cgi?id=1268621 ExecStartPre=/usr/bin/rm -f /run/nginx.pid ExecStartPre=/usr/sbin/nginx -t ExecStart=/usr/sbin/nginx ExecReload=/bin/kill -s HUP $MAINPID KillSignal=SIGQUIT TimeoutStopSec=5 KillMode=mixed PrivateTmp=true [Install] WantedBy=multi-user.target

运行如下命令,重新加载配置文件和.service文件:

sudo systemctl daemon-reload

可以看到 服务已经被加载进来了

之后就可以启用服务或者添加到启动项了

sudo systemctl start nginx.service sudo systemctl enable nginx.service

最后一步别忘了开启防火墙80端口的访问:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent sudo firewall-cmd --reload

?成功启动:

?

Troubleshooting

1. 如果端口被占用,则无法运行nginx,默认nginx是通过80端口访问的,所以需要排查端口占用的程序:

netstat -tunlp

2. 如果systemd有报错,可以通过如下命令查看

sudo journalctl -fu ?nginx.service

3. 默认情况下日志记录在syslog,如果看报错详细,可以通过如下命令查看

sudo cat /var/log/messages

4. 如果有类似Can't open PID file /run/nginx.pid??这样的报错,需要修改nginx.service 中pid文件的路径为实际pid的路径,具体路径在nginx.conf中查看:

运行下面命令:

sudo vi /usr/lib/systemd/system/nginx.service

将ExecStartPre与PIDFile项改为如下:

ExecStartPre=/usr/bin/rm -f /usr/local/nginx/logs/nginx.pid PIDFile=/usr/local/nginx/logs/nginx.pid

全文完 ?


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #linux编译安装nginx #rpm #DNF