RedHat 9.0 使用源代码编译安装nginx1.20.2
目录
前言
除了 Apache,Linux系统中还常常使用另一款Web服务器软件nginx,它最显著的特点是对连接高并发业务提供很好的支持。最新版本的nginx是以源代码形式发布的,可以到其官网 http://nginx.org/download/上下载Linux版本相应的源代码包有tar.gz和zip两种格式,这里下载tr.gz格式的源代码包,以下nginx的版本为1.20.2。
一、环境准备工作
1、关闭防火墙
systemctl stop firewalld
2、关闭selinux:编辑/etc/selinux/config文件,把selinux状态改为disabled
view /etc/selinux/config
3、在/usr/local创建nginx目录
cd /usr/local
mkdir nginx
二、相关配置文件下载及解压缩文件
1、下载相关依赖包
yum install -y gcc make pcre-devel zlib-devel openssl-devel
2、下载1.20.2版本的nginx源代码包:
wget -c http://nginx.org/download/nginx-1.20.2.tar.gz
3、执行以下命令对其解压缩:
tar -xzf nginx-1.20.2.tar.gz -C /usr/local/nginx
4、进入nginx-1.20.2目录
cd /usr/local/nginx/nginx-1.20.2
5、 执行configure脚本生成编译配置文件Makefile:
--prefix=/usr/local/nginx指定安装路径;--with-http_ssl_module表示启用SSL支持。
./configure --prefix=/usr/local/nginx --with-http_ssl_module
6、编辑安装:执行命令make编译源代码,执行make install安装软件。至此完成nginx 的编译安装。
make && install make
7、生成Makefile文件
三、测试nginx
1、启动nginx
/usr/local/nginx/sbin/nginx
查看进程:
ps -ef | grep nginx
2、测试nginx:通过浏览器输入服务器IP访问nginx网页 (输入当前虚拟机ip)
四、设置nginx开机自启服务
1、在/usr/lib/systemd/system目录下创建一个nginx.service文本文件
vi /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx -high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2、设置开机自启
systemctl start nginx.service
systemctl enable nginx.service
五、总结
在源代码安装 Nginx 的过程中,需要注意以下几点:
依赖管理:确保安装所有必要的依赖库,缺少任何一个都可能导致编译失败。
权限问题:在安装和配置过程中,注意文件和目录的权限设置,确保 Nginx 进程有适当的访问权限。
配置文件:仔细检查和修改配置文件,以满足特定的应用需求。错误的配置可能导致服务无法正常运行。
日志和错误排查:关注 Nginx 的日志文件(如 error.log 和 access.log),以便及时发现问题并进行排查。
版本兼容性:确保下载的 Nginx 源代码版本与操作系统版本兼容。
通过源代码安装 Nginx,可以更深入地了解 Nginx 的内部工作机制,并且可以根据需要进行定制和优化。然而,这也需要更多的时间和专业知识,因为需要手动处理依赖关系和配置过程。
总结经验,体会教训,才能成为明日之星。PS:点点赞吧,家银们!
作者:mjq&&dyt