Nginx原始碼編譯安裝過程記錄

2022-09-21 04:42:06 字數 1534 閱讀 6599

rpm包安裝比較簡單,這裡不做說明。

對於大多數開源軟體,如果找不到安裝包,可以使用原始碼安裝方式,原始碼安裝雖然沒有yum、apt等工具方便,但是非常通用,在不同架構的cpu、不同作業系統的伺服器上都可以使用這種方式。

使用原始碼編譯安裝的一般方式,通常是去github上搜尋對應的軟體名稱,找到原始碼,選擇適合的版本之後,檢視原始碼目錄下的readme.md檔案(在github上這個檔案其實就是這個原始碼的說明文件),如果readme.md裡面沒有介紹編譯安裝或者構建工程的步驟的說明,也會指明在**可以獲得對應的文件。也有部分軟體的構建文件是寫在乙個名為install的檔案中的,如果readme.md文件沒有構建說明,可以嘗試去尋找install檔案。

對於c語言的軟體,通常原始碼編譯的步驟為:

./configure 

make 

make install

通常./congfigure命令根據伺服器程式設計客棧cpu的架構和作業系統檢查編譯環境,例如需要的依賴元件和庫檔案是否安裝,也可以通過引數指定安裝位置和一些配置項

make命令可以通過-j引數指定cqwzoipu的核數,使用的核越多編譯速度越快,例如對於8核的伺服器,可以使用make -j8來加快編譯速度

make install進行軟體安裝

對於nginx,原始碼編譯安裝步驟如下:

在./configure時指定了安裝目錄為/usr/local/nginx,所以安裝後nginx命令在這個目錄下

如果需要部署靜態頁面例如html,將靜態檔案資源上傳至/usr/local/nginx/html/目錄下。

編輯nginx配置檔案/usr/local/nginx/conf/nginx.conf,將第二行的使用者修改為root,或者是當前使用者。vim文字編輯其中輸入:set nu可以顯示行數。

取消第2行的注釋並將nobody修改為root:

如果web應用需要支援上傳檔案,需要設定上程式設計客棧傳檔案的上限,在18行新增:

client_max_body_size 100m;、

如果需要修改靜態資源的訪問埠,在37行修改即可,例如設定為8081:

如果需要支援請求**(比如在靜態資源中訪問後端介面,訪問/api的請求都**到埠18080上的應用),在49行新增以下內容:

location /chat/api

上文配置即將所有訪問路徑中包含/程式設計客棧chat/api/的請求都**到其中chat是部署的靜態資源目錄,最後兩行配置是用於支援websocket連線的,即ws協議。

通過這樣的配置,就可以做到web應用的前後端分離,即前端靜態資源部署在8081埠,後端資源部署在18080埠。部署好之後,只需要啟動nginx和18080埠上的應用即可正常訪問web應用。

protobuf grpc原始碼編譯安裝過程

獲取原始碼 protobuf cpp 3.11.4.tar.gz 如果想要用git clone獲取原始碼,還需要多一步獲取子模組,請參考官方使用文件 readme.md 接下來,編譯並安裝protobuf 為了有序,我把安裝目錄設定為 usr local protobuf configure pre...

centos mariadb原始碼安裝過程

size medium wget 將原始碼複製或移動到 usr local src中 usr local src一般用來存放源 cp mariadb 5.5.37.tar.gz usr local src 二 新增mysql組的mysql使用者 1 建立mysql使用者組 grep mysql et...

原始碼編譯安裝Nginx

nginx在github上有乙個唯讀原始碼庫,我獲取的原始碼方式為 git clone cd nginx cp auto configure configure make sudo make install 預設安裝後nginx位於 usr local nginx 目錄下,nginx的配置檔案在 u...