Nginx源碼編譯安裝過程記錄
rpm包安裝比較簡單,這里不做說明。
對(duì)于大多數(shù)開源軟件,如果找不到安裝包,可以使用源碼安裝方式,源碼安裝雖然沒有yum、apt等工具方便,但是非常通用,在不同架構(gòu)的cpu、不同操作系統(tǒng)的服務(wù)器上都可以使用這種方式。
使用源碼編譯安裝的一般方式,通常是去github上搜索對(duì)應(yīng)的軟件名稱,找到源碼,選擇適合的版本之后,查看源碼目錄下的readme.md文件(在github上這個(gè)文件其實(shí)就是這個(gè)源碼的說明文檔),如果readme.md里面沒有介紹編譯安裝或者構(gòu)建工程的步驟的說明,也會(huì)指明在哪里可以獲得對(duì)應(yīng)的文檔。也有部分軟件的構(gòu)建文檔是寫在一個(gè)名為INSTALL的文件中的,如果readme.md文檔沒有構(gòu)建說明,可以嘗試去尋找INSTALL文件。
對(duì)于C語言的軟件,通常源碼編譯的步驟為:
./configure
make
make install
通常./congfigure命令根據(jù)服務(wù)器cpu的架構(gòu)和操作系統(tǒng)檢查編譯環(huán)境,例如需要的依賴組件和庫文件是否安裝,也可以通過參數(shù)指定安裝位置和一些配置項(xiàng)
make命令可以通過-j參數(shù)指定cpu的核數(shù),使用的核越多編譯速度越快,例如對(duì)于8核的服務(wù)器,可以使用make -j8來加快編譯速度
make install進(jìn)行軟件安裝
對(duì)于nginx,源碼編譯安裝步驟如下:
wget https://nginx.org/download/nginx-1.14.2.tar.gz
tar -xvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure -prefix=/usr/local/nginx -with-http_ssl_module
make -j8
make install
/usr/local/nginx/sbin/nginx –v
在./configure時(shí)指定了安裝目錄為/usr/local/nginx,所以安裝后nginx命令在這個(gè)目錄下
如果需要部署靜態(tài)頁面例如html,將靜態(tài)文件資源上傳至/usr/local/nginx/html/目錄下。
編輯nginx配置文件/usr/local/nginx/conf/nginx.conf,將第二行的用戶修改為root,或者是當(dāng)前用戶。vim文本編輯其中輸入:set nu可以顯示行數(shù)。
取消第2行的注釋并將nobody修改為root:

如果web應(yīng)用需要支持上傳文件,需要設(shè)置上傳文件的上限,在18行添加:
client_max_body_size 100m;、

如果需要修改靜態(tài)資源的訪問端口,在37行修改即可,例如設(shè)置為8081:

如果需要支持請(qǐng)求轉(zhuǎn)發(fā)(比如在靜態(tài)資源中訪問后端接口,訪問/api的請(qǐng)求都轉(zhuǎn)發(fā)到端口18080上的應(yīng)用),在49行添加以下內(nèi)容:
location /chat/api{
proxy_pass http://127.0.0.1:18080/api;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
}

上文配置即將所有訪問路徑中包含/chat/api/的請(qǐng)求都轉(zhuǎn)發(fā)到http://127.0.0.1:18080/api,其中chat是部署的靜態(tài)資源目錄,最后兩行配置是用于支持websocket連接的,即ws協(xié)議。
通過這樣的配置,就可以做到web應(yīng)用的前后端分離,即前端靜態(tài)資源部署在8081端口,后端資源部署在18080端口。部署好之后,只需要啟動(dòng)nginx和18080端口上的應(yīng)用即可正常訪問web應(yīng)用。
到此這篇關(guān)于Nginx源碼編譯安裝的文章就介紹到這了,更多相關(guān)Nginx源碼編譯安裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Nginx http資源請(qǐng)求限制(三種方法)
這篇文章主要介紹了Nginx http資源請(qǐng)求限制,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05
Nginx報(bào)錯(cuò)host not found in upstream的解決辦法
本文主要介紹了Nginx報(bào)錯(cuò)host not found in upstream的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
CentOS 7.0下nginx實(shí)現(xiàn)每天定時(shí)分割日志
大家都知道Nginx產(chǎn)生的日志都是存在一個(gè)文件,隨著網(wǎng)站運(yùn)行時(shí)間越長,日志文件的大小也在不斷增長,所以這個(gè)時(shí)候就需要實(shí)現(xiàn)定時(shí)分割,這篇文章主要介紹了在CentOS 7.0下nginx實(shí)現(xiàn)每天定時(shí)分割日志的相關(guān)資料,需要的朋友可以參考下。2017-04-04
Nginx實(shí)現(xiàn)動(dòng)態(tài)封禁IP的步驟指南
在日常的生產(chǎn)環(huán)境中,網(wǎng)站可能會(huì)遭遇惡意請(qǐng)求、DDoS 攻擊或其他有害的訪問行為,為了應(yīng)對(duì)這些情況,動(dòng)態(tài)封禁 IP 是一項(xiàng)十分重要的安全策略,本篇博客將介紹如何通過 NGINX 實(shí)現(xiàn)動(dòng)態(tài)封禁 IP,從配置到自動(dòng)化的實(shí)現(xiàn)步驟,需要的朋友可以參考下2025-02-02
nginx反向代理用做內(nèi)網(wǎng)域名轉(zhuǎn)發(fā)
這篇文章主要為大家詳細(xì)介紹了nginx反向代理用做內(nèi)網(wǎng)域名轉(zhuǎn)發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
Nginx+SSL+Node.js運(yùn)行環(huán)境配置教程
這篇文章主要介紹了Nginx+SSL+Node.js運(yùn)行環(huán)境配置教程,本文用反向代理的方式代理基于Node.js的Web應(yīng)用,需要的朋友可以參考下2014-09-09
Nginx服務(wù)LNMP之WordPress部署流程步驟
這篇文章主要為大家介紹了Nginx服務(wù)LNMP之WordPress部署流程步驟,本實(shí)驗(yàn)意在部署過程,使用單機(jī)版部署,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-03-03

