溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux怎么編譯安裝nginx

發布時間:2021-07-15 15:42:59 來源:億速云 閱讀:205 作者:chen 欄目:大數據
# Linux怎么編譯安裝Nginx

## 前言

Nginx是一款高性能的HTTP和反向代理服務器,以其穩定性、豐富的功能集和低資源消耗而聞名。雖然大多數Linux發行版提供預編譯的Nginx包,但通過源碼編譯安裝可以獲得以下優勢:

1. 使用最新版本(官方源可能滯后)
2. 自定義模塊和功能
3. 優化特定硬件環境
4. 深度定制安裝路徑

本文將詳細介紹從源碼編譯安裝Nginx的完整流程。

---

## 一、準備工作

### 1.1 系統要求
- Linux操作系統(本文以Ubuntu 22.04/CentOS 7為例)
- root或sudo權限
- 至少100MB可用磁盤空間
- 基礎開發工具

### 1.2 安裝依賴項

```bash
# Ubuntu/Debian
sudo apt update
sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev \
libssl-dev wget git

# CentOS/RHEL
sudo yum groupinstall -y "Development Tools"
sudo yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel wget

1.3 下載Nginx源碼

推薦從官網獲取穩定版:

wget https://nginx.org/download/nginx-1.25.3.tar.gz
tar -zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3

二、配置編譯選項

2.1 基本配置

運行configure腳本檢測系統環境:

./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-threads

2.2 常用可選模塊

模塊名稱 作用 參數
http_gzip_module Gzip壓縮支持 --with-http_gzip_static_module
http_geoip_module 地理定位 需先安裝GeoIP庫
http_image_filter_module 圖像處理 需先安裝GD庫
stream_module TCP/UDP代理 --with-stream

2.3 第三方模塊添加

例如添加echo-nginx-module

git clone https://github.com/openresty/echo-nginx-module.git
./configure --add-module=../echo-nginx-module

三、編譯與安裝

3.1 執行編譯

make -j$(nproc)  # 使用所有CPU核心加速編譯

3.2 安裝到系統

sudo make install

3.3 創建系統用戶

sudo useradd -r -s /sbin/nologin nginx

四、系統集成

4.1 環境變量配置

echo 'export PATH=/usr/local/nginx/sbin:$PATH' >> ~/.bashrc
source ~/.bashrc

4.2 創建Systemd服務

創建/lib/systemd/system/nginx.service

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MNPID
PrivateTmp=true
User=nginx
Group=nginx

[Install]
WantedBy=multi-user.target

啟用服務:

sudo systemctl daemon-reload
sudo systemctl enable nginx
sudo systemctl start nginx

五、驗證安裝

5.1 檢查版本

nginx -v

5.2 測試配置文件

nginx -t

5.3 訪問測試頁

瀏覽器訪問 http://服務器IP 應看到歡迎頁面。


六、常見問題解決

6.1 端口沖突

如果80端口被占用:

sudo netstat -tulnp | grep 80
kill -9 <PID>

6.2 權限問題

sudo chown -R nginx:nginx /var/log/nginx

6.3 模塊加載失敗

檢查編譯時是否包含所需模塊,重新編譯安裝。


七、升級與卸載

7.1 平滑升級

# 備份舊版本
cp /usr/sbin/nginx /usr/sbin/nginx.old

# 編譯新版本后執行
make install
kill -USR2 $(cat /var/run/nginx.pid)

7.2 完全卸載

sudo rm -rf /usr/local/nginx
sudo rm /usr/sbin/nginx
sudo rm -rf /etc/nginx

結語

通過源碼編譯安裝Nginx雖然步驟較多,但能獲得完全可控的定制化服務。建議生產環境使用此方式前,先在測試環境充分驗證。如需更簡便的安裝,可考慮OpenResty或官方預編譯包。

注意:本文所有操作應在理解命令含義后執行,不當操作可能導致系統服務異常。 “`

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女