约定 链接到标题
首先本次部署是建立在宝塔面板下的,数据库用的是 MySQL,没有使用 SpringBoot 等框架,只是纯生 tomcat。
宝塔安装 链接到标题
可以直接上官网找自己对应系统的命令来安装 宝塔官网
也可以利用下面我复制来的命令来安装
Centos:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
Ubuntu:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
利用命令行最后显示的面板启动 url 和账号密码登录到面板后台后,会提示是否需要安装基础软件,我们安装左边的 LNMP 即可
然后我们先在数据库管理页添加所需的服务器后导入所需的库或者修改权限用 navicat 连接来建立所需的数据库即可。
方法一 链接到标题
这里我们选择面板提供的原生部署方法。
搭建环境 链接到标题
首先我们在宝塔面板的网站选项页下添加我们所需要的 jdk 与 tomcat(文中选用 jdk1.8 与 tomcat9)。
添加项目 链接到标题
然后就可以添加 Java 项目了,按图中的步骤一步步来即可,表单其他部分可以用默认配置。
传项目文件 链接到标题
我们进入默认的建站目录,把里面自动生成的所有文件都删除,然后上传项目的前端文件与 war 包,然后解压 war 包即可。
重新配置 链接到标题
最后我们重新配置一下项目和 tomcat 即可
域名解析 链接到标题
这一步有一个神奇的问题:DNS 商的域名解析会访问 /www/server/bt_tomcat_web/你的服务器ip/webapps/ROOT
目录,且该目录下会自动生成 tomcat 的默认页面,而我怎么样都无法将这个路径改到前面部署的目录下。
所以在解析域名时我们需要先删除 /www/server/bt_tomcat_web/你的服务器ip/webapps/ROOT
下的所有文件,再将前端文件传上去,然后就可以成功从域名访问前端文件且正常发送请求给后端了。
方法二 链接到标题
这里我们选择面板提供的一个第三方软件来快速搭建环境。
首先选择软件商店页,搜索 Java项目一键部署 下载即可,然后点开设置。
我们在这个页面选择 tomcat9 下载,下载好后 jdk 1.8 也会一起安装,这时我们所需的环境就都搭建好了。
项目部署 链接到标题
打war包 链接到标题
首先我们在 idea 等 IDE 中把想项目的 war 包打好,步骤如图:
这里不要忘了把需要的第三方包添加到 war 包内
上传文件 链接到标题
然后我们就可以在 项目所在根目录/out/artifacts/设置的war包名称/ 下找到打好了的 war 包。
接着我们用 sfpt 软件或者宝塔面板提供的图形化文件管理页找到 tomcat 下面的 webapps 目录,我的是在 www/service/tomcat9/webapps 然后将打好了的 war 包和前端项目文件都传上去。
设置项目 链接到标题
我们回到 Java 一键部署软件的设置页面,在点击添加项目后如图设置
确定后就可以试着在浏览器地址栏输入 ip(或域名)+端口来访问了。
一些问题 链接到标题
- tomcat 9 和 tomcat 10 存在 servlet 包名修改的坑,需要注意。
- jdk 1.8 是没有 json-lib 包的,所以读取 json 字符串是需要用 jackson 包的。
- 如果出现跨域问题,可以看看前端项目文件里请求的 url 是否为 localhost,如果是则修改为服务器 ip。
- 前端如果有目录为 manager 或 host-manager,访问时会出现 403 错误,我按其他教程的做并不能解决这个冲突,所以可能解决方法就只有修改前端的目录名称了。