本章来配置nginx基础环境,并实现反向代理的配置和负载均衡的测试。相关文章可访问本站的网站配置全面指南:反向代理与域名设置

本章内容需要在使用OpenStack构建读写分离的数据库集群实验中设置的mycat客户端进行配置,在其余节点可能会导致之后的实验报错!

一、安装nginx基础环境

1.获取nginx的rpm包并安装

wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm;
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm

2.安装nginx

yum -y install nginx

3.安装完成后,启动nginx

systemctl start nginx

4.启动后,查看80端口号占用情况

netstat -tnlup | grep 80

如果回显正常,nginx启动成功

在宿主机中打开浏览器,URL栏中输入本机的IP地址,如有正常的Welcome to nginx!即代表成功

5.如果80端口已经启用,浏览器未能正确显示,可以关闭防火墙和selinux,如果是云主机,还需要在控制台中手动放通80端口号

systemctl stop firewalld;setenforce 0

6.还可以关闭防火墙和selinux的开机自启

systemctl stop firewalld
vim /etc/selinux/config

在打开的配置文件中,将第七行的enforcing修改为disabled,重启后生效

7.将Tomcat上传到服务器中,并解压

tar -zxvf apache-tomcat-9.0.97.tar.gz

8.启动Tomcat

sh /rootapache-tomcat-9.0.97/bin/startup.sh

在宿主机浏览器中输入服务器IP地址加8080端口号,如有正常页面即为启动成功,没有则检查防火墙和安全组设置

二、反向代理设置

通过域名访问Tomcat服务器

1.在宿主机中,打开hosts文件,默认路径在C:\Windows\System32\drivers\etc下,通过记事本打开hosts文件

在最后一行追加内容为:服务器的IP地址 想要配置的域名,中间使用空格和Tab键隔开,例如

192.168.20.40 ydsj.com

修改完成后,保存退出

2.修改nginx的配置文件

vim /etc/nginx/conf.d/default.conf

在第一段location中,添加如下

proxy_pass http://192.168.20.40:8080;  #这里需要填服务器的IP

修改完成后保存退出,重启nginx

systemctl restart nginx

3.再次在宿主机浏览器进行测试,输入上面hosts文件自己设置的域名即可跳转到Tomcat页面

根据访问的路径跳转到不同端口的服务中

1.首先关闭8080端口对应的进程

netstat -tnlup | grep 8080

在输出的最后一项中,为服务的PID号

kill -9 PID

强制结束进程

2.新建两个目录,并将Tomcat的压缩包复制过去

mkdir 80;mkdir 81;cp apache-tomcat-9.0.97.tar.gz 80; cp apache-tomcat-9.0.97.tar.gz 81

3.在80目录下解压Tomcat并启动

tar -zxvf apache-tomcat-9.0.97.tar.gz;sh apache-tomcat-9.0.97/bin/startup.sh

4.在81目录下解压Tomcat

tar -zxvf apache-tomcat-9.0.97.tar.gz

5.修改81目录下的配置文件

vim apache-tomcat-9.0.97/conf/server.xml

在22行和71行分别将端口号修改为8015和8081,修改完成后启动Tomcat

sh apache-tomcat-9.0.97/bin/startup.sh

两个服务都启动后,检查端口占用情况

netstat -tnlup | grep 80

如果8080和8081端口都为LINSTEN状态,即为成功

6.创建文件夹和测试页面

在80下创建测试页面

cd  apache-tomcat-9.0.97/webapps ; mkdir edu ; vim edu/index.html

在81下创建测试页面

cd  apache-tomcat-9.0.97/webapps ; mkdir vod ; vim vod/index.html

在创建的index文件中,80目录输入0000,81目录为1111

浏览器中输入地址192.168.20.40:8080/edu/index.html192.168.20.40:8081/vod/index.html查看

显示为0000和1111即为正常

7.修改nginx配置文件,完成反向代理

vim /etc/nginx/conf.d/default.conf

直接在末尾追加如下内容

server{
	listen 9001;
	server_name 192.168.20.40;
	location /edu/ {
		proxy_pass http://192.168.20.40:8080;
	}
	location /vod/ {
		proxy_pass http://192.168.20.40:8081;
	}
}

完成后重启nginx

8.在浏览器中分别输入192.168.20.40:9001/edu/index.html192.168.20.40:9001/vod/index.html查看测试结果

负载均衡

在浏览器地址栏输入地址http://192.168.20.40/edu/index.html,负载均衡效果,平均 8080 端口和8081端口中

将81目录下的vod目录重命名为edu

mv vod edu

修改nginx的配置文件

vim /etc/nginx/conf.d/default.conf

直接在第一行添加以下内容

upstream myserver{
	server 192.168.20.40:8080;
	server 192.168.20.40:8081;
	}

并将location块中的proxy_pass后的IP地址修改为myserver;

完成后重启nginx,在浏览器输入http://192.168.20.40/edu/index.html,持续刷新页面,可以看到页面0000和1111交替出现