第一步,在本地把 springBoot 项目打包
这里以 idea 开发工具为例
- 先运行clean。目的,如果之前编译过,可以清除上次编译在项目中生成的文件(target目录下的所有文件)
- 运行compile 。目的,可以提前发现项目中存在的问题,及时改正。在内网中常见 问题就是 pom.xml 文件中的 jar包下载错误。如果有错误,参考下面解决方案,没有直接忽略即可。
解决方案:
把项目中下载失败的jar包,重新上传到nexus私服仓库中
然后先清除本地仓库的 .lastUpdated 文件, 不然即使上传了jar包,也下载不下来
下面是清除文件的代码。新建文本文件,粘贴内容,后缀名改为 .bat,双击运行即可。
@echo off rem 这里写你的仓库路径 set REPOSITORY_PATH=你的本地仓库路径 rem 正在搜索... for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do ( del /s /q %%i ) rem 搜索完毕 pause
3. 运行打包命令
在项目终端运行下面命令
mvn -Dmaven.test.skip=true -U clean install
第二步,编写运行脚本
启动脚本
#!/bin/bash
echo Starting application
nohup java -jar -Xms64m -Xmx1024m xxxxx.jar >xxxxx.log &
tail -f xxxxx.log
关闭脚本
#!/bin/bash
PID=$(ps -ef | grep xxxxx.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo xxxxx is already stopped
else
echo kill $PID
kill $PID
fi
第三步,上传jar包和脚本到Linux服务器
这里用到ScureCRT连接工具,包含SecureFX,支持界面化上传文件到服务器
下载链接 :
第四步,脚本授权
sh xxx.sh 是不需要有执行权限
./xxx.sh 是需要有执行权限的,可以通过 chmod +x xxx.sh 赋予权限
第五步,开放服务端口
- 查看想开的端口是否已开: firewall-cmd --query-port=端口号/tcp 提示 yes,表示开启;no表示未开启。
- 添加指定需要开放的端口: firewall-cmd --add-port=端口号/tcp --permanent
- 重载入添加的端口: firewall-cmd --reload
- 查询指定端口是否开启成功: firewall-cmd --query-port=端口号/tcp
移除指定端口: firewall-cmd --permanent --remove-port=端口号/tcp
第六步,启动服务
cd 进去jar包所在目录
./脚本名 回车 或者
sh 脚本名 回车
第八步,验证端口是否正常
Linux 使用
lsof 命令来查看某一端口是否开放。查看端口可以这样来使用,我就以80端口为例:
lsof -i:80
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
windows 使用
telnet ip 端口号
方式测试远程主机端口是否打开
例 telnet 192.168.137.128 8085
第九步,杀掉进程
ps ef | grep jar包名称.jar
kill -9 进程号