Linux中安裝Nginx的正確步驟
前言
如果你和我一樣,作為一個(gè)苦逼的Java后臺(tái)除了實(shí)現(xiàn)實(shí)現(xiàn)一大堆項(xiàng)目功能,還要兼顧項(xiàng)目的部署,運(yùn)維工作。在新的服務(wù)器上安裝新Nginx,在安裝之前看下網(wǎng)上的教程,面對(duì)五花八門(mén)的教程,各式各樣的安裝方法,心里總會(huì)嘀咕什么方式才是最好的,或者說(shuō)什么方法才是最適合自己的?下面我們一起來(lái)分析Nginx各種安裝方式,分別適合于那種情況。
使用系統(tǒng)二進(jìn)制源方式安裝
在Ubuntu/Debian系
sudo apt-get install nginx
或者RedHat/CentOS系
sudo yum install nginx
這種方式最簡(jiǎn)單的,最快捷的方式,但是不是最好的方式,下面我們來(lái)說(shuō)這種主要問(wèn)題。
優(yōu)點(diǎn)
- 所有安裝二進(jìn)制依賴已經(jīng)處理好了,不用擔(dān)心兼容性問(wèn)題,開(kāi)箱即用
- Nginx的連接配置,用戶權(quán)限這個(gè)都不用處理,已經(jīng)幫你寫(xiě)好這塊了
- 不用擔(dān)心Nginx Bug維護(hù)升級(jí)問(wèn)題,直接獲取最新系統(tǒng)就可以了
- 卸載簡(jiǎn)單,直接一個(gè)命令即可
- 日志維護(hù)簡(jiǎn)單,自動(dòng)截?cái)喈?dāng)天日志,壓縮保存
缺點(diǎn)
- 不能自主選擇安裝版本
- 不能自主選擇編譯的模塊
- 擴(kuò)展功能變得很麻煩,需要重新編譯
- 目類結(jié)構(gòu)復(fù)雜,配置文件在/etc/下,部署文件在/var/www
- 重啟服務(wù),修改配置都需要root權(quán)限
- 性能差一點(diǎn)編譯安裝
如果你是一個(gè)Linux新手,絕對(duì)推薦使用這中方式安裝,不用考慮編譯依賴問(wèn)題,直接安裝完就可以使用。但是如果你這個(gè)服務(wù)器是用于生產(chǎn)環(huán)境正在開(kāi)發(fā)逐步完善的過(guò)程,不推薦使用這種方式。將來(lái)可能會(huì)添加第三方模塊,到時(shí)肯定要編譯安裝(下面會(huì)說(shuō)到)。在重啟服務(wù)器的時(shí)候,不要使用root用戶,而是使用sudo短暫獲取root。如果你這條服務(wù)器都是用來(lái)部署一些靜態(tài)文件,主要做一些web空間,平常主要用ftp工具部署文件,用這種方式肯定沒(méi)什么問(wèn)題的。
編譯安裝
優(yōu)缺點(diǎn),我就不寫(xiě)了,基本就是上面的顛倒過(guò)來(lái)就可以了。使用這種方法安裝,都必須懂一點(diǎn)Linux編譯知識(shí),Linux中度用戶才可以駕馭。我看見(jiàn)網(wǎng)上大多數(shù)教程,都是將編譯依賴直接裝在/usr/local/這種方式并不好。如果將來(lái)我們要卸載這些依賴,發(fā)現(xiàn)非常麻煩。并不是直接在目類下直接刪除就可以完事的,有些Linux發(fā)行版本,會(huì)將安裝文件,寫(xiě)入配置文件中,這些配置文件有不知道哪里找。如果依賴版本影響到其他軟件,怎么處理版本問(wèn)題。我們只想安裝Nginx,結(jié)果延申出一大堆問(wèn)題。
編譯環(huán)境準(zhǔn)備
在開(kāi)始之前,保證你的Linux準(zhǔn)備了gcc、make、wget,g++ 這些軟件。
創(chuàng)建一個(gè)目類用來(lái)存放下載文件,進(jìn)入目錄中下載依賴庫(kù)源文件
下載openssl主要用于ssl模塊加密,支持htps
wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
下載pcre來(lái)實(shí)現(xiàn)對(duì)地址重定向,地址重寫(xiě)功能和localtion指令以及正則表達(dá)式的支持
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
編譯選項(xiàng)
使用./configure設(shè)置各種Nginx參數(shù)的腳本,包括源和配置文件的路徑,編譯器選項(xiàng),連接處理方法和模塊列表。該腳本通過(guò)創(chuàng)建編譯代碼和安裝Nginx開(kāi)源所需的Makefile來(lái)完成。
| 參數(shù) | 描述 |
|---|---|
| –prefix=<PATH> | Nginx安裝目錄,以及有其他配置腳本選項(xiàng)的路徑設(shè)置的所有相對(duì)路徑的基本位置。默認(rèn)值/usr/local/nginx |
| –sbin-path=<PATH | Nginx二進(jìn)制執(zhí)行文件的名稱,默認(rèn)值:<prefix>/sbin/nginx |
| –conf-path=<PATH> | Nginx配置文件的名稱。但是,您可以通過(guò)在nginx命令行上使用選項(xiàng)指定其他文件來(lái)始終在啟動(dòng)時(shí)覆蓋此值。默認(rèn)值:<prefix> conf / nginx.conf-c <FILENAME> |
| –pid-path=<PATH> | nginx.pid文件的名稱,用于存儲(chǔ)nginx主進(jìn)程的進(jìn)程ID 。安裝后,可以使用Nginx配置文件中的pid指令更改文件名的路徑。默認(rèn)值:<prefix> /logs/nginx.pid |
| –error-log-path=<PATH> | error,warn和診斷數(shù)據(jù)的日志文件的名稱。安裝后,可以使用Nginx配置文件中的error_log指令更改文件名。默認(rèn)值:<prefix> /logs/error.log |
| –http-log-path=<PATH> | HTTP服務(wù)器請(qǐng)求的主日志文件的名稱。安裝后,始終可以使用Nginx配置文件中的access_log指令更改文件名。默認(rèn)值:<prefix> /logs/access.log |
| –user=<NAME> | Nginx運(yùn)行進(jìn)程的擁有者。安裝后,可以使用Nginx配置文件中的user指令更改名稱。默認(rèn):nobody |
| –group=name | nginx運(yùn)行進(jìn)程的擁有者用戶組。安裝后,可以使用NGINX配置文件中的user指令更改名稱。默認(rèn)值:–user選項(xiàng)設(shè)置的值 |
| –with-pcre=<PATH> | PCRE庫(kù)源代碼的路徑,這是位置指令和Rewrite模塊中正則表達(dá)式支持所必需的 |
| –with-pcre-jit | 使用“即時(shí)編譯”支持(pcre_jit指令)構(gòu)建PCRE庫(kù) |
| –with-zlib=<PATH> | zlib庫(kù)的源代碼路徑,Gzip模塊需要該路徑 |
| –with-http_ssl_modul | 啟用HTTPS支持 |
| –with-http_v2_module | 開(kāi)啟 HTTP/2請(qǐng)求支持 |
還要太多編譯參數(shù)我就不一一列舉,有興趣的同學(xué)可以自己去
編譯安裝
./configure \ --with-openssl=../openssl-1.0.2s \ --with-pcre=../pcre-8.43 \ --with-zlib=../zlib-1.2.11 \ --with-pcre-jit --user=admin \ --prefix=/home/admin/nginx \ --with-http_ssl_module \ --with-http_v2_module
輸出以下信息,說(shuō)明依賴沒(méi)問(wèn)題
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
設(shè)置權(quán)限
因?yàn)長(zhǎng)inux設(shè)置普通用戶,不能占用1024一下的端口,直接啟動(dòng)nginx會(huì)出現(xiàn)權(quán)限不足的錯(cuò)誤。將nginx分配給root用戶,在分配特殊權(quán)限。
sudo chown root nginx sudo chmod u+s nginx
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Linux centos7環(huán)境下Nginx安裝教程
這篇文章主要為大家詳細(xì)介紹了Linux centos7環(huán)境下Nginx安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
windows系統(tǒng)下關(guān)閉Nignx的多種方式總結(jié)
這篇文章主要給大家總結(jié)介紹了windows系統(tǒng)下關(guān)閉Nignx的多種方式, 在Windows中啟動(dòng)Nginx是簡(jiǎn)單的,但有許多小伙伴不會(huì)關(guān)閉,這里給大家介紹下,需要的朋友可以參考下2023-08-08
排查Openresty獲取不到Host請(qǐng)求頭解決過(guò)程詳解
這篇文章主要為大家介紹了排查Openresty獲取不到Host請(qǐng)求頭解決過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
nginx提示:500 Internal Server Error錯(cuò)誤解決辦法
這篇文章主要介紹了 nginx提示:500 Internal Server Error錯(cuò)誤解決辦法的相關(guān)資料,這里提供了解決該問(wèn)題的詳細(xì)步驟,希望能幫助到大家,需要的朋友可以參考下2017-08-08
Nginx可視化管理軟件NginxProxyManager的使用
NginxProxyManager是一款基于Nginx的開(kāi)源可視化管理工具,支持通過(guò)WebUI簡(jiǎn)易管理Nginx服務(wù)器,支持DockerCompose快速部署在Linux、Windows、macOS上,提供SSL證書(shū)獲取、多代理管理等功能,感興趣的可以了解一下2024-11-11
使用nginx進(jìn)行負(fù)載均衡的搭建全過(guò)程
負(fù)載均衡用于從“upstream”模塊定義的后端服務(wù)器列表中選取一臺(tái)服務(wù)器接受用戶的請(qǐng)求,下面這篇文章主要給大家介紹了關(guān)于使用nginx進(jìn)行負(fù)載均衡的搭建全過(guò)程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
nginx限制并發(fā)連接請(qǐng)求數(shù)的方法
這篇文章主要介紹了nginx限制并發(fā)連接請(qǐng)求數(shù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Nginx中虛擬主機(jī)與指定訪問(wèn)路徑的設(shè)置方法講解
這篇文章主要介紹了Nginx中虛擬主機(jī)與指定訪問(wèn)路徑的設(shè)置方法講解,也是在同一個(gè)Nginx程序中部署多個(gè)站點(diǎn)的基本方法,需要的朋友可以參考下2016-03-03
Nginx更換ssl證書(shū)不生效的問(wèn)題解決
本文主要介紹了Nginx配置中更換SSL證書(shū)后,新證書(shū)不生效的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12

