先到nginx的的配置文件页面
vi /etc/nginx/conf.d
配置多个服务,配置如下
upstream tomcat { # 负载均衡站点的名称为tomcat,可以自己取
server xxx.xxx.xxx.xxx:8080; # web服务器的IP地址及tomcat发布端口
ip_hash;
}
upstream tomcat2{ # 负载均衡站点的名称为tomcat2,可以自己取
server localhost:8080; # web服务器的IP地址及tomcat发布端口
ip_hash;
}
# 第一个服务 监听和域名配置
server {
listen 80; # 站点侦听端口80
server_name www.xxxx.net; # 站点域名名称
location / {
root html;
index index.html index.htm;
proxy_set_header Host $host;
proxy_pass http://tomcat; # 负载均衡指向的发布服务tomcat
}
}
server {
listen 80; # 站点侦听端口80
server_name www.xxxx2.net; # 站点域名名称
location / {
root html;
index index.html index.htm;
proxy_set_header Host $host;
proxy_pass http://www.xxxx2.net:8080; # 负载均衡指向的发布服务域名,附带8080,后续就可以直接域名访问
}
}
server {
listen 443 ssl;
server_name www.xxxx.net;
ssl_certificate /ssl/xxx1.pem;
ssl_certificate_key /ssl/xxx1.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
location / {
root html;
proxy_pass http://tomcat; # 负载均衡指向的发布服务tomcat
}
}
server {
listen 443 ssl;
server_name www.xxxx2.net;
root /data/apache-tomcat-9.0.27/webapps/projectName; # 项目工程所在位置
ssl_certificate /ssl/xxx2.pem; # 配置证书中心提供的pem文件的所在位置
ssl_certificate_key /ssl/xxx2.net.key; # 配置证书中心提供的key文件的所在位置
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
location / {
root html;
proxy_pass http://www.xxxx2.net:8080; # 负载均衡指向的发布服务域名 ,附带8080,后续就可以直接域名访问
}
}
另外修改tomcat的配置server.xml
找到
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
修改为:
<Host name="你的域名" appBase="webapps"
unpackWARs="true" autoDeploy="true">
以及在该<Host>...</Host>标签内添加<Context />标签
<Context path="" docBase="/myApp" />
docBase属性填写你的项目位置,最好是绝对路径即...../webapps/myApp。
完成以上配置 重启tomcat 然后重新加载nginx配置
检查nginx是否有错
nginx -t
nginx 重新加载
nginx -s reload
大功告成!!