- web proxy
- 安装nginx组件
- 配置文件名为proxy.conf,放置在/etc/nginx/conf.d/目录下
- 为www.chinaskills.cn配置代理前端,通过https的访问后端web服务器
- 后端服务器日志内容需要记录真实客户端的ip地址
- 缓存后端web服务器上的静态页面
- 创建服务监控脚本:/shells/chkweb.sh
- 编写脚本监控公司的网站运行情况
- 脚本可以在后台持续运行
- 每隔3s检查一次网站的运行状态,如果发现异常尝试3次
- 如果确定网站无法访问,则返回用户“网站正在维护中,请您稍后再试”的页面
一、安装nginx
nginx
[root@routersrv nginx/]# yum install ./* -y
二、配置nginx证书
[root@routersrv nginx/]# nano /etc/nginx/conf.d/proxy.conf #proxy.conf需要自己创建
#可参考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; #记录真实的客户端ip
proxy_cache_valid 200 301 302 5m; #日志有效性
}
}三、创建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; #记录真实的客户端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 #创建缓存目录3、去服务器端设置缓存记录真实客户端ip访问
[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服务和proxy.chinaskills.cn)
四、数据库
复制 #下载数据库 yum install mariadb-server #启动数据库 systemctl start mariadb #初始化root密码 mysql_secure_installation chinaskills23 #登录到数据库,创建数据库 mysql -uroot -p chinaskills23 create database wordpress; flush privileges; exit; #网页的wordpress wordpress #需要在appsrv的域名服务中添加该域名这里设置到本地是方便测试 [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
五、测试
- 1、在客户端浏览器搜索 https://proxy.chinaskills.cn 是否有网页
- 2、在主服务器的网页根目录中创建一个1.png图片,再到客户端浏览器访问该图片即可在cache缓存目录中看到缓存
- 3、在主服务器 cat /var/log/httpd/logs/acceess_log 即可查看到客户端真实ip访问网页
- 4、访问网页图片之后查看cache文件中是否有缓存文件
六、配置监控脚本
[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 "网页打开正常"
else
for i in 1 2 3;do
if [[ $x -eq 200 ]];then
echo "网页打开正常"
else
echo "网页打开异常$i"
fi
done
echo "网站正在维护中,请您稍后再试"
fi
done
[root@routesrv /shells]# bash chkweb.sh
网页打开正常
网页打开正常
网页打开正常
[root@appsrv /]# systemctl stop httpd
[root@routesrv /shells]# bash chkweb.sh
网站打开异常
网站打开异常
网站打开异常
网站正在维护中,请您稍后再试总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论