1. upstream +proxy_pass 模块实现反向代理
http {
include mime.types;
default_type application/octet-stream;
upstream westos {
server 172.25.254.2:80;
}
server {
listen 80;
server_name www.westos.org;
location / {
proxy_pass http://westos;
}
}
[root@server1 sbin]# ./nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@server1 sbin]# ./nginx -s reload
[root@server1 sbin]#
可以做一下链接,方便用命令
[root@server1 sbin]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@server1 sbin]#
2. 打开后端服务器
[root@server2 ~]#
[root@server2 ~]# cd /var/www/html/
[root@server2 html]# vim index.html
[root@server2 html]# systemctl start httpd
[root@server2 html]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2020-02-25 18:12:51 CST; 6s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 11735 (httpd)
Status: "Processing requests..."
CGroup: /system.slice/httpd.service
测试:
做好解析
[root@foundation8 kiosk]# vim /etc/hosts
[root@foundation8 kiosk]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.254.1 www.westos.org westos.org bbs.westos.org
[root@foundation8 kiosk]#
[root@foundation8 kiosk]# curl www.westos.org
i am server2
[root@foundation8 kiosk]# curl www.westos.org
i am server2
[root@foundation8 kiosk]# curl www.westos.org
i am server2
[root@foundation8 kiosk]#
3. 配置多后端(实现负载均衡)
http {
include mime.types;
default_type application/octet-stream;
upstream westos {
server 172.25.254.2:80;
server 172.25.254.3:80;
}
[root@server1 sbin]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@server1 sbin]# nginx -s reload
[root@server1 sbin]#
[root@server3 ~]# vim /var/www/html/index.html
[root@server3 ~]# cat /var/www/html/index.html
i am server3
[root@server3 ~]# systemctl start httpd
[root@server3 ~]#
测试:
[root@foundation8 kiosk]# curl www.westos.org
i am server2
[root@foundation8 kiosk]# curl www.westos.org
i am server3
[root@foundation8 kiosk]# curl www.westos.org
i am server2
[root@foundation8 kiosk]# curl www.westos.org
i am server3
[root@foundation8 kiosk]#
对后端服务器有健康检查机制
关闭后端服务器server2
[root@server2 html]# systemctl stop httpd
[root@server2 html]#
重新测试
[root@foundation8 kiosk]# curl www.westos.org
i am server3
[root@foundation8 kiosk]# curl www.westos.org
i am server3
[root@foundation8 kiosk]# curl www.westos.org
i am server3
[root@foundation8 kiosk]# curl www.westos.org
i am server3
[root@foundation8 kiosk]#
4.同一个ip的请求调向固定的后端服务器
http {
include mime.types;
default_type application/octet-stream;
upstream westos {
ip_hash;
server 172.25.254.2:80;
server 172.25.254.3:80;
}
测试:
[root@foundation8 kiosk]# curl www.westos.org
i am server2
[root@foundation8 kiosk]# curl www.westos.org
i am server2
[root@foundation8 kiosk]# curl www.westos.org
i am server2
[root@foundation8 kiosk]# curl www.westos.org
i am server2
[root@foundation8 kiosk]# curl www.westos.org
i am server2
[root@foundation8 kiosk]#
可见,将真机172.25.254.8的访问请求固定到了server2这个后端服务器上。
5. nginx本机作为后端的backup
http {
include mime.types;
default_type application/octet-stream;
upstream westos {
server 172.25.254.2:80;
server 127.0.0.1:80 backup;
}
[root@server1 sbin]# cd ../conf/
[root@server1 conf]# vim nginx.conf
[root@server1 conf]# vim ../html/index.html
[root@server1 conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@server1 conf]# nginx -s reload
[root@server1 conf]# cat ../html/index.html
i am server2_backup
[root@server1 conf]#
测试:
当后端服务器server2 正常工作时
当server2出现故障的时候,nginx作为后端服务的backup顶替其工作
[root@foundation8 kiosk]# curl www.westos.org
i am server2_backup
[root@foundation8 kiosk]# curl www.westos.org
i am server2_backup
[root@foundation8 kiosk]# curl www.westos.org
i am server2_backup
[root@foundation8 kiosk]#
转载:https://blog.csdn.net/yrx420909/article/details/104502227
查看评论