什么是Nginx?
1、Nginx概述
1.1、Nginx介紹
Nginx是一款輕量級(jí)的web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力在同類(lèi)型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好,中國(guó)大陸使用nginx的網(wǎng)站有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。
Nginx是由伊戈?duì)枴べ愃饕?/strong>為俄羅斯訪問(wèn)量第二的Rambler.ru站點(diǎn)(俄文: Paw6nep)開(kāi)發(fā)的,第一個(gè)公開(kāi)版本0.1.0發(fā)布于2004年10月4日。
官網(wǎng): https://nginx.org/
1.2、Nginx下載和安裝
- 下載:
可以到Nginx官方網(wǎng)站下載Nginx的安裝包,地址為: https://nginx.org/en/download.html
- 安裝:
安裝過(guò)程:
1、安裝依賴(lài)包:yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
2、下載Nginx安裝包:wget https://nginx.org/download/nginx-1.16.1.tar.gz(也可以在Windows中下載之后進(jìn)行上傳)
3、解壓:tar -zxvf nginx-1.16.1.tar.gz
4、進(jìn)入解壓目錄:cd nginx-1.16.1
5、指定安裝路徑,并進(jìn)行檢查和配置:./configure --prefix=/usr/local/nginx
(提前創(chuàng)建/usr/local/nginx目錄:mkdir -p /usr/local/nginx)
6、正式安裝:make && make install
1.3、Nginx目錄結(jié)構(gòu)
重點(diǎn)目錄/文件:
目錄 | 作用 |
---|---|
conf/nginx.conf | nginx配置文件 |
html | 存放靜態(tài)文件(html、css、Js等) |
logs | 日志目錄,存放日志文件 |
sbin/nginx | 二進(jìn)制文件,用于啟動(dòng)、停止Nginx服務(wù) |
樹(shù)形結(jié)構(gòu)展示nginx目錄:
2、Nginx命令
2.1、查看版本
./nginx -v
使用上述命令的時(shí)候要切換到sbin目錄下。
2.2、檢查配置文件正確性
在啟動(dòng)Nginx服務(wù)之前,可以先檢查一下conf/nginx.conf文件配置的是否有錯(cuò)誤,命令如下:
./nginx -t
2.3、啟動(dòng)和停止
啟動(dòng)Nginx服務(wù)使用如下命令:
./nginx
停止Nginx服務(wù)使用如下命令:
./nginx -s stop
啟動(dòng)完成后可以查看Nginx進(jìn)程:
ps -ef| grep nginx
2.4、重新加載配置文件
當(dāng)修改Nginx配置文件后,需要重新加載才能生效,可以使用下面命令重新加載配置文件:
./nginx -s reload
2.5、環(huán)境變量的配置
在/etc/profile配置文件下追加下面的路徑:
3、Nginx配置文件結(jié)構(gòu)
整體結(jié)構(gòu):
Nginx配置文件(conf/nginx.conf)整體分為三部分:
- 全局塊:和Nginx運(yùn)行相關(guān)的全局配置
- events塊:和網(wǎng)絡(luò)連接相關(guān)的配置
-
http塊:代理、緩存、日志記錄、虛擬主機(jī)配置
- http全局塊
- Server塊
- Server全局塊
- location塊
注意: http塊中可以配置多個(gè)Server塊,每個(gè)Server塊中可以配置多個(gè)location塊。
4、Nginx具體應(yīng)用
4.1、部署靜態(tài)資源
Nginx可以作為靜態(tài)web服務(wù)器來(lái)部署靜態(tài)資源。靜態(tài)資源指在服務(wù)端真實(shí)存在并且能夠直接展示的一些文件,比如常見(jiàn)的html頁(yè)面、css文件、js文件、圖片、視頻等資源。
相對(duì)于Tomcat,Nginx處理靜態(tài)資源的能力更加高效,所以在生產(chǎn)環(huán)境下,一般都會(huì)將靜態(tài)資源部署到Nginx中。將靜態(tài)資源部署到Nginx非常簡(jiǎn)單,只需要將文件復(fù)制到Nginx安裝目錄下的html目錄中即可.
端口等設(shè)置的簡(jiǎn)介如下:
4.2、反向代理
- 正向代理
是一個(gè)位于客戶(hù)端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶(hù)端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶(hù)端。
正向代理的典型用途是為在防火墻內(nèi)的局域網(wǎng)客戶(hù)端提供訪問(wèn)Internet的途徑。
正向代理一般是在客戶(hù)端設(shè)置代理服務(wù)器,通過(guò)代理服務(wù)器轉(zhuǎn)發(fā)請(qǐng)求,最終訪問(wèn)到目標(biāo)服務(wù)器。
- 反向代理
反向代理服務(wù)器位于用戶(hù)與目標(biāo)服務(wù)器之間,但是對(duì)于用戶(hù)而言,反向代理服務(wù)器就相當(dāng)于目標(biāo)服務(wù)器,即用戶(hù)直接訪問(wèn)反向代理服務(wù)器就可以獲得目標(biāo)服務(wù)器的資源,反向代理服務(wù)器負(fù)責(zé)將請(qǐng)求轉(zhuǎn)發(fā)給目標(biāo)服務(wù)器
用戶(hù)不需要知道目標(biāo)服務(wù)器的地址,也無(wú)須在用戶(hù)端作任何設(shè)定。(無(wú)感知,而正向是知道服務(wù)器在哪的)
- 反向代理的配置
如上圖設(shè)置反向代理之后,在本機(jī)82端口中的請(qǐng)求會(huì)被代理到192.168.138.101:8080的服務(wù)器中。
4.3、負(fù)載均衡
早期的網(wǎng)站流量和業(yè)務(wù)功能都比較簡(jiǎn)單,單臺(tái)服務(wù)器就可以滿足基本需求,但是隨著互聯(lián)網(wǎng)的發(fā)展業(yè)務(wù)流量越來(lái)越大并且業(yè)務(wù)邏輯也越來(lái)越復(fù)雜,單臺(tái)服務(wù)器的性能及單點(diǎn)故障問(wèn)題就凸顯出來(lái)了,因此需要多臺(tái)服務(wù)器組成應(yīng)用集群,進(jìn)行性能的水平擴(kuò)展以及避免單點(diǎn)故障出現(xiàn)。
- 應(yīng)用集群:將同一應(yīng)用部署到多臺(tái)機(jī)器上,組成應(yīng)用集群,接收負(fù)載均衡器分發(fā)的請(qǐng)求,進(jìn)行業(yè)務(wù)處理并返回響應(yīng)數(shù)據(jù)
- 負(fù)載均衡器:將用戶(hù)請(qǐng)求根據(jù)對(duì)應(yīng)的負(fù)載均衡算法分發(fā)到應(yīng)用集群中的一臺(tái)服務(wù)器進(jìn)行處理
- 負(fù)載均衡的配置
負(fù)載均衡的策略:
名稱(chēng) | 說(shuō)明 |
---|---|
輪詢(xún) | 默認(rèn)方式 |
weight | 權(quán)重方式(數(shù)值越大分發(fā)到的幾率越大) |
ip_hash | 依據(jù)ip分配方式 |
least_conn | 依據(jù)最少連接方式 |
url_hash | 依據(jù)url分配方式 |
fair | 依據(jù)響應(yīng)時(shí)間方式 |
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-695917.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-695917.html
到了這里,關(guān)于Nginx從安裝到使用,反向代理,負(fù)載均衡的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!