使用idea打包war包
双击右侧maven 中的clean,再双击package打包。
会在项目目录下target中生成xx.war。
linux服务器环境部署
java - jdk安装
这个需要去oracle官网下载需要的jdk。
参考链接
输入javac 、java、java -version可以验证是否ok。
tomcat安装
参考链接
参考链接2
jdk安装不要参考链接2,tomcat8.5版本可以参考,建议链接3就够了。
参考链接3
启动项目验证:sudo ./starup.sh (文件在tomcat的bin目录下)
如果可以在网页上打开tomcat界面
说明tomcat安装成功。
mysql安装
我之前一篇博客有介绍。
大致就是:
sudo apt-get update install.
sudo apt-get install mysql-server
安装过程中可能会要输入密码,直接enter即可,到时候登陆就是默认为空。
启动:/etc/inint.d/mysqld start
停止:/etc/inint.d/mysqld stop
安装完mysql,如果直接普通用户身份登陆(mysql -u root -p)报错:ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’,而sudo mysql -u root -p则可以登陆,那么需要以管理员登陆数据库改一些设置。
//改密码
mysql>use mysql
mysql>update user set authentication_string=password("你的密码") where user="root"
mysql> flush privileges
//改权限 ,普通用户也可以进入。否则会连不上数据库
mysql>use mysql
mysql>select user,plugin from user (可以查看root的plugin是否为auth_socket,如果是,则输入以下命令进行修改密码和权限)
mysql> update user set authentication_string=password("123456"),plugin='mysql_native_password' where user='root'
war包解压到webapps中
需要注意权限是否和其他一样。如果是tomcat直接解压的可能用户归属和用户组归属都是root。似乎要改一下,这个不是很确定。
建议解压命令unzip :
unzip -oq finance.war -d /home/star-net/tomcat/apache-tomcat-8.5.43/webapps
说明:
unzip -o:不必先询问用户,unzip执行后覆盖原有文件。
unzip -q:执行时不显示任何信息。
应为springboot + spring data jpa是直接先连上对应的数据库建立一定的关系,所以如果数据库连不上的话,项目将不能够正常的部署。
有的博客中说,sprignboot如果打包成war包就要注释掉 如下
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
`
经过尝试,是可以不用注释的。
最后访问结果如下。
如果是在windows上,就是直接找到tomcat的解压目录下的webapps,直接把war包扔进去,再双击一个 starup.bat.
另外下载jdk是要去oracle官网,需要翻墙。
我注册的账户是qq邮箱,密码是P********2-
其实使用另外一种方式会更快,而且更好。
方式2
netstat -ntpl //可以查看当前使用的监听端口,如果有占用项目使用的端口,就需要先杀死,不然的话会冲突
kill pid //杀死进程
//将war包放到一个dir,然后执行如下命令即可。
nohup java -jar data.war &