本文示例在虛擬機 Rocky Linux 8.5 系統中編譯安裝 Nginx 開源版軟體,
- 關于虛擬機 Rocky Linux 8.5 系統的安裝配置教程可參考這篇文章:VMware 虛擬機圖文安裝和配置 Rocky Linux 8.5 教程
- Nginx 開源版軟體官網:https://nginx.org,當前最新版本是:1.21.6,下載鏈接:https://nginx.org/download/nginx-1.21.6.tar.gz
1. 下載并解壓
# dnf install -y wget
wget https://nginx.org/download/nginx-1.21.6.tar.gz
tar -zxvf nginx-1.21.6.tar.gz
2. 依賴檢查和編譯安裝
2.1 配置檢查依賴庫并創建 Makefile
cd nginx-1.21.6
# --prefix 引數配置表示將 make install 將會把 nginx 安裝到該目錄中去
./configure --prefix=/usr/local/nginx
若提示“./configure: error: C compiler cc is not found”表示缺少 C 編譯器 cc 依賴:

安裝缺少的 C 編譯器 cc 依賴:
dnf install -y gcc
安裝成功之后,如果沒有再缺少其他的依賴的話,configure 應該是可以繼續進行的了,我們再次檢查一下:
./configure --prefix=/usr/local/nginx
還是缺少 PCRE 依賴庫:

安裝缺少的 PCRE 依賴庫:
dnf install -y pcre pcre-devel
安裝成功之后,再次檢查一下:
./configure --prefix=/usr/local/nginx
依然缺少 zlib 依賴庫:

安裝缺少的 zlib 依賴庫:
dnf install -y zlib zlib-devel
安裝成功之后,再次檢查一下:
./configure --prefix=/usr/local/nginx
不再缺少依賴,配置檢查依賴庫并創建 Makefile 成功,配置結果如下:

2.2 編譯安裝
make
make install
2.3 洗掉原始碼安裝包(可選)
cd ..
rm -rf nginx-1.21.6 nginx-1.21.6.tar.gz
3. 關閉防火墻
3.1 關閉防火墻
systemctl stop firewalld.service
3.2 禁止開機自啟
systemctl disable firewalld.service
3.3 放行埠
如果不想關閉防火墻的話,可以考慮放行埠:
firewall-cmd --zone=public --add-port=80/tcp --permanent
然后重啟防火墻,讓它生效:
firewall-cmd --reload
4. 啟動 Nginx
4.1 啟動 Nginx
cd /usr/local/nginx/sbin/
./nginx
打開瀏覽器,地址欄輸入 http://<虛擬機 IP>,查看 nginx 是否啟動成功:

出現以上“Welcome to nginx!”頁面時,即提示 nginx 已啟動成功!
4.2 常用相關命令
./nginx # 啟動
./nginx -s stop # 快速停止
./nginx -s quit # 優雅關閉退出,在退出前先完成已經接受的連接請求
./nginx -s reload # 重新加載配置
5. 安裝成系統服務
5.1 創建 Nginx 系統服務腳本
vim /usr/lib/systemd/system/nginx.service
i 輸入以下內容:
[Unit]
Description=nginx - web server
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=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
:wq 保存退出,
5.2 重新加載系統服務
systemctl daemon-reload
5.3 啟動 Nginx 系統服務
先停掉前面 4.1 小節中手動啟動的 Nginx 行程:
# cd /usr/local/nginx/sbin
./nginx -s stop
啟動 Nginx 系統服務:
systemctl start nginx.service
查看啟動狀態:
systemctl status nginx.service

查看 Nginx 行程:
ps -ef | grep nginx

5.4 設定開機自啟
systemctl enable nginx.service
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/476839.html
標籤:Linux
上一篇:防止計時器多次更新計數器變數
下一篇:linux命令_find
