關(guān)于代理
正向代理:
客戶明確知道自己訪問(wèn)的網(wǎng)站是什么
隱藏客戶端的信息
目錄
關(guān)于代理
一、Nginx的安裝與配置
1、安裝依賴
2、安裝nginx
(1)上傳壓縮包到目錄 /usr/nginx里面
(2)解壓文件
(3)進(jìn)入到nginx的文件夾下面 進(jìn)行默認(rèn)的配置 ?./configure
(4) Make && make install
(5)Whereis nginx
(6)啟動(dòng)nginx
(7)查詢nginx進(jìn)程
(8)此頁(yè)面表示成功
二、配置反向代理
1、打包vue項(xiàng)目
2、反向代理
三、反向代理2
1、同時(shí)代理兩個(gè)時(shí),根據(jù)訪問(wèn)的路徑跳轉(zhuǎn)到不同端口的服務(wù)器中
2,路徑的正則表達(dá)式
四、Nginx配置負(fù)載均衡
1、克隆
2、啟動(dòng)項(xiàng)目
3、Nginx配置負(fù)載均衡
4、負(fù)載均衡的策略配置
1、輪詢(默認(rèn))
2、weight
3、ip_hash
4、fair(第三方)
五、動(dòng)靜分離
六、配置nginx開(kāi)機(jī)啟動(dòng)
前后端連接
客戶端和代理服務(wù)器 ?一起的
正向代理最大的特點(diǎn)是客戶端非常明確要訪問(wèn)的服務(wù)器地址
它代理的是客戶端,代客戶端發(fā)出請(qǐng)求
反向代理
客戶戶訪問(wèn)一個(gè)網(wǎng)站
?隱藏服務(wù)端的信息
服務(wù)端和代理服務(wù)器 一起的
反向代理的作用:
(1)保證內(nèi)網(wǎng)的安全,通常將反向代理作為公網(wǎng)訪問(wèn)地址,Web服務(wù)器是內(nèi)網(wǎng)
(2)負(fù)載均衡,通過(guò)反向代理服務(wù)器來(lái)優(yōu)化網(wǎng)站的負(fù)載
一、Nginx的安裝與配置
1、安裝依賴
gcc安裝
yum install -y gcc-c++
PCRE安裝:pcre是一個(gè)perl庫(kù),包括perl兼容的正則表達(dá)式庫(kù),nginx的http模塊使用pcre來(lái)解析正則表達(dá)式,所以需要安裝pcre庫(kù)。
安裝命令:yum install -y pcre pcre-devel
zlib安裝:zlib庫(kù)提供了很多種壓縮和解壓縮方式nginx使用zlib對(duì)http包的內(nèi)容進(jìn)行g(shù)zip,所以需要安裝
安裝命令:yum install -y zlib zlib-devel
OpenSSL安裝:penssl是web安全通信的基石,沒(méi)有openssl,可以說(shuō)我們的信息都是在裸奔,所以需要安裝
安裝命令:yum install -y openssl openssl-devel
如果以上命令執(zhí)行比較麻煩可以執(zhí)行如下命令
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
2、安裝nginx
(1)上傳壓縮包到目錄 /usr/nginx里面
或者聯(lián)網(wǎng)直接下載:
wget -c https://nginx.org/download/nginx-1.15.10.tar.gz
(2)解壓文件
tar -zxvf nginx-1.15.10.tar.gz
(3)進(jìn)入到nginx的文件夾下面 進(jìn)行默認(rèn)的配置 ?./configure
(4) Make && make install
(5)Whereis nginx
查看nginx的位置
(6)啟動(dòng)nginx
切換到?cd /usr/local/nginx/ sbin/ 下
./nginx 啟動(dòng) (前題防火墻必須關(guān))
./nginx -s reload 重新加載
?./nginx -s quit 此方式停止步驟是待nginx進(jìn)程處理任務(wù)完畢進(jìn)行停止。
[./nginx -s stop:此方式相當(dāng)于先查出nginx進(jìn)程id再使用kill命令強(qiáng)制殺掉進(jìn)程。(粗暴)
(7)查詢nginx進(jìn)程
ps aux|grep -v grep|grep nginx
ps -ef|grep -v grep|grep nginx
(8)此頁(yè)面表示成功
當(dāng)問(wèn)nginx默認(rèn)的端口號(hào)是80
二、配置反向代理
1、打包vue項(xiàng)目
?(1)修改配置文件????????目的:防止路徑出錯(cuò)
(2)路由模式:
Src/router/index.js
進(jìn)行打包
這是打包好的dist
2、反向代理
將dist上傳到linux的文件里
vim nginx.conf修改配置
修改完保存后重新加載
http://192.168.195.33/可以直接訪問(wèn)頁(yè)面
vim nginx.conf修改配置
訪問(wèn) 192.168.195.33的時(shí)候直接指向的是 192.168.195.34:8080
當(dāng)我們?cè)L問(wèn)nginx服務(wù)器的時(shí)候 ?直接指向的是 192.168.195.33:8080 這個(gè)地址
location /test2 {
proxy_pass http://192.168.159.34:8899/;
}
3.代理本地localhost:8080/
本地IP地址為172.16.2.76,啟動(dòng)本地的項(xiàng)目
linux是能通本地http://172.16.2.76:8080/user
本地也能通linux中的ip地址
修改nginx.conf的location
瀏覽器有數(shù)據(jù)代表成功
三、反向代理2
啟動(dòng)nginx
/usr/local/nginx/sbin/nginx
1、同時(shí)代理兩個(gè)時(shí),根據(jù)訪問(wèn)的路徑跳轉(zhuǎn)到不同端口的服務(wù)器中
nginx.conf添加一個(gè)linux的IP地址項(xiàng)目(啟動(dòng)好已打包好的java的jar包Linux03中)
添加好后保存退出vim,啟動(dòng)nginx或者重新加載nginx(/usr/local/nginx/sbin/nginx -s reload)
打開(kāi)項(xiàng)目可以看到不同的地址的頁(yè)面?192.168.195.33:8080
訪問(wèn)ngnix的test路徑的時(shí)候,代理到?172.16.2.76:8080
?訪問(wèn)ngnix的默認(rèn)路徑的時(shí)候,代理到?172.16.2.76:8080
2,路徑的正則表達(dá)式
1、= :用于不含正則表達(dá)式的 uri 前,要求請(qǐng)求字符串與 uri 嚴(yán)格匹配,如果匹配 成功,就停止繼續(xù)向下搜索并立即處理該請(qǐng)求。
2、~:用于表示 uri 包含正則表達(dá)式,并且區(qū)分大小寫(xiě)。
3、~*:用于表示 uri 包含正則表達(dá)式,并且不區(qū)分大小寫(xiě)。
4、^~:用于不含正則表達(dá)式的 uri 前,要求 Nginx 服務(wù)器找到標(biāo)識(shí) uri 和請(qǐng)求字 符串匹配度最高的 location 后,立即使用此 location 處理請(qǐng)求,而不再使用 location 塊中的正則 uri 和請(qǐng)求字符串做匹配。 注意:如果 uri 包含正則表達(dá)式,則必須要有 ~ 或者 ~* 標(biāo)識(shí)。
四、Nginx配置負(fù)載均衡
1、克隆
克隆兩個(gè)虛擬機(jī)這里可以稱為服務(wù)器(改好IP地址)
一個(gè)用于啟動(dòng)nginx,兩個(gè)用于運(yùn)行項(xiàng)目
2、啟動(dòng)項(xiàng)目
兩個(gè)服務(wù)器分別4啟動(dòng)項(xiàng)目
3、Nginx配置負(fù)載均衡
(1)nginx.conf配置
在http下配置這個(gè)(分別為兩個(gè)啟動(dòng)項(xiàng)目的ip)
aaa為名字,可以更改,改后location的也要改
location ,配置好后重新啟動(dòng)nginx
為了區(qū)分兩個(gè)項(xiàng)目也可以更改一些數(shù)據(jù)
打開(kāi)項(xiàng)目,注意訪問(wèn)的是http://192.168.195.33/user
通過(guò)代理默認(rèn)輪詢的訪問(wèn)34和35這兩個(gè)項(xiàng)目
第一次訪問(wèn)
第二次訪問(wèn),然后依次輪換
4、負(fù)載均衡的策略配置
1、輪詢(默認(rèn))
每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器 down 掉,能自動(dòng)剔除。
2、weight
、
(如果有10次訪問(wèn)就會(huì)訪問(wèn)9次34,1次35)
weight 代表權(quán)重默認(rèn)為 1,權(quán)重越高被分配的客戶端越多
指定輪詢幾率,weight 和訪問(wèn)比率成正比,用于后端服務(wù)器性能不均的情況
3、ip_hash
每個(gè)請(qǐng)求按訪問(wèn) ip 的 hash 結(jié)果分配,這樣每個(gè)訪客固定訪問(wèn)一個(gè)后端服務(wù)器,可以解決 session 的問(wèn)題。 例如:
upstream aaa{
ip_hash;
server 192.168.159.34:8080 ;
server 192.168.159.34:8081 ;
}
4、fair(第三方)
按后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配。
upstream aaa{
fair;
server 192.168.159.34:8080 ;
server 192.168.159.34:8081 ;
}
五、動(dòng)靜分離
Nginx 動(dòng)靜分離簡(jiǎn)單來(lái)說(shuō)就是把動(dòng)態(tài)跟靜態(tài)請(qǐng)求分開(kāi),不能理解成只是單純的把動(dòng)態(tài)頁(yè)面和 靜態(tài)頁(yè)面物理分離。嚴(yán)格意義上說(shuō)應(yīng)該是動(dòng)態(tài)請(qǐng)求跟靜態(tài)請(qǐng)求分開(kāi),可以理解成使用 Nginx 處理靜態(tài)頁(yè)面,Tomcat 處理動(dòng)態(tài)頁(yè)面。動(dòng)靜分離從目前實(shí)現(xiàn)角度來(lái)講大是純粹把靜態(tài)文件獨(dú)立成單獨(dú)的域名,放在獨(dú)立的服務(wù)器上,也是目前主流推崇的方案;
配置靜態(tài)資源:
(1)約定:
靜態(tài)資源 location / {}
可以訪問(wèn)的到,但數(shù)據(jù)
(2)也可以不遵循約定
location /名字的時(shí)候{
root??
}
必須在root對(duì)應(yīng)的目錄下面有這個(gè) 名字? 的文件夾,root 后面目錄就不用寫(xiě)這個(gè)文件夾了
location /dist {
root /usr/pro;
index index.html index.htm;
}
訪問(wèn)時(shí)也需要加這個(gè)名字
(3)也可以任意寫(xiě)名字
起別名,必須把root換成alias,后面的目錄正常寫(xiě)
location /aaa {
alias /usr/pro/dist;
index index.html index.htm;
}
alias 訪問(wèn)aaa的時(shí)候 其實(shí)訪問(wèn)的是 /usr/pro/dist
訪問(wèn)
六、配置nginx開(kāi)機(jī)啟動(dòng)
切換到/lib/systemd/system/目錄,創(chuàng)建nginx.service文件vim nginx.service
cd /lib/systemd/system/
vim nginx.service
添加內(nèi)容如下:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
配置之后需要使文件生效
systemctl daemon-reload
退出并保存文件,執(zhí)行systemctl enable nginx.service使nginx開(kāi)機(jī)啟動(dòng)
#開(kāi)機(jī)自啟動(dòng)
systemctl enable nginx.service
#停止開(kāi)機(jī)自啟動(dòng)
systemctl disable nginx.service
#查詢當(dāng)前狀態(tài)
systemctl status nginx.service
#啟動(dòng)服務(wù)
systemctl start nginx.service
#重新啟動(dòng)服務(wù)
systemctl restart nginx.service
#停止服務(wù)
systemctl stop nginx.service
#重新加載配置
systemctl reload nginx.service
前后端連接
配置好后可以關(guān)掉進(jìn)程重新啟動(dòng)測(cè)試
前端需要傳數(shù)據(jù),main.jsURL改為192.168.195.33/mypro/,然后將前端項(xiàng)目打包上傳到linux就可以了文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-812265.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-812265.html
到了這里,關(guān)于Linux-nginx(安裝配置nginx、配置反向代理、Nginx配置負(fù)載均衡、動(dòng)靜分離)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!