NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

2026-05-31 12:32:43 1点赞 2收藏 0评论

Apache Tomcat:

一款开源、免费的轻量级 Java Web 应用服务器,主要运行 Servlet、JSP 程序,常用于部署 Java 网站和接口服务。简单来说,别人 Java 写好打包的程序,放到 Tomcat 里就能在服务器上启动。

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

安装

Docker Compose

services: tomcat: image: tomcat:9.0 container_name: tomcat volumes: - ./webapps:/usr/local/tomcat/webapps ports: - 8080:8080 restart: unless-stopped

参数说明(更多参数建议去看文档)

9.0(标签版本):适配 Java8,一般企业和旧项目常用

/usr/local/tomcat/webapps(路径):默认的应用部署目录

使用

浏览器中输入 http://NAS的IP:8080 就能看到界面

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

TIP:打开显示 404 是正常现象,因为目前 webapps 路径下不存在 ROOT 目录时,Tomcat 没有默认页面可展示,所以返回 404。

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

演示 Demo

其实正常来说,Tomcat 会有一个官方演示 Demo(有人可能会纠结,这里说一下解决方法)

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

打开 Tomcat 容器的终端

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

TIP:默认工作目录就是 /usr/local/tomcat,如果不是的话就找到这个路径

cd /usr/local/tomcatNAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

查看当前路径下有什么文件(webapps 映射到外部持久化的,webapps.dist 则是原本自带的欢迎页面和示例程序)

lsNAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

将 webapps.dist 路径下的文件,移动到 webapps 路径

mv webapps.dist/* webappsNAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

来到 webapps 文件夹下,可以看到文件

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

刷新一下浏览器,就能看到熟悉的示例画面

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

HTML 项目部署

清空 webapps 下的所有文件,新建一个 ROOT 文件夹

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

将 HTML 文件放到 ROOT 目录下就行

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

用 AI 简单写了一个 Hello World 页面

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

WAR 包部署

部署非常方便,先清空 webapps 目录的文件

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

TIP:用到的演示文件

https://tomcat.apache.org/tomcat-9.0-doc/appdev/sample/sample.war

先将 WAR 包重命名为 ROOT(因为之后会自动解压后的文件夹,如果不是 ROOT 名称,里面文件就不会识别运行)

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

将使用 WAR 包放到 webapps 路径即可,就会自动解压数据包的

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

能看到已经正常运行了

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

JAR 包部署

JAR 包其实在 Java 环境直接运行会更加方便,但是 Tomcat 上就有点麻烦不建议

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

TIP:用到的演示文件

//Spring Boot 项目,有 /hi 接口 https://github.com/findyou230/hello-java-jar //只有信息打印,没有网页显示 https://github.com/jarirajari/helloworld

将 JAR 包放到 webapps 路径下(不会自动解压的)

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

打开终端,来到 webapps 路径查看文件列表

cd /usr/local/tomcat/webapps lsNAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

运行 JAR 包(大概率会看见 8080 端口已经被占用,因为 Tomcat 本身就已经占用 8080,而启动的项目也是 8080 端口)

java -jar hello-0.0.1-SNAPSHOT.jarNAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

解决方法:

  • 改打包前 JAR 项目的端口(如果你是开发者)

  • 修改 tomcat 镜像的内部端口

下面演示修改 tomcat 镜像的内部端口,打开终端

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

拷贝 server.xml 配置文件,复制到 webapps 目录

cp /usr/local/tomcat/conf/server.xml /usr/local/tomcat/webappsNAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

打开编辑 server.xml 文件

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

找到这一行,把 port="8080" 改成 port="8090"

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

修改 Docker Compose 模板,重新部署(也可以将 server.xml 不放在 webapps 目录内,另外单独映射)

services: tomcat: image: tomcat:9.0 container_name: tomcat volumes: - ./webapps:/usr/local/tomcat/webapps - ./webapps/server.xml:/usr/local/tomcat/conf/server.xml ports: - 8080:8080 - 8090:8090 restart: unless-stopped

访问 8090 就能看到界面了

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

重复上面步骤,重新运行 JAR 包,没有报错了

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

访问 8080 就能看到有显示,说明已经正常运行了(后期不需要次次手动运行,加上启动命令 command 字段让 JAR 包随容器自动启动)

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

扩展

下面内容有可能有些地方说得不一定对,仅供参考

NAS 上怎么跑 Java 项目?手把手教你部署 Tomcat

WAR 和 JAR 区别

打包成 WAR 包:

需要依赖外部的 Web 服务器(如 Tomcat)才能运行。这种方式下,需要先启动服务器,再部署并启动应用,因此对服务器的资源(如端口号、内存等)占用相对较多。但好处是能够充分利用独立服务器的性能与成熟能力,应用与服务器相互独立,便于利用服务器本身处理复杂的请求转发和集群配置。

打包成 JAR 包:

更加轻量级,不依赖外部服务器。因为 JAR 包内嵌了 Tomcat(或其他 Servlet 容器),所以可以直接通过 java -jar 命令运行,配置简单、上手方便。虽然内嵌的容器在某些高级定制化或运维管理功能上,可能不如独立部署的外部服务器那样强大和灵活,但其便捷性非常适合现代微服务架构的快速交付。

项目打包

现在的 Spring Boot 项目绝大多数都推荐使用 JAR 包的形式进行打包和部署,因为它完美契合了“约定大于配置”和微服务的理念,运维起来也更加省心。

SpringBoot 项目 JAR 打包

https://blog.csdn.net/m0_67392126/article/details/126115957

SpringBoot 项目 WAR 打包

https://www.jb51.net/article/202524.htm

总结

Tomcat 是一款轻量级 Java Web 应用服务器,用于部署 Java 项目。对于普通用户来说日常确实用不上,但有些游戏服务端、开源项目可以部署在 Tomcat 运行。三种部署方式里,WAR 包和 HTML 项目最省心,JAR 包建议直接用 Java 环境跑更方便。

综合推荐:⭐⭐⭐(一般用户用不上)

使用体验:⭐⭐⭐(常规开发工具,WAR/HTML 部署简单)

部署难易:⭐⭐(简单)︎

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
2
扫一下,分享更方便,购买更轻松