如何在Linux系統(tǒng)中安裝Nginx

如何在Linux系統(tǒng)中安裝Nginx?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),榕江企業(yè)網(wǎng)站建設(shè),榕江品牌網(wǎng)站建設(shè),網(wǎng)站定制,榕江網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,榕江網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

什么是Linux系統(tǒng)

Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。

使用系統(tǒng)二進(jìn)制源方式安裝

在Ubuntu/Debian系

sudo apt-get install nginx

或者RedHat/CentOS系

sudo yum install nginx

這種方式最簡單的,最快捷的方式,但是不是最好的方式,下面我們來說這種主要問題。

優(yōu)點(diǎn)

  • 所有安裝二進(jìn)制依賴已經(jīng)處理好了,不用擔(dān)心兼容性問題,開箱即用

  • Nginx的連接配置,用戶權(quán)限這個(gè)都不用處理,已經(jīng)幫你寫好這塊了

  • 不用擔(dān)心Nginx Bug維護(hù)升級(jí)問題,直接獲取最新系統(tǒng)就可以了

  • 卸載簡單,直接一個(gè)命令即可

  • 日志維護(hù)簡單,自動(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ì)推薦使用這中方式安裝,不用考慮編譯依賴問題,直接安裝完就可以使用。但是如果你這個(gè)服務(wù)器是用于生產(chǎn)環(huán)境正在開發(fā)逐步完善的過程,不推薦使用這種方式。將來可能會(huì)添加第三方模塊,到時(shí)肯定要編譯安裝(下面會(huì)說到)。在重啟服務(wù)器的時(shí)候,不要使用root用戶,而是使用sudo短暫獲取root。如果你這條服務(wù)器都是用來部署一些靜態(tài)文件,主要做一些web空間,平常主要用ftp工具部署文件,用這種方式肯定沒什么問題的。

編譯安裝

優(yōu)缺點(diǎn),我就不寫了,基本就是上面的顛倒過來就可以了。使用這種方法安裝,都必須懂一點(diǎn)Linux編譯知識(shí),Linux中度用戶才可以駕馭。我看見網(wǎng)上大多數(shù)教程,都是將編譯依賴直接裝在/usr/local/這種方式并不好。如果將來我們要卸載這些依賴,發(fā)現(xiàn)非常麻煩。并不是直接在目類下直接刪除就可以完事的,有些Linux發(fā)行版本,會(huì)將安裝文件,寫入配置文件中,這些配置文件有不知道哪里找。如果依賴版本影響到其他軟件,怎么處理版本問題。我們只想安裝Nginx,結(jié)果延申出一大堆問題。

編譯環(huán)境準(zhǔn)備

在開始之前,保證你的Linux準(zhǔn)備了gcc、make、wget,g++ 這些軟件。

創(chuàng)建一個(gè)目類用來存放下載文件,進(jìn)入目錄中下載依賴庫源文件

下載openssl主要用于ssl模塊加密,支持htps

wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz

下載pcre來實(shí)現(xiàn)對(duì)地址重定向,地址重寫功能和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),連接處理方法和模塊列表。該腳本通過創(chuàng)建編譯代碼和安裝Nginx開源所需的Makefile來完成。

參數(shù)描述
–prefix=<PATH>Nginx安裝目錄,以及有其他配置腳本選項(xiàng)的路徑設(shè)置的所有相對(duì)路徑的基本位置。默認(rèn)值/usr/local/nginx
–sbin-path=<PATHNginx二進(jìn)制執(zhí)行文件的名稱,默認(rèn)值:<prefix>/sbin/nginx
–conf-path=<PATH>Nginx配置文件的名稱。但是,您可以通過在nginx命令行上使用選項(xiàng)指定其他文件來始終在啟動(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=namenginx運(yùn)行進(jìn)程的擁有者用戶組。安裝后,可以使用NGINX配置文件中的user指令更改名稱。默認(rèn)值:–user選項(xiàng)設(shè)置的值
–with-pcre=<PATH>PCRE庫源代碼的路徑,這是位置指令和Rewrite模塊中正則表達(dá)式支持所必需的
–with-pcre-jit使用“即時(shí)編譯”支持(pcre_jit指令)構(gòu)建PCRE庫
–with-zlib=<PATH>zlib庫的源代碼路徑,Gzip模塊需要該路徑
–with-http_ssl_modul啟用HTTPS支持
–with-http_v2_module開啟 HTTP/2請(qǐng)求支持

還要太多編譯參數(shù)我就不一一列舉,有興趣的同學(xué)可以自己去

nginx官網(wǎng)參看

編譯安裝

./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

輸出以下信息,說明依賴沒問題

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)長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

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

本文名稱:如何在Linux系統(tǒng)中安裝Nginx
分享路徑:http://bm7419.com/article4/ijppie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、品牌網(wǎng)站制作網(wǎng)站改版、關(guān)鍵詞優(yōu)化建站公司、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司