目录
一、Vue项目打包
打包命令:
npm run build
,具体的可查看package.json
文件中的命令
打包完成后项目会多出
dist
文件夹,项目部署要用到
二、Spring Boot项目配置前端资源
在配置文件中配置前端包资源,以.yml文件为例
spring:
web:
resources:
static-locations: file:./dist # 前端资源路径
三、Spring Boot项目打包
- 如果是用IDEA开发项目,可以通过右侧的
Maven
侧边栏双击package
进行打包- 或者用Maven打包命令:
mvnw -Pprod -DskipTests=true package
打包成功后会显示jar包的路径,可以直接复制路径找到jar包
四、创建Shell脚本
在Linux系统中可以用
Shell
脚本来启动、停止、重启程序。Shell脚本是以.sh
为后缀的文件,下面是一个Shell脚本的内容,可以执行start
命令启动程序,stop
命令停止程序,restart
命令重启程序
#!/bin/bash
cd `dirname $0`
#args='-Xms2g -Xmx2g -Dspring.profiles.active=dev'
args='-Xms256m -Xmx512m'
# java命令地址
javaRun=../jdk8/bin/java
cmd=$1
# 找jar包
for jarFile in `ls *.jar`
do
app=$jarFile
done
startup(){
nohup $javaRun -Dfile.encoding=UTF-8 -jar $args $app >nohup.out 2>&1 &
tail -f nohup.out
}
stop(){
for jarFile in `ls *.jar`
do
pid=`ps -ef|grep java|grep $jarFile|awk '{print $2}'`
kill -9 $pid
done
}
if [ ! $cmd ]; then
echo "Please specify args 'start|restart|stop'"
exit
fi
if [ $cmd == 'start' ]; then
for jarFile in `ls *.jar`
do
pid=`ps -ef|grep java|grep $jarFile|awk '{print $2}'`
if [ $pid ]; then
break;
fi
done
if [ ! $pid ]; then
startup
else
echo "$app is running! pid=$pid"
fi
fi
if [ $cmd == 'restart' ]; then
echo "$app will be killed after 3 seconds!"
sleep 3
stop
startup
fi
if [ $cmd == 'stop' ]; then
echo "$app will be killed after 3 seconds!"
sleep 3
stop
echo "$app is stopped"
fi
上面的是指定JDK版本的方式,如果直接使用Linux系统安装的JDK按以下修改
# 删除该变量
javaRun=../jdk8/bin/java
# startup方法修改为
startup(){
nohup java -Dfile.encoding=UTF-8 -jar $args $app >nohup.out 2>&1 &
tail -f nohup.out
}
五、传文件到Linux系统
在Linux系统中找个位置存放程序需要的文件,我是新建了service文件夹来存放
demo文件夹下的文件,外置配置文件方便修改
六、Linux开启文件权限
需要开启Shell脚本文件和JDK中java命令文件的权限才能使用,开启权限命令如下
chmod 777 ./server.sh ../jdk8/bin/java
七、Linux开启端口权限
需要在防火墙中开启端口的权限,要不项目启动起来也访问不了,命令如下,依次执行
firewall-cmd --zone=public --add-port=端口号/tcp --permanent
firewall-cmd --get-active-zone
firewall-cmd --reload
八、启动程序
进入到程序包所在的文件夹(我的是demo文件夹),输入命令
./server.sh start
启动程序
九、浏览器访问程序
在浏览器地址栏输入
IP:端口号
访问程序,控制台中后端接口也正常返回了数据
十、Oracle数据库连接失败问题
我的Oracle是装在Windows系统上的,以前在Windows调试程序时配置文件的数据库连接地址一直用的localhost,可以正常连接。但等项目部署Linux时写上具体的IP地址发现数据库连接不上
这个原因是Oracle的监听程序问题,如下图所示,在Oracle的
Net Manager
中LISTENER
只配置了localhost,需要添加地址把具体的IP地址添加上
添加具体的IP地址,填写完成后点击左上角
文件
,点击保存网络配置
在Windows的服务中重启Oracle监听服务和Oracle主服务
重启完成后,数据库可正常连接