nginx 1.22 編譯安裝以及依賴庫說明


Nginx是高度自由化的Web服務器,它的功能是由許多模塊來支持。如果使用了某個模塊,這個模塊使用了一些類似zlib或OpenSSL等的第三方庫,那么就必須先安裝這些軟件。centOS中使用yum直接在線安裝,可以使用以下方法。

(1)PCRE庫

PCRE庫支持正則表達式。如果我們在配置文件nginx.conf中使用了正則表達式,那么在編譯Nginx時就必須把PCRE庫編譯進Nginx,因為Nginx的HTTP模塊需要靠它來解析正則表達式。另外,pcre-devel是使用PCRE做二次開發時所需要的開發庫,包括頭文件等,這也是編譯Nginx所必須使用的。

(2)zlib庫
zlib庫用於對HTTP包的內容做gzip格式的壓縮,如果我們在nginx.conf中配置了gzip on,並指定對於某些類型(content-type)的HTTP響應使用gzip來進行壓縮以減少網絡傳輸量,則在編譯時就必須把zlib編譯進Nginx。zlib-devel是二次開發所需要的庫。

(3)OpenSSL庫
如果服務器不只是要支持HTTP,還需要在更安全的SSL協議上傳輸HTTP,那么需要擁有OpenSSL。另外,如果我們想使用MD5、SHA1等散列函數,那么也需要安裝它。

 

yum install -y pcre pcre-devel openssl openssl-devel zlib zlib-devel

 

 

附:編譯所需

yum install -y gcc gcc-c++

 

創建用戶nginx,以該用戶的身份執行nginx

useradd -s /bin/false -M www

 

編譯安裝NGINX

./configure --user=nginx \
--group=nginx \
--prefix=/usr/local/nginx/1.22.0 \
--conf-path=/usr/local/etc/nginx/1.22.0/nginx.conf \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_sub_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre

make並安裝

make && make install

 

編寫啟動腳本

[root@n1 ~]# vim  /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
PIDFile=/usr/local/nginx/1.22.0/logs/nginx.pid
ExecStartPost=/bin/sleep 0.1
ExecStartPre=/usr/local/nginx/1.22.0/sbin/nginx -t -c /usr/local/etc/nginx/1.22.0/nginx.conf
ExecStart=/usr/local/nginx/1.22.0/sbin/nginx -c /usr/local/etc/nginx/1.22.0/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

加入到開機啟動

systemctl enable nginx.service

 

 

最后防火牆關閉或者開啟80端口訪問。

修改 vim /usr/local/etc/nginx-1.22.0/nginx.conf  中 user 為 www

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM