选择源码下载编译安装 Nginx 主要是出于以下原因:
- 定制功能:源码编译安装允许用户根据需求定制 Nginx 的功能。通过编译安装,可以选择性地启用或禁用特定的模块,以满足特定的应用场景和需求。
- 系统优化:源码编译安装可以更好地与系统优化结合。由于 Nginx 是在系统上进行编译的,因此可以更好地适应系统的硬件和性能特性,从而提高 Nginx 的运行效率。
- 第三方模块支持:源码编译安装允许用户添加第三方模块,从而扩展 Nginx 的功能。这些第三方模块可以提供额外的功能,如负载均衡、安全增强等,以满足更复杂的应用需求。
- 控制版本:源码编译安装允许用户选择并控制安装的 Nginx 版本。这对于需要特定版本以兼容旧系统或应用程序的用户来说非常重要。
需要注意的是,源码编译安装相对较为复杂,需要一定的技术背景和经验。同时,编译安装也需要一定的时间,因为需要从源码开始编译生成可执行文件。因此,在选择源码编译安装时,需要权衡其带来的优势与可能的额外成本。
安装编译环境及相关
sudo yum install -y gcc make pcre-devel zlib-devel openssl-devel
下载Nginx 1.24.0版本源代码
进入Nginx官网https://nginx.org/en/download.html 将Nginx 1.24.0的源代码链接复制到终端中进行下载,如下所示:
wget https://nginx.org/download/nginx-1.24.0.tar.gz
Nginx的源版本有很多选择,可以根据自己的需求寻找适合自己的版本
解压并进入nginx1.20.1源码目录
tar -zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
配置并编译Nginx源代码
为nginx的编译过程设置一些参数
sudo ./configure --prefix=/usr/local/nginx --with-http_ssl_module
用户以超级用户的权限来编译项目的源代码代码如下
sudo make
sudo make install
超级用户的权限将编译完成的程序或库文件安装到系统的标准目录中,以便系统能够正常运行这些程序或利用这些库文件
启动nginx :sudo nginx
会遇到的报错问题
这时会遇到报错
#永久会话中生效:
vi /etc/profile
添加以下内容:
PATH=$PATH:/usr/local/nginx/sbin
export PATH
PS:遇到一个问题,nginx页面可以访问,但是在systemctl status nginx 里却没有nginx.server
手动创建nginx系统服务:
1 vim /etc/systemd/system/nginx.service
输入以下内容:
-----------------------------------------------------------------------
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
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=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
运行以下命令来重新加载 systemd 守护程序并启动 Nginx 服务:
sudo systemctl daemon-reload
sudo systemctl start nginx
若要确保 Nginx 在系统启动时自动启动,运行以下命令:
systemctl status nginx
running代表启动Nginx成功
验证
最后可以在虚拟机的火狐浏览器中输入127.0.0.1检验是否成功
本人小白,纯粹作业,借鉴了一下前辈的格式,如有相似,还请原谅,抱歉,如果需要可以私信修改。