使用Centos配置web proxy(nginx代理)
- Web proxy
- 安裝Nginx組件
- 配置文件名為proxy.conf,放置在/etc/nginx/conf.d/目錄下
- 為www.chinaskills.cn配置代理前端,通過(guò)HTTPS的訪問(wèn)后端Web服務(wù)器
- 后端服務(wù)器日志內(nèi)容需要記錄真實(shí)客戶端的IP地址
- 緩存后端Web服務(wù)器上的靜態(tài)頁(yè)面
- 創(chuàng)建服務(wù)監(jiān)控腳本:/shells/chkWeb.sh
- 編寫腳本監(jiān)控公司的網(wǎng)站運(yùn)行情況
- 腳本可以在后臺(tái)持續(xù)運(yùn)行
- 每隔3S檢查一次網(wǎng)站的運(yùn)行狀態(tài),如果發(fā)現(xiàn)異常嘗試3次
- 如果確定網(wǎng)站無(wú)法訪問(wèn),則返回用戶“網(wǎng)站正在維護(hù)中,請(qǐng)您稍后再試”的頁(yè)面
一、安裝nginx
nginx
[root@routersrv nginx/]# yum install ./* -y
二、配置nginx證書
[root@routersrv nginx/]# nano /etc/nginx/conf.d/proxy.conf #proxy.conf需要自己創(chuàng)建
#可參考nginx.conf文件
server {
listen 443 ssl;
server_name web.chinaskills.cn;
ssl_certificacte_key /etc/nginx/nginx.key;
ssl_certificate /etc/nginx/nginx.crt;
location / #可參考/usr/share/doc/nginx/中配置文件
proxy_pass https://www.chinaskills.cn; #代理域名
proxy_cache proxy; #開啟緩存
proxy_set_header Host $host; #記錄ip
proxy_set_header x-real-ip $remote_addr; #記錄真實(shí)的客戶端ip
proxy_cache_valid 200 301 302 5m; #日志有效性
}
}三、創(chuàng)建proxy文件并寫入配置
1、proxy.conf
[root@routersrv /]# nano /etc/nginx/conf.d/proxy.conf
#可參考nginx.conf文件
server {
listen 443 ssl;
nameserver proxy.chinaskills.cn;
ssl_certificacte_key /etc/nginx/nginx.key;
ssl_certificate /etc/nginx/nginx.crt;
location ~./. { #可參考/usr/share/doc/nginx/中配置文件
proxy_pass https://www.chinaskills.cn; #代理域名
proxy_cache proxy; #開啟緩存
proxy_set_header Host $host; #記錄ip
proxy_set_header x-real-ip $remote_addr; #記錄真實(shí)的客戶端ip
proxy_cache_valid 200 301 302 5m; #日志有效性
}
}2、緩存配置
[root@routersrv nginx/]# nano /etc/nginx/nginx.conf
#在http中添加即可
http{
proxy_cache_path /cache levels=1:2 keys_zone=proxy:20m max_size=20m;
}
[root@routersrv /]# mkdir /cache #創(chuàng)建緩存目錄3、去服務(wù)器端設(shè)置緩存記錄真實(shí)客戶端ip訪問(wèn)
[root@routersrv nginx/]# nano /etc/httpd/conf/httpd.conf
LogFormat "%{x-real-ip}i" #將%h改成%{x-real-ip}i即可
[root@routersrv nginx/]# systemctl restart httpd4、重啟nginx(前提是ping通httpd服務(wù)和proxy.chinaskills.cn)
四、數(shù)據(jù)庫(kù)
復(fù)制 #下載數(shù)據(jù)庫(kù) yum install mariadb-server #啟動(dòng)數(shù)據(jù)庫(kù) systemctl start mariadb #初始化root密碼 mysql_secure_installation ChinaSkills23 #登錄到數(shù)據(jù)庫(kù),創(chuàng)建數(shù)據(jù)庫(kù) mysql -uroot -p ChinaSkills23 create database wordpress; flush privileges; exit; #網(wǎng)頁(yè)的wordpress wordpress #需要在appsrv的域名服務(wù)中添加該域名這里設(shè)置到本地是方便測(cè)試 [root@routersrv nginx/]# nano /etc/resolv.conf nameserver 192.168.100.100 [root@routersrv nginx/]# nano /etc/hosts 192.168.100.254 web.chinaskills.cn [root@routersrv nginx/]# systemctl restart nginx root ChinaSkills23 localhost
五、測(cè)試
- 1、在客戶端瀏覽器搜索 https://proxy.chinaskills.cn 是否有網(wǎng)頁(yè)
- 2、在主服務(wù)器的網(wǎng)頁(yè)根目錄中創(chuàng)建一個(gè)1.png圖片,再到客戶端瀏覽器訪問(wèn)該圖片即可在cache緩存目錄中看到緩存
- 3、在主服務(wù)器 cat /var/log/httpd/logs/acceess_log 即可查看到客戶端真實(shí)ip訪問(wèn)網(wǎng)頁(yè)
- 4、訪問(wèn)網(wǎng)頁(yè)圖片之后查看cache文件中是否有緩存文件
六、配置監(jiān)控腳本
[root@routersrv /]# nano /shells/chkWeb.sh
#!/bin/bash
url=https://www.chinaskills.cn
X=curl -s -k $url -I |grep 'OK' |awk {print $2}
while [ true ];do
sleep 3
if [[ $x -eq 200 ]];then
echo "網(wǎng)頁(yè)打開正常"
else
for i in 1 2 3;do
if [[ $x -eq 200 ]];then
echo "網(wǎng)頁(yè)打開正常"
else
echo "網(wǎng)頁(yè)打開異常$i"
fi
done
echo "網(wǎng)站正在維護(hù)中,請(qǐng)您稍后再試"
fi
done
[root@routesrv /shells]# bash chkWeb.sh
網(wǎng)頁(yè)打開正常
網(wǎng)頁(yè)打開正常
網(wǎng)頁(yè)打開正常
[root@appsrv /]# systemctl stop httpd
[root@routesrv /shells]# bash chkWeb.sh
網(wǎng)站打開異常
網(wǎng)站打開異常
網(wǎng)站打開異常
網(wǎng)站正在維護(hù)中,請(qǐng)您稍后再試總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx 動(dòng)態(tài)域名解析過(guò)程詳解
這篇文章主要為大家介紹了Nginx 動(dòng)態(tài)域名解析過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Nginx服務(wù)器的反向代理proxy_pass配置方法講解
這篇文章主要介紹了Nginx服務(wù)器的反向代理proxy_pass配置方法講解,包括經(jīng)常被提到的url的/問(wèn)題的相關(guān)說(shuō)明,需要的朋友可以參考下2016-01-01
nginx出現(xiàn)權(quán)限問(wèn)題解決(13: Permission denied)
本文主要介紹了nginx出現(xiàn)權(quán)限問(wèn)題解決(13: Permission denied),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
詳解Linux環(huán)境下使Nginx服務(wù)器支持中文url的配置流程
這篇文章主要介紹了Linux環(huán)境下使Nginx服務(wù)器支持中文url的配置流程,文中還介紹了一個(gè)在Linux下將非UTF-8的文件名轉(zhuǎn)換為UTF-8編碼,的方法,需要的朋友可以參考下2016-04-04
修改nginx服務(wù)器類型實(shí)現(xiàn)簡(jiǎn)單偽裝(隱藏nginx類型與版本等)
這篇文章主要介紹了修改nginx服務(wù)器類型實(shí)現(xiàn)簡(jiǎn)單偽裝(隱藏nginx類型與版本等),需要的朋友可以參考下2016-03-03
Nginx+CI框架出現(xiàn)404錯(cuò)誤怎么解決
這篇文章主要介紹了Nginx+CI出現(xiàn)404錯(cuò)誤怎么解決的相關(guān)資料,需要的朋友可以參考下2016-03-03
Nginx與Tomcat實(shí)現(xiàn)動(dòng)靜態(tài)分離和負(fù)載均衡
本篇文章主要介紹了Nginx與Tomcat實(shí)現(xiàn)動(dòng)靜態(tài)分離和負(fù)載均衡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-10-10

