由于項目遷移至.NetCore 做分布式服務,Ocelot和Nginx之間選擇最后使用了Nginx作為網關和負載均衡服務,下面簡述Nginx安裝教程,后期陸續把負載均衡,路路由重寫,限流 健康檢查等配置寫出來 本次使用環境為Centos7。
1. Nginx簡介
Nginx是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP代理服務器,因它的穩定性,豐富的功能集,配置簡單和低系統資源的消耗而聞名
Nginx的最大特點是是對高并發的支持和高效的負載均衡
2. Nginx的特點
?熱部署
master管理進程與worker工作進程的分離設計,在7*24小時不間斷的前提下,升級nginx的可執行文件,也可以在不停止服務的情況下修改配置文件,更換日志文件等內容
.高并發連接
官方測試單臺nginx能夠支撐5萬并發連接,在實際生產環境中可 以達到2-3萬并發連接
?內存消耗少
在一般情況下,10000個非活躍的HTTP keep-Alive連接在Nginx中僅消耗2.5M內存,這是Nginx支持高并發連接的基礎
?支持Rewrite重寫規則
能夠根據域名URL的不同,將HTTP請求分發到不同的后端服務器群組
?成本低廉
Nginx作為開源免費軟件,可以免費使用
**?內置的健康檢查 **
如果Nginx Proxy后端的某臺Web服務宕機了,不會影響前端的訪問
3. Nginx的安裝
廢話不多說,
一、安裝依賴 nginx安裝需要從官網下載源碼進行編譯,所以要依賴一些編譯環境。
//編譯依賴gcc環境
.yum install gcc
// nginx的http模塊使用pcre來解析正則表達式,所以需要在linux上
安裝pcre庫
.yum install pcre-devel
// zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包
的內容進行gzip,所以需要在linux上安裝zlib庫。
.yum install zlib zlib-devel
//OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼
算法、常用的密鑰和證書封裝管理功能及SSL協議,并提供豐富的
應用程序供測試或其它目的使用,nginx不僅支持http協議,還支持
https(即在ssl協議上傳輸http),所以需要在linux安裝openssl
庫。
.yum install openssl openssl-devel
一鍵安裝所需要的依賴庫
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre````
二、下載和解壓nginx
cd /usr/local //進入local目錄
mkdir nginx //創建一個文件夾
cd nginx //進入nginx目錄
//下載tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
//解壓
tar -zxvf nginx-1.13.7.tar.gz
三、安裝 nginx
//進入nginx解壓目錄
cd /usr/local/nginx/nginx-1.13.7
//配置 執行命令 --prefix 綁定安裝目錄 安裝目錄可以自己指定可
以和下載目錄不同,這里制定為/usr/local/nginx 不寫 --prefix= 會
使用默認安裝目錄
./configure --prefix=/usr/local/nginx
//執行make命令 編譯
make
//執行make install命令 安裝
make install
四、查看安裝路徑并進入
[root@localhost nginx-1.13.7]# whereis nginx
nginx: /usr/local/nginx
//進入nginx安裝目錄
[root@localhost nginx-1.13.7]# cd /usr/local/nginx
五.安裝完成啟動測試
//進入nginx執行目錄
cd sbin
//啟動Nginx
sudo ./nginx
由于Cenots操作系統原因需要把nginx監聽目錄在防火墻內配置 這里
直接關閉操作系統防火墻
systemctl stop firewalld.service
nginx默認監聽端口為80
此時在windows內網電腦上訪問ip:80端口會出現Nginx默認界面 或者在Linux的圖形界面瀏覽上輸入locashost
表示Nginx安裝成功
nginx的基本操作
啟動 [root@localhost ~]
/usr/local/nginx/sbin/nginx
停止/重啟 [root@localhost ~]
/usr/local/nginx/sbin/nginx -s stop(quit、reload)
命令幫助
[root@localhost ~]# /usr/local/nginx/sbin/nginx -h
驗證配置文件
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
配置文件
[root@localhost ~]#
vim /usr/local/nginx/conf/nginx.conf
下篇會介紹nginx的配置文件
?
原文 https://www.toutiao.com/i6555007893697987075/
···