这篇文章涉及到的内容比杂,我会设置标题方便大家按需寻找自己需要解决的问题。
另外在阅读有关项目部署到虚拟机上的内容之前请确保你的在Linux上安装好了JDK,MySQL服务端,Tomcat。
下面这张图是我安装的版本:
在IDEA上将项目打包成war包
我首先是在IDEA上写的项目,运行成功后将项目打包成war包放到Linux上的服务器,下面我来展示我的项目在IDEA上都包含哪些文件:
Build -> Build Artifacts…..
点击之后会出现一个窗口,这里选择你想要打包成war包的项目,选择Build(构建),如果你的项目中已经有了war包,但是代码你做了修改,这里可以选择Rebuild(重建)这样就可以覆盖掉你之前的war包了。
关于打包之后的war包我们可以在Project Structure中找到,如下图:
通过以上步骤我们就打包好了war包,并找到了它所在的位置。
将项目部署到虚拟机上
1.首先搭建你的服务器(这里我搭建的有四台,我只用tomcat2来运行我的项目):
2.将打包好的war包拖到服务器(/usr/local/tomcat/tomcat2/webapps)目录下(可以将war包的文件名修改成ROOT):
3.启动服务器(在bin目录下启动):
./startup.sh
4.开启MySQL服务,连接SQLyog
service mysql start
出现Starting MySQL SUCCESS!表示启动成功。
去SQLyog进行连接:
如果连接时出现下面这样的报错,可能是防火墙没关:
#启动防火墙
systemctlstartfirewalld.service
#查询防火墙状态
systemctlstatusfirewalld.service
#关闭防火墙
systemctlstopfirewalld.service
#设置开机启用防火墙
systemctlenablefirewalld.service
#设置开机禁用防火墙
systemctldisablefirewalld.service
测试MySQL是否开启
sudo systemctl status mysql
另外主机地址的获取方式:
ifconfig
5.最后在浏览器输入地址即可访问成功:
报错解决
我遇到的报错都是连接数据库时出现的错误,报500。一开始是提示数据库连接失败说是我密码错误,后来发现项目中我创建的jdbc.properties文件上的密码和主机地址没有改(下图):
最后一次报错是:java.lang.RuntimeException: java.sql.SQLException: Access denied for user 'root'@'node1' (using password: YES)
访问被拒绝了,后来发现是没有权限,于是我便执行了下面的代码:
-- 授予权限给 'root' 用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'node1' IDENTIFIED BY 'root';
-- 刷新
FLUSH PRIVILEGES;
解决以上问题之后项目成功运行!!!(兴奋)
以上就是全部内容,希望能给读者您带来帮助!如果有什么说错的地方或者需要补充的内容还望在评论区指正,谢谢!
版权归原作者 九病难祎 所有, 如有侵权,请联系我们删除。