# Nginx怎么編譯并安裝
Nginx是一款高性能的HTTP和反向代理服務器,以其穩定性、豐富的功能集和低資源消耗而聞名。本文將詳細介紹如何從源代碼編譯并安裝Nginx。
## 準備工作
在開始編譯安裝之前,請確保系統已安裝必要的依賴工具和庫:
```bash
# Ubuntu/Debian
sudo apt update
sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
# CentOS/RHEL
sudo yum groupinstall "Development Tools"
sudo yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel
訪問Nginx官網下載最新穩定版(以1.25.3為例):
wget https://nginx.org/download/nginx-1.25.3.tar.gz
tar -zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3
運行configure
腳本配置編譯參數(常用選項):
./configure \
--prefix=/usr/local/nginx \ # 安裝目錄
--sbin-path=/usr/sbin/nginx \ # 可執行文件路徑
--conf-path=/etc/nginx/nginx.conf \ # 配置文件路徑
--pid-path=/var/run/nginx.pid \ # PID文件路徑
--with-http_ssl_module \ # 啟用SSL模塊
--with-http_v2_module \ # 啟用HTTP/2支持
--with-http_realip_module \ # 啟用真實IP模塊
--with-threads \ # 啟用線程支持
--with-stream # 啟用TCP/UDP代理
可通過./configure --help
查看所有可用選項。配置完成后會生成Makefile
文件。
make # 編譯
sudo make install # 安裝
安裝完成后,主要文件結構:
/usr/local/nginx/
├── sbin/nginx # 主程序
├── conf/nginx.conf # 主配置文件
├── logs/ # 日志目錄
└── html/ # 默認網頁目錄
檢查版本信息:
nginx -v
測試配置文件:
nginx -t
創建服務文件/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
TimeoutStopSec=5
KillMode=mixed
[Install]
WantedBy=multi-user.target
啟用服務:
sudo systemctl daemon-reload
sudo systemctl enable nginx
sudo systemctl start nginx
# 啟動
nginx 或 systemctl start nginx
# 停止
nginx -s stop 或 systemctl stop nginx
# 重載配置
nginx -s reload 或 systemctl reload nginx
# 重新打開日志文件
nginx -s reopen
如需添加第三方模塊(如echo模塊):
./configure \
--add-module=/path/to/ngx_http_echo_module \
[其他原有參數...]
如需卸載編譯安裝的Nginx:
sudo rm -rf /usr/local/nginx
sudo rm /usr/sbin/nginx
sudo rm /etc/nginx
/etc/nginx/nginx.conf
中的監聽端口通過以上步驟,您已成功從源代碼編譯安裝了Nginx。這種安裝方式雖然比直接使用包管理器復雜,但可以靈活定制功能模塊,適合有特定需求的用戶。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。