
























我的Linux系统上的nginx版本是1.20.1,有用需要,现在需要升级高版本的nginx,因此使用源码安装NGINX最新版本。
第一先停止原来的nginx
linux 终端中输入:ps -aux|grep nginx
或者netstat -tunlp|grep nginx

或者输入:systemctl status nginx 查看状态

停止nginx :systemctl status nginx
下面安装最新的nginx--1.28.0版本
一、先安装依赖工具:
sudo yum install -y gcc gcc-c++ make automake autoconf libtool zlib-devel openssl-devel pcre-devel pcre2-devel
二、下载NGINX源码

终端 输入:
切换目录到tmp中下载的源码放置在/tmp下,系统重启后自动清理,避免残留
cd /tmp
下载源代码:
或者
下载之后,解压缩
tar -zxvf nginx-1.28.0.tar.gz
切换到解压缩文件目录
cd nginx-1.28.0
三、配置、编译、安装
预编译:
./configure
--prefix=/usr/share/nginx \ #用于指定NGINX安装后的根目录路径#
--sbin-path=/usr/sbin/nginx \ #用于指定NGINX主程序(二进制文件)的安装路径#
--conf-path=/etc/nginx/nginx.conf \ #用于指定NGINX主配置文件的安装位置#
--with-http_ssl_module \ #用于启用HTTPS协议支持#
--with-http_v2_module #启用HTTP/2协议#
输入:
./configure
--prefix=/usr/share/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--with-http_ssl_module \
--with-http_v2_module
这些编译参数只是简易版本,能够实现最基础的网页发布,旨在记录安装流程。
反向代理、负载均衡等功能需要另外添加参数。如下:

在我的Linux环境中预编译时有依赖项not found的部分,可以不用管,也可以根据提示自行处理。
经过了解,上述警告都属于常见警告,无需处理,只有crypt()在需要密码加密时才有用。
安装:
make && sudo make install
之后编译就顺利编译成功,
我们先暂时关闭防火墙
systemctl stop fiewalld
启动NGINX
systemctl stop nginx
或者切换到nginx所在的目录,启动,如:/usr/local/nginx/sbin/nginx 即可,
用浏览器访问到默认页面就说明安装成功
Welcome to nginx! 即表示成功
或者使用 wget localhost
或者使用 curl localhost
如果返回html中有Welcome to nginx! 即表示成功
如果无法访问,可能是防护墙的问题
开放端口(例如开放端口8080 TCP):
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
重新加载防火墙以应用更改:
sudo firewall-cmd --reload
还有一种是安装策略问题,需要设置enforce=0,这个只是暂时关闭安全策略。
sudo setenforce 0
关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
关闭iptables
iptables -F
关闭selinux
1、临时
getenforce
setenforce 0
2、永久
修改配置文件 vim /etc/selinux/config SELINUX=enforcing改为disabled
ELINUX=disabled
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。