Linux(阿里雲)系統下安裝nginx詳細步驟


前言:

在實際開發項目中有可能會經常用到nginx,你們也許會拿它做負載均衡,或者轉發請求做動靜分離,用來加載前端項目;或者解決跨域的問題等等,今天這篇文章就講解下在Linux下如何安裝nginx。

正文:

nginx官網下載:http://nginx.org/en/download.html

 

 這里我們下載Linux穩定版

一、安裝前准備,我們先檢驗下系統是否安裝g++、gcc、openssl-devel、pcre-devel和zlib-devel,這些安裝nginx所需要的依賴包。

yum list installed | grep gcc //這個指令既可以檢查gcc又可以檢查g++
yum list installed | grep openssl-devel
yum list installed | grep pcre-devel
yum list installed | grep zlib-devel

知識補充:

因為Linux下軟件安裝的方式很多,沒有一個通用的方式查看軟件包是否安裝,所以總結下來就是這幾類。

  1. rpm包安裝的,可以用 rpm -qa 看到,如果要查找某軟件包是否安裝,用 rpm -qa | grep "軟件或者包的名字"
  2.  以deb包安裝的,可以用 dpkg -l 看到。如果是查找指定軟件包,用 dpkg -l | grep "軟件或者包的名字"
  3. yum方法安裝的,可以用 yum list installed 查找,如果是查找指定包,用 yum list installed | grep "軟件名或者包名"
  4. 如果是以源碼包自己編譯安裝的,例如.tar.gz或者tar.bz2形式的,這個只能看可執行文件是否存在了。

我經常用的安裝方式是yum安裝依賴包,tar去安裝軟件包,比如安裝nginx。

運行結果如下圖:

如果沒有安裝的話,就先安裝一下。

1、gcc安裝

安裝nginx需要將nginx的源碼進行編譯,編譯依賴gcc環境,所以需要安裝gcc,指令:

yum install gcc-c++

2、 pcre pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫,指令:

yum install -y pcre pcre-devel

3、 zlib 安裝
zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫,指令:

yum install -y zlib zlib-devel

4、 openSSL 安裝

OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程序供測試或其它目的使用。
nginx 不僅支持 http 協議,還支持 https(即在ssl協議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫,指令:

yum install -y openssl openssl-devel

二、准備好上面的依賴環境就可以正式安裝啦

1、把安裝包通過xftp上傳到服務器/usr/local目錄下

2、 然后解壓,指令

tar -zxvf nginx-1.18.0.tar.gz

知識補充:

源碼的安裝一般由3個步驟組成:配置(configure)、編譯(make)、安裝(make install)。

執行這幾個命令時一定要到解壓后的nginx文件夾下執行(這里是/usr/local/nginx-1.18.0下)

3、配置,--prefix是指定安裝的位置,執行編譯、安裝(make,make install)成功后,生成的配置文件(conf文件夾)和啟動文件(sbin文件夾)等會放到生成的nginx這個文件夾里(nginx文件夾的名字是可以自定義的),這樣做的好處就是方便以后的維護。指令:

./configure --prefix=/usr/local/nginx

4、編譯,指令:

make

5、安裝,指令:

make install

6、執行完上面的命令后,你在指定的文件夾里的找到了生成的conf和sbin文件,就說明基本安裝成功。(_temp是啟動后生成的文件)

 

 7、然后進到conf里改下配置文件nginx.conf,如果你有root權限,端口可以設置成80(nginx默認端口號),但是如果你沒有root權限建議把端口改成,1024以上的端口,比如8081。(在Linux下,默認端口號在1024以下的程序是要在root下才能使用的,在其他用戶下,如果嘗試使用將會報錯)

 指令:

cd /usr/local/nginx/conf
//編輯配置文件
vi nginx.conf 
i
esc->:wq

8、進到sbin文件后,

啟動nginx,指令:

./nginx

關閉 nginx,指令:

./nginx -s stop
或
./nginx -s quit

重啟 nginx,指令:

./nginx -s reload

9、啟動完成后,通過以下指令查看是否啟動成功

ps -ef|grep nginx

出現如下圖的,就證明啟動成功啦!

 

 

 10、想要本地看到nginx的主頁,需要讓運維映射下外網ip和端口或者配一下windows下的跳板機(一般情況下,工作中的服務器是內網地址,無法直接訪問,所以要做下映射),這樣就可以通過瀏覽器訪問nginx的主頁。

常見安裝中出現的問題:

一、如果出現下面的問題,就是說相應的安裝包缺失,用yum安裝相應的包就行。

這里缺失的是pcre-devel

二、如果出現下面的問題,要不是端口被占用,要不就是權限不夠不能用1024下的端口(nginx默認80)

參考文章:

https://blog.csdn.net/huangyimo/article/details/80760908

https://www.cnblogs.com/hdnav/p/7941165.html

https://www.cnblogs.com/yuanqiangfei/p/8033000.html

https://blog.csdn.net/jdk_wangtaida/article/details/88571920?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&dist_request_id=b5ac0f1d-b3dc-4597-9077-515d479013c6&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control

總結:實踐是檢驗真理的唯一標准,親測可用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM