Linux系統簡單源碼安裝NGINX版本1.28.0
我的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下,系統重啟后自動清理,避免殘留,找到nginx官網:https://nginx.org/en/download.html,選擇炫耀下載的nginx版本,右鍵復制下在鏈接,如果linux不能下載的話,可以先下載之后上傳到linux中。

終端 輸入:
切換目錄到tmp中下載的源碼放置在/tmp下,系統重啟后自動清理,避免殘留
cd /tmp
下載源代碼:
或者
curl https://nginx.org/download/nginx-1.28.0.tar.gz -P /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
龍騰一族至尊龍騎

浙公網安備 33010602011771號