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