nginx2_调度
client 172.18.123.28 ngx
nginx 服务器作为代理服务器:
[root@centos87/etc/nginx/conf.d]#cat vhosts.conf
server {
listen 80 default_server;
root /data/website1;
server_name www.a.com www.google.com;
access_log /var/log/nginx/a.com.access.log compression ;
listen 443 ssl;
ssl_certificate /etc/nginx/conf.d/a.com.crt;
ssl_certificate_key /etc/nginx/conf.d/a.com.key ;
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
location / {
proxy_pass http://192.168.137.97/;
}
httpd作为后端服务器:
yum install httpd
echo rs97 > index.html
测试1:[root@client~]#curl 172.18.123.29
rs97
测试阶段2: 修改后端服务器端口:8080
[root@client~]#curl 172.18.123.29
<html>
<head><title>502 Bad Gateway</title></head> 后端报文伪响应
测试阶段3:nginx 修改proxy_pass nginx 监听端口:8080
location / {
proxy_pass http://192.168.137.97:8080/ ;
}
[root@client~]#curl 172.18.123.29
rs97
测试阶段4:iptables -A INPUT -p tcp --dport 8080 -j DROP
[root@client~]#curl 172.18.123.29
<html>
<head><title>504 Gateway Time-out</title></head> 超时;
测试阶段5:systemctl stop httpd
[root@client~]#curl 172.18.123.29
<html>
<head><title>502 Bad Gateway</title></head>
测试阶段6 :iptables -A INPUT -p tcp --dport 8080 -j REJECT
[root@client~]#curl 172.18.123.29
<html>
<head><title>502 Bad Gateway</title></head>
测试阶段7:结论:
验证:proxy_pass加斜杆 访问的是 192.168.31.17的根目录; //bbs
location /bbs {
proxy_pass http://192.168.31.17/
}
加斜杠:
[root@client~]#curl -L 172.18.123.29/bbs
Rs97
不加斜杠
location /bbs {
proxy_pass http://192.168.31.17
}
[root@centos17/var/www/html/bbs]#echo bbs > index.html
测试:
[root@client~]#curl 172.18.123.29/bbs/
bbs
验证:proxy_pass加斜杆 访问的是 192.168.31.17的根目录; //bbs
location /bbs {
proxy_pass http://192.168.31.17/
}
加斜杠:
[root@client~]#curl -L 172.18.123.29/bbs
Rs97
不加斜杠
location /bbs {
proxy_pass http://192.168.31.17
}
[root@centos17/var/www/html/bbs]#echo bbs > index.html
测试:
[root@client~]#curl 172.18.123.29/bbs/
bbs
动测试7:增加centos 7 动静分离text html
[root@centos17/var/www/html]#echo rs97 a.txt > a.txt
[root@centos17/var/www/html]#echo rs97 b.txt > b.txt
[root@centos17/var/www/html]#echo rs97 a.html > a.html
[root@centos17/var/www/html]#echo rs97 b.html > b.html
centos6
[root@centos6 /var/www/html]#echo rs6 a.txt > a.txt
[root@centos6 /var/www/html]#echo rs6 b.txt > b.txt
[root@centos6 /var/www/html]#echo rs6 b.html > b.html
[root@centos6 /var/www/html]#echo rs6 a.html > a.html
nginx 修改:
[root@centos87/etc/nginx/conf.d]#cat vhosts.conf
server {
listen 80 default_server;
root /data/website1;
server_name www.a.com www.google.com;
access_log /var/log/nginx/a.com.access.log compression ;
listen 443 ssl;
ssl_certificate /etc/nginx/conf.d/a.com.crt;
ssl_certificate_key /etc/nginx/conf.d/a.com.key ;
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
location ~ \.html$ {
proxy_pass http://192.168.137.97;
}
location ~ \.txt$ {
proxy_pass http://192.168.137.6;
}
动静分离:
测试7:增加centos 7 动静分离text html
[root@centos17/var/www/html]#echo rs97 a.txt > a.txt
[root@centos17/var/www/html]#echo rs97 b.txt > b.txt
[root@centos17/var/www/html]#echo rs97 a.html > a.html
[root@centos17/var/www/html]#echo rs97 b.html > b.html
centos6
[root@centos6 /var/www/html]#echo rs6 a.txt > a.txt
[root@centos6 /var/www/html]#echo rs6 b.txt > b.txt
[root@centos6 /var/www/html]#echo rs6 b.html > b.html
[root@centos6 /var/www/html]#echo rs6 a.html > a.html
nginx 修改:
[root@centos87/etc/nginx/conf.d]#cat vhosts.conf
server {
listen 80 default_server;
root /data/website1;
server_name www.a.com www.google.com;
access_log /var/log/nginx/a.com.access.log compression ;
listen 443 ssl;
ssl_certificate /etc/nginx/conf.d/a.com.crt;
ssl_certificate_key /etc/nginx/conf.d/a.com.key ;
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
location ~ \.html$ {
proxy_pass http://192.168.137.97;
}
location ~ \.txt$ {
proxy_pass http://192.168.137.6;
}
[root@client~]#curl -L 172.18.123.29/b.html
rs97 b.html
[root@client~]#curl -L 172.18.123.29/a.html
rs97 a.html
[root@client~]#curl -L 172.18.123.29/a.txt
rs6 a.txt
[root@client~]#curl -L 172.18.123.29/b.txt
rs6 b.txt
动静分离:
location ~ \.(html|txt|css|jpg)$ {
proxy_pass http://192.168.137.97;
}
location ~ \.php$ {
proxy_pass http://192.168.137.6;
}