nginx的安裝以及使用


Nginx的作用

  • 正向代理

代理客戶端,如vpn

  • 反向代理

代理服務端

  • 負載均衡

Nginx提供的負載均衡策略有2種:內置策略和擴展策略。內置策略為輪詢,加權輪詢,Ip hash。擴展策略,自定義負載均衡策略

輪詢

加權輪詢

ip hash

ip hash對客戶端請求的ip進行hash操作,然后根據hash結果將同一個客戶端ip的請求分發給同一台服務器進行處理,可以解決session不共享的問題。

img

  • 動靜分離

動靜分離,在我們的軟件開發中,有些請求是需要后台處理的,有些請求是不需要經過后台處理的(如:css、html、jpg、js等等文件),這些不需要經過后台處理的文件稱為靜態文件。讓動態網站里的動態網頁根據一定規則把不變的資源和經常變的資源區分開來,動靜資源做好了拆分以后,我們就可以根據靜態資源的特點將其做緩存操作。提高資源響應的速度。

如:如將vue打包生成的dist文件,部署到nginx中。

nginx的安裝

1、安裝gcc

安裝 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

5、下載安裝包

手動下載.tar.gz安裝包,地址:https://nginx.org/en/download.html

6、解壓並配置

tar -zxvf nginx-1.18.0.tar.gz 
cd nginx-1.18.0
./configure
make
make install

nginx常用的命令

cd /usr/local/nginx/sbin/
./nginx  啟動
./nginx -s stop  停止
./nginx -s quit  安全退出
./nginx -s reload  重新加載配置文件
ps aux|grep nginx  查看nginx進程

注意:如何連接不上,檢查阿里雲安全組是否開放端口,或者服務器防火牆是否開放端口!
相關命令:

# 開啟
service firewalld start
# 重啟
service firewalld restart
# 關閉
service firewalld stop
# 查看防火牆規則
firewall-cmd --list-all
# 查詢端口是否開放
firewall-cmd --query-port=8080/tcp
# 開放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp

#重啟防火牆(修改配置后要重啟防火牆)
firewall-cmd --reload

# 參數解釋
1、firwall-cmd:是Linux提供的操作firewall的一個工具;
2、--permanent:表示設置為持久;
3、--add-port:標識添加的端口;

反向代理+負載均衡實例

修改配置文件

upstream lb{   #手寫負載均衡
    server 127.0.0.1:8080 weight=1;
    server 127.0.0.1:8081 weight=1;
}

location / {
	#反向代理
    proxy_pass http://lb;
}


免責聲明!

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



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