1.将springboot项目打包成jar包
如果有需要的话(此步可省略)
2.将项目部署到Linux云服务器上
(1)在cmd上将jar包传输到云服务器上
(2)使用finalshell连接到Linux云服务器查看jar包是否上传成功
(3)授予jar文件执行权限,并运行
Linux系统对于文件的访问权限是非常严格的。默认情况下,上传的文件只具有读和写的权限,并没有执行权限
要给jar包授予执行权限,可以使用chmod
命令,例如:
chmod a+x your_jar_file.jar
运行jar包(nohup命令:在与服务器断开连接后仍能运行jar包):
nohup java -jar liushuo-0.0.1-SNAPSHOT.jar &
3.至此项目部署已完成,但是前端若想访问该程序,还应完成以下操作:
(1)开放安全组:将springboot项目监听的端口开放
firewall-cmd --zone=public --add-port=8888/tcp --permanent # 开放8888端口
firewall-cmd --zone=public --remove-port=8888/tcp --permanent #关闭8888端口
firewall-cmd --reload # 配置立即生效
查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
开放好自己所需的端口后可查看端口是否被占用:
netstat -nlp |grep :8888
若被占用,可杀死该进程: kill 3273461
(2)解决跨域问题:
跨域问题(Cross-Origin Resource Sharing,简称CORS)指的是在浏览器中发起的跨域HTTP请求时可能会遇到的一种安全限制。
浏览器遵循同源策略(Same-Origin Policy),该策略要求在默认情况下,只能在相同的域名、协议和端口下进行通信。换句话说,当网页的源(协议、域名和端口)与要请求的资源的源不同时,浏览器会阻止资源的加载,以防止潜在的安全风险。
跨域问题通常会在以下情况下出现:
- 域名不同:例如,从http://example.com的页面向http://api.example.com发送请求。
- 协议不同:例如,从http://example.com的页面向https://example.com发送请求。
- 端口不同:例如,从http://example.com:8080的页面向http://example.com:3000发送请求。
需要注意的是,跨域问题主要是在浏览器环境中存在的限制,而不是在服务器之间的通信中。在服务器之间进行通信时,并不会受到同源策略的限制。
在此提供一种解决跨域问题的方案:
设置反向代理服务器:在服务器前面设置一个反向代理服务器(nginx),将所有的请求都发送到该服务器上,然后由反向代理服务器转发请求到不同的后端服务器
Linux安装nginx:
nginx.conf