Nginx 是一个轻量级的 WEB 服务器,反向代理服务器和电子邮件服务器,本文介绍在虚拟机中使用不同的端口来模拟不同的服务器,并使用 Nginx 反向代理功能实现服务器负载均衡的效果。
新建两个站点
首先新建两个 WEB 目录当做不同的服务器下的站点,一个是 website-A,一个是 website-B. 这两个站点目录应该是在不同的服务器上,而且代码是一模一样的,这里为了方便在一台虚拟机上模拟不同服务器,并且把两个站点目录下的首页做了一点修改,以区分访问到的是不同目录(服务器)下的站点。两个站点都只有一个简单的 index.html 的首页,里面内容是”This is website A”这样的。
vagrant@homestead:~/html/load-balance$ ls
website-A website-B
配置 Nginx 反向代理和负载均衡
在 /etc/nginx/sites-enabled 目录下新建一个文件,如: test-load-balance,内容如下:
upstream tanteng_me {
server localhost:1031;
server localhost:1032;
}
server {
listen 80;
server_name tanteng2.me www.tanteng2.me;
location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://tanteng_me;
}
}
这个反向代理服务器监听 80 端口,并定义了一个服务器负载均衡的模块,这里两个不同的端口代表不同的服务器(由于是在一台虚拟机中,并没有安装多个虚拟机,因此采用不同的端口的方式来模拟)。
Nginx WEB 服务器配置
在 /etc/ngxin/conf.d/ 下新建 load-balance.conf,内容如下:
server {
listen 1031;
server_name tanteng2.me;
root /usr/share/nginx/html/load-balance/website-A;
index index.html index.htm;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
}
server {
listen 1032;
server_name tanteng2.me;
root /usr/share/nginx/html/load-balance/website-B;
index index.html index.htm;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
}
这里配置了两个服务器,通过监听不同的端口设置站点根目录分别是 website-A 和 website-B,经过以上配置之后,绑定虚拟机 host,并通过浏览器访问。
可以看到刷新页面,内容也在发生变化,说明通过负载均衡配置,实现了轮询服务器效果。
本文介绍了在不同端口下模拟 Nginx 反向代理和负载均衡,不仅可以了解基本的 Nginx 反向代理和负载均衡配置,而且用这种不同端口模拟不同服务器的方式可以做另外一件事情,后续再讲。
凡尔赛法环免广告版 最新版v1.69.1
下载天煞异种 安卓版v1.0.21
下载十三月 (Undecember)最新官方中文版v3.26.0200
下载我不是废柴无限99999钻999999金币游戏 不减反增版v1.2.16
下载我的女友是声优免广告 安卓版v1
我的女友是声优免广告是一款非常好玩的模拟经营类手游,玩家在游
石器帝国去广告版 v8
石器帝国免广告版是游戏的破解版本,在该版本中为玩家去除了广告
校园恋爱模拟器真人版去广告版 v0.0.7
校园恋爱模拟器真人版免广告版是游戏的破解版本,在该版本中为玩
教练我要开球馆内置菜单修改器 安卓版v1.5.4
教练我要开球馆内购版是一款模拟经营类游戏,玩家们将在游戏中创
我的游轮无限砖石 安卓版v1.7.0
我的游轮无限金币钻石版是一款模拟经营类游戏,你将成为一艘游轮