使用系統二進制源方式安裝
在ubuntu/debian系
sudo?apt-get?install?nginx
或者redhat/centos系
sudo?yum?install?nginx
這種方式最簡單的,最快捷的方式,但是不是最好的方式,下面我們來說這種主要問題。
優點
-
所有安裝二進制依賴已經處理好了,不用擔心兼容性問題,開箱即用
-
nginx的連接配置,用戶權限這個都不用處理,已經幫你寫好這塊了
-
不用擔心nginx bug維護升級問題,直接獲取最新系統就可以了
-
卸載簡單,直接一個命令即可
-
日志維護簡單,自動截斷當天日志,壓縮保存
缺點
-
不能自主選擇安裝版本
-
不能自主選擇編譯的模塊
-
擴展功能變得很麻煩,需要重新編譯
-
目類結構復雜,配置文件在/etc/下,部署文件在/var/www
-
重啟服務,修改配置都需要root權限
-
性能差一點編譯安裝
如果你是一個linux新手,絕對推薦使用這中方式安裝,不用考慮編譯依賴問題,直接安裝完就可以使用。但是如果你這個服務器是用于生產環境正在開發逐步完善的過程,不推薦使用這種方式。將來可能會添加第三方模塊,到時肯定要編譯安裝(下面會說到)。在重啟服務器的時候,不要使用root用戶,而是使用sudo短暫獲取root。如果你這條服務器都是用來部署一些靜態文件,主要做一些web空間,平常主要用ftp工具部署文件,用這種方式肯定沒什么問題的。
編譯安裝
優缺點,我就不寫了,基本就是上面的顛倒過來就可以了。使用這種方法安裝,都必須懂一點linux編譯知識,linux中度用戶才可以駕馭。我看見網上大多數教程,都是將編譯依賴直接裝在/usr/local/這種方式并不好。如果將來我們要卸載這些依賴,發現非常麻煩。并不是直接在目類下直接刪除就可以完事的,有些linux發行版本,會將安裝文件,寫入配置文件中,這些配置文件有不知道哪里找。如果依賴版本影響到其他軟件,怎么處理版本問題。我們只想安裝nginx,結果延申出一大堆問題。
編譯環境準備
在開始之前,保證你的linux準備了gcc、make、wget,g++ 這些軟件。
創建一個目類用來存放下載文件,進入目錄中下載依賴庫源文件
下載openssl主要用于ssl模塊加密,支持htps
wget?https://www.openssl.org/source/openssl-1.0.2s.tar.gz
下載pcre來實現對地址重定向,地址重寫功能和localtion指令以及正則表達式的支持
wget?https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
下載zlib gzip壓縮模塊
wget?https://zlib.net/zlib-1.2.11.tar.gz
下載nginx
wget?http://nginx.org/download/nginx-1.17.1.tar.gz
使用tar 解壓所有的文件
ls?*.tar.gz?|?xargs?-n1?tar?xzvf
編譯選項
使用./configure設置各種nginx參數的腳本,包括源和配置文件的路徑,編譯器選項,連接處理方法和模塊列表。該腳本通過創建編譯代碼和安裝nginx開源所需的makefile來完成。
參數 | 描述 |
---|---|
–prefix= |
nginx安裝目錄,以及有其他配置腳本選項的路徑設置的所有相對路徑的基本位置。默認值/usr/local/nginx |
–sbin-path=nginx二進制執行文件的名稱,默認值:
| 輸出以下信息,說明依賴沒問題 configuration?summary ?+?using?pcre?library:?../pcre-8.43 ?+?using?openssl?library:?../openssl-1.0.2s ?+?using?zlib?library:?../zlib-1.2.11 ? ?nginx?path?prefix:?"/home/admin/nginx" ?nginx?binary?file:?"/home/admin/nginx/sbin/nginx" ?nginx?modules?path:?"/home/admin/nginx/modules" ?nginx?configuration?prefix:?"/home/admin/nginx/conf" ?nginx?configuration?file:?"/home/admin/nginx/conf/nginx.conf" ?nginx?pid?file:?"/home/admin/nginx/logs/nginx.pid" ?nginx?error?log?file:?"/home/admin/nginx/logs/error.log" ?nginx?http?access?log?file:?"/home/admin/nginx/logs/access.log" ?nginx?http?client?request?body?temporary?files:?"client_body_temp" ?nginx?http?proxy?temporary?files:?"proxy_temp" ?nginx?http?fastcgi?temporary?files:?"fastcgi_temp" ?nginx?http?uwsgi?temporary?files:?"uwsgi_temp" ?nginx?http?scgi?temporary?files:?"scgi_temp" 編譯 make 安裝 make?install 設置權限 因為linux設置普通用戶,不能占用1024一下的端口,直接啟動nginx會出現權限不足的錯誤。將nginx分配給root用戶,在分配特殊權限。 sudo?chown?root?nginx sudo?chmod?u+s?nginx ? 版權聲明 文章版權歸作者所有,未經允許請勿轉載。 THE END
喜歡就支持一下吧 相關推薦
|