tomcat独立部署-nginx-1.12.2配置SSL

192 阅读3分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路

部署包代理域名的时候 遇到点问题 百度无果后 自己只能走独立部署路线尝试一下了 主要是独立部署方便调试tomcat 部署包不行

首先我想要的效果就是 不暴露ip 端口 webroot/decision 就是访问域名直接就能显示数据决策系统大概这个样子 那么只好尝试一下独立部署了

1. 实现思路

1)将本地工程的 webroot 文件夹以压缩包的形式上传到Tomcat 服务器的%TOMCAT_HOME%\webapps下,并解压。

2)将 tools.jar 文件放到%TOMCAT_HOME%\lib下或者%TOMCAT_HOME%\webapps\工程名\WEB_INF\lib下。

3)重啓 Tomcat 服务器,访问报表工程地址即可。

linux命令直接复制出现错误提示的话 建议手打字母 Tab提示进行操作

unzip webroot.zip

将%JAVA_HOME%\jdk\lib下的 tools.jar 拷贝到部署的服务器中,拷贝到%TOMCAT_HOME%\lib下或者%TOMCAT_HOME%\webapps\工程名\WEB_INF\lib

cp /opt/jdk1.8/lib/tools.jar /opt/tomcat/lib

2. 重启服务器

1)进入%TOMCAT_HOME%/bin目录,进行./startup.sh,重启工程。

2)使用tail -f ../logs/catalina.out查看日志。

vim /opt/nginx-1.12.2/conf/nginx.conf  错误的配置文件 警示 
vim /usr/local/nginx/conf/nginx.conf 正确的配置文件 

cd /usr/local/nginx/sbin/ 
./nginx -s stop # nginx停止命令
./nginx #nginx启动命令
./nginx -s reload # nginx重载命令
./nginx -t # nginx测试配置文件是否正确

使用独立部署的好处就是可以 将tomcat和决策系统分开测试 这点部署包是没有的

image.png

image.png

然后开始调试Nginx 代理 Nginx反向代理端口丢失问题 是因为proxy_pass http://ip 这个ip是外网ip 注意是本机ipv4的外网ip

使用独立部署 测试出之前修改的配置文件不生效 需要修改的配置文件在vim /usr/local/nginx/conf/nginx.conf

   rewrite ^(.*)$ /webroot/decision permanent;
   
    proxy_pass http://ip:8080;

image.png

使用whereis nginx命令查看文件nginx在哪

3. proxy_pass 后地址带/和不带/的url地址显示

proxy_pass http://IP:8080/webroot/decision;

www.YUNAME.com//login?orig…

proxy_pass http://IP:8080/webroot/decision/;

www.YUNAME.com/login?origi…

一般情况下 不用带/

4. 配置SSL证书

参考文章 cloud.tencent.com/document/pr… 自己使用nginx是1.12.2版本

配置需要是

listen 443;

ssl on; image.png

  596  2022-07-26 20:44:13 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
  597  2022-07-26 20:44:21 make

image.png 自学不易 且行且珍惜

5. 遇到问题

ginx: [emerg] invalid value "TLSv1.3" in /usr/local/nginx/conf/nginx.conf:118

解决:删除TLSv1.3

nginx: [emerg] unknown directive 'ssl' in /usr/local/nginx/conf/nginx.conf

解决:编译ssl模块 就是执行./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module 这条命令

nginx: [emerg] unknown directive "ssl_certificate" in /usr/local/nginx/conf/

解决:nginx/1.15.0 以上请使用 listen 443 ssl 自己的是nginx-1.12.2 需要使用 listen 443 和 ssl on。 还有一点小瑕疵

[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:

解决:自己是输入E继续编辑 可以找到缓存文件删除就ok了 但是自己没找到

image.png 最后在配置一下代理就好了 下图中的location模块 错误示例

image.png

然后错误示例会导致这么个问题 image.png

还是有点问题吧 后面测试 如果前面的代理注释掉 那么访问路径必须是www.pearlsx.com

如果不注释 好像概率性就http也能访问 这个应该可以在设置一个二级域名 就是我url中输入pearlsx.com直接给我跳转到www.pearlsx.com 这个地址

先这样吧 现在是http能访问 https也能访问 但是https比http访问快 视觉感官比较好 image.png 来看下效果图吧 有锁了!!!!

QQ录屏20220726212621_.gif

6. 参考文章

cloud.tencent.com/document/pr…

www.91mszl.com/zhangwuji/a… www.cnblogs.com/michaelcnbl… blog.csdn.net/qq_36793589…

www.cnblogs.com/michaelcnbl…