首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Plesk 17.8中部署.war文件,尽管不再支持TomCat?

如何在Plesk 17.8中部署.war文件,尽管不再支持TomCat?
EN

Stack Overflow用户
提问于 2019-04-19 10:13:30
回答 3查看 2.1K关注 0票数 2

直至并包括版本17.5,Plesk附带了Tomcat安装,它不是17.8版中的较长支座。因此,再也不能部署和执行.war文件了。

普列斯克建议的降级在我看来并不是权宜之计,因为我的生命和安全问题已经接近尾声。如何在Plesk管理的服务器上运行Java代码?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-04-19 10:13:30

1. Idea

使用Tomcat容器,并将您的.war文件部署到映射的Docker卷中。

2.解决办法

  • 从扩展目录(Home -> Server Management -> Extensions -> search textbox)安装Plesk扩展"Docker“。
  • 打开Docker扩展(Home -> Server Management -> Docker)。
  • 安装Tomcat容器(search textbox -> 'run' drop down box)
  • 调整Tomcat容器配置
    • 激活"Automatic start after system reboot"
    • 停用"Automatic port mapping"
    • 对于"Manual mapping",选择一个8080 to external 8080端口配置

  • 添加两个“卷映射”的
    • /usr/local/tomcat/webapps//usr/local/tomcat/webapps/
    • /usr/local/tomcat/logs//usr/local/tomcat/logs/

3.解释

第一个卷映射提供了主机系统(您的服务器)上的一个目录,该目录与Tomcat容器中的webapp目录同步。将.war文件复制到其中将部署到Tomcat容器中。第二个卷映射将Tomcat容器内部日志文件提供给您的主机系统。

票数 3
EN

Stack Overflow用户

发布于 2019-07-16 15:50:21

我们也有同样的问题:在Plesk Onyx 17.5上成功部署后,我们的主机宣布根据普列斯克的GDPR要求,强制更新到17.8。知道这会破坏我们的生产环境,我们建立了一个新的机器来测试我们的可能性。我很高兴在这里找到你的想法@ThirstForKnowledge -听起来不错--但Docker不是我们的选择,因为我们的虚拟主机环境不可能运行Docker主机。因此,我们想出了另一个想法,这可能会对其他有同样困难的人有所帮助。

1. Idea

将Tomcat作为独立应用程序安装,并在默认情况下随Tomcat一起部署.war。创建cron脚本,检查Tomcat .zip归档的更新,并使用包管理器安装JRE,该管理器定期由Plesks启动自动更新。

2.解决办法

  • 使用包管理器安装JRE
  • 使用镜像中的.zip安装Tomcat
  • 通过以下各种在线教程之一,加强其抵御攻击的能力
  • 使其成为一个服务,并启用它以便在启动时启动
  • 配置Tomcat管理器应用程序(仅限于本地主机,向前看三步)
  • 通过Plesk防火墙阻止Tomcat默认端口
  • 通过加密设置Plesks订阅并自动重定向到HTTPS
  • 使用Plesks功能更改Apache配置,并将反向代理设置为Tomcat端口
  • 检查正在运行的Tomcat服务器和有效加密的域
  • 登录到Tomcat经理
  • 取消部署所有演示应用程序并部署.war
  • 禁用管理器访问权限以防止攻击(或适当配置Fail2Ban )(如果您遵循所有后续步骤,但安全是安全的,则可能不需要)
  • 将反向代理配置更改为指向/指向应用程序
  • 通过Plesk创建一个脚本来更新Tomcat和cron

3.解释

用户连接将被引导到Tomcat/Java应用程序,但是加密和所有其他托管内容可以通过Plesk接口完成。更新将由用于Java的Plesks包更新程序和Tomcat的cron脚本驱动。Tomcat管理器使部署和取消部署变得非常容易,只有在需要时才会很快向WWW公开,并且凭据是安全传输的。Tomcat需要手动安装,因为我们的包管理器只有Tomcat 7在他的存储库中,这可能符合您的安装要求,所以请先检查一下!

4.未决问题

是否有人有更多的经验,或发现这种方法的安全弱点或漏洞?有没有人有更好的主意来完成这个任务?我们错过什么了吗?我对所有的考虑都很高兴:)

票数 0
EN

Stack Overflow用户

发布于 2020-03-11 05:02:33

使用Plesk的"Docker代理规则“的缺点是多个域不能共享一个码头。

在普列斯克17.8这是对我最有效的..。

使用ssh,在端口8080上安装Tomcat。

从Tomcat webapp文件夹中删除所有演示应用程序

将我的应用程序war文件复制到Tomcat webapp文件夹

登录到Plesk

对于每个使用Tomcat with应用程序的域,单击该域的"Apache & nginx设置“,向下滚动,在”附加nginx指令“下添加

代码语言:javascript
运行
复制
location /app1 {
    proxy_pass http://127.0.0.1:8080;
}

每个webapp应用程序的名称都是独一无二的。让我们来加密一下

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55760239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档