需要一台Linux server,我这里使用的是redhat9。
sudo yum install java-11-openjdk
如果你是deb类系统,那就把yum换成apt,suse类的自行查询,不赘述
2.安装nginx,也是根据Redhat官网来装,注意开放80/443端口
# install
sudo yum install nginx
# allow port
sudo firewall-cmd --permanent --add-port={80/tcp,443/tcp}
sudo firewall-cmd --reload
// start nginx
sudo systemctl enable nginx
nginx的相关命令也可以参考这篇blog,用得多的一条命令,重启nginx服务:
systemctl reload nginx.service
3.如果有域名的话,可以用浏览器访问这个域名,不出意外的话,页面会显示nginx错误页面,而且是http不安全方式的,这个时候就需要这样一条命令:
#将httpd_can_network_connectSELinux 布尔值参数设置为1,以便将 SELinux 设置为允许 NGINX 转发流量
sudo setsebool -P httpd_can_network_connect 1
运行成功后就可以正常访问,看到的就是nginx的welcome页面
4.配置nginx, nginx的配置文件默认在/etc/nginx/nginx.conf,使用sudo vim编辑之。
server {
listen 80;
listen [::]:80;
server_name _;
return 301 https://$host$request_uri;
}
server {
# listen 80;
# listen [::]:80;
listen 443 ssl;
ssl_certificate #your pem file location;
ssl_certificate_key #your key file location;
location / {
# proxy_pass http://localhost:8080;
}
location /app1 {
proxy_pass http://localhost:8080/app1;
}
location /app2 {
proxy_pass http://localhost:8081/app2;
}
}
简而言之,第一个server配的就是本来80端口,现在进行301重定向,为的是将域名强制设成https访问。第二个server里就注释掉了80端口,启用了443 ssl,这个就是https的端口了,第一个server的连接就会重定向到这里;紧接着两个ssl证书项目,一个私钥,一个公钥,也就是https证书项,配置它们的路径,这个网上相关的教程很多也不赘述;下面的location就是设置路由了,/app1和/app2设置了不同的端口,因为要配置多台tomcat server,自然端口不能冲突。
设置好后保存退出,使用sudo systemctl reload nginx.service重启nginx,如果失败且查看问题遇到“BIO_new_file() failed (SSL: error:8000000D:system library::Permission den>”这样的错误,说明linux安全做了限制,参考stackoverflow试一下这条命令:
sudo setenforce 0
5.解压你的tomcat安装包,启动停止就跑bin里的脚本,如果想部署多台,可以参考这篇blog,注意你配置的app端口+路由和你nginx.conf文件里location保持一致!
end…
原文地址:https://blog.csdn.net/Richard1997/article/details/129628018
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_37092.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!