[学习笔记]在Linux中使用源码编译的方式安装Nginx
Posted 林 小
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[学习笔记]在Linux中使用源码编译的方式安装Nginx相关的知识,希望对你有一定的参考价值。
准备工作
准备nginx源码包:
http://nginx.org/en/download.html
准备相关的依赖包以及环境:
gzip 模块需要 zlib 库 http://www.zlib.net/rewrite
模块需要 pcre 库http://www.pcre.org/
若开启ssl 功能则需要 openssl 库https://www.openssl.org/source/
如果没有安装gcc-c++,需要安装它,运行如下命令:
安装完成:
用上传工具将安装包拷贝到Home的任意目录下
将这几个文件拷贝至/usr目录下:
安装openssl-3.0.2:
回到/usr目录下运行:
如果出现 Can\'t locate IPC/Cmd.pm 这样的错误如下图
则根据这篇文章安装相关模块
安装pcre-8.45:
回到/usr目录下运行:
安装zlib-1.2.11:
回到/usr目录下运行:
安装nginx
回到/usr目录下运行:
configure的时候会验证安装环境,若依赖包环境安装不全则可能出现如下错误
通过所有检测:
运行:
等待编译完成,运行whereis查看nginx安装目录:
运行下面语句,将执行二进制软链接到/usr/sbin/nginx目录下:
安装成功
将nginx写入系统服务
运行下面语句在 /usr/lib/systemd/system/目录下建立服务描述文件nginx.service:
输入下面内容并保存
运行如下命令,重新加载配置文件和.service文件:
可以看到 服务已经被加载进来了
之后就可以启用服务或者添加到启动项了
最后一步别忘了开启防火墙80端口的访问:
成功启动:
Troubleshooting
1. 如果端口被占用,则无法运行nginx,默认nginx是通过80端口访问的,所以需要排查端口占用的程序:
2. 如果systemd有报错,可以通过如下命令查看
3. 默认情况下日志记录在syslog,如果看报错详细,可以通过如下命令查看
4. 如果有类似Can\'t open PID file /run/nginx.pid 这样的报错,需要修改nginx.service 中pid文件的路径为实际pid的路径,具体路径在nginx.conf中查看:
运行下面命令:
将ExecStartPre与PIDFile项改为如下:
全文完
以上是关于[学习笔记]在Linux中使用源码编译的方式安装Nginx的主要内容,如果未能解决你的问题,请参考以下文章