后端项目开发结束后,用IDEA可直接打包成jar文件至target文件夹
再用winscp将打包后的mall-0.0.3-SNAPSHOT.jar上传到服务器(左本地主机,右服务器)
开启防火墙
sudo systemctl start firewalld
查看防火墙配置
sudo firewall-cmd --list-all
添加8081端口,允许外部访问该端口的服务;8081即后端项目的运行端口,也需要在后端配置文件里进行配置
sudo firewall-cmd --zone=public --add-port=8081/tcp --permanent sudo firewall-cmd --reload # 重启防火墙
同时还有数据库3306等端口,如果本地电脑需要连接服务器数据库也需要开放3306端口;80/8080端口也是http服务的端口,通常需要开放。如果是云服务器,还需要在实例安全组开放端口。否则只开放服务器防火墙,端口上的服务是无法访问的
端口配置完毕就可以愉快的运行后端jar包啦;但是8081端口如果已经被占用,需要查看是哪个进程占用了该端口并终止(kill)该进程;先安装一个查看进程占用端口情况的工具lsof(list open files)
sudo yum install lsof
查看8081端口使用情况,发现被4520进程占用,然后终止该进程
sudo lsof -i :8081 kill 4520
端口未占用且已开放,就能真正运行后端项目啦!
java -jar mall-0.0.3-SNAPSHOT.jar
访问该服务器的8081端口,拿到预期返回值
但是!一旦断开本地电脑与服务器的链接,会话中断,后端服务也会跟着中断;为了保证即使断开shell面板,后端服务依然执行,需要用到nohup工具(no hang up:即使终端死掉命令依然继续运行)
直接ctrl+c终止后端服务,再加上nohup前缀即可
至此,后段项目才算真正运行在了服务器上,而且接口随时可访问。
针对node后端项目,可以使用pm2工具持续运行,我的毕设同时用到了springboot+nodejs
npm install pm2 -g #安装pm2 pm2 start your_app.js #启动nodejs