概述:
nginx是一款非常优秀的http服务器软件,它能够支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存,CPU等系统资源消耗非常低。目前很多大型网站都应用nginx服务器作为后端网站从程序的反向代理及负载均衡器,提升站点并发能力。
部署环境图:
部署环境表:
主机 | 操作系统 | IP地址 | 主要软件 |
nginx服务器 | Centos7.3x86_64 | 192.168.8.10 | nginx |
Tomcat服务器1 | Centos7.3x86_64 | 192.168.8.20:8080 | apa-tomcat-5.16 |
Tomcat服务器2 | Centos7.3x86_64 | 192.168.8.30:8080 | apa-tomcat-5.16 |
1、安装nginx:
yum -y install epel-release #安装epel-release仓库
yum -y install nginx #安装nginx
systemctl start nginx #启动nginx
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux
2、安装Tomcat
检查是否有Java环境没有,必须安装Java否则Tomcat运行失败
Index of /apache/tomcat/tomcat-8/v8.5.99/bin #下载地址
下载好的Tomcat包上传到主机上并解压!!!
tar zxf apache-tomcat-8.5.64.tar.gz -C /opt/ #解压到/opt目录下
cd /opt/ #进入opt目录
ln -s apache-tomcat-8.5.64/ tomcat #创建链接
/opt/tomcat/bin/startup.sh #启动Tomcat
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux
netstat -anpt |grep java #查看是否启动成功
第二台Tomcat和第一台配置一致!!!!
3、测试访问nginx和两台Tomcat:
4、创建代理配置文件:
rm -rf /etc/nginx/conf.d/* #如果有default默认文件一定要删除
vim /etc/nginx/conf.d/tomcat.conf #创建文件,必须是conf结尾
upstream java { #配置反向代理服务器将请求转发给后端服务器
server 192.168.8.20:8080;
server 192.168.8.30:8080;
}
server { #用于定义虚拟主机
listen 80; #监听端口
server_name www.jpress.com; #指定域名或ip地址
root html; #指定访问路径
index index.html index.htm; #访问目录优先查找index.html文件
location / { #可以有不同规则匹配
proxy_pass http://java; #指定后端服务器
proxy_set_header Host $http_host; #将原始请求的 Host 头部信息传递给代理服务器。
proxy_set_header X-Real-IP $remote_addr; #在Nginx反向代理情况下,后端服务器能够获取到客户端的真实IP地址
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #传递客户端的原始ip列表
}
}
nginx -t #检查nginx配置文件是否有误
nginx #启动nginx
5、删除Tomcat主机的默认访问页面
rm -rf /opt/tomcat_01/webapps/ROOT/* #删除ROOT下的所有内容
echo "tomcat_01" > /opt/tomcat/webapps/ROOT/index.html 创建index.html文件
rm -rf /opt/tomcat_01/webapps/ROOT/* #删除ROOT下的所有内容
echo "tomcat_02" > /opt/tomcat/webapps/ROOT/index.html 创建index.html文件