Springboot项目部署到Linux上,并远程访问测试
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Springboot项目部署到Linux上,并远程访问测试,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3784字,纯文字阅读大概需要6分钟。
内容图文
![Springboot项目部署到Linux上,并远程访问测试](/upload/InfoBanner/zyjiaocheng/926/240876c2172f402f9fd09f4a7e384d78.jpg)
通过Springboot登陆demo实战记录,我们做了一个Springboot的登陆demo。下一步我们想要实现的是将该项目发布到服务器上,然后用自己的电脑对其进行访问,就像你用QQ的登陆注册页面一样。这里有2个问题:
(1)项目如何远程访问:
也就是说别人怎么样才能访问到你电脑里的项目。
这里涉及到跨域访问问题,所谓跨域访问是浏览器为了安全,设置了同源策略,即本域的脚本只能访问本域的资源。当你想要访问其他域的内容时候,浏览器会报跨域访问错误。同源指的是:域名,端口,协议。
说通俗一点就是,你总不能去随便进出别人家还拿人家东西吧,除非人家允许你去。
跨域问题的触发流程为:
- 浏览器向服务器发送请求,并在Header中将Origin字段设置为你的IP,表明你这个IP想要访问人家的东西。
- 服务器收到请求后去白名单中查看是否有你这个IP,如果有的话,向浏览器返回一个Header,其中Access-Control-Allow-Orign的值是你的IP。
3.浏览器根据是否有这个header来决定你能否访问。
Springboot使用@CrossOrign(origns = IP地址)的注解方式支持跨域访问。
该注解可以添加在类上,表明该类中所有方法都支持跨域;也可以添加在方法上,表示该方法支持跨域。
@Controller
public class LoginController {
@Autowired
private UserMapper mapper;
@RequestMapping(value = "/login",method = RequestMethod.POST)
@CrossOrigin("*") //*表示所有的IP都可以访问该方法
public String login(HttpServletRequest request,Map<String,Object> map){
String username = request.getParameter("username");
String password = request.getParameter("password");
User result = new User();
result = mapper.find(username,password);
if (result != null){
return "success";
}
else {
map.put("msg","账号密码错误");
return "index";
}
}
}
@Controller
public class RegisterController {
@Autowired
private UserMapper mapper;
@PostMapping(value = "/add")
@CrossOrigin("*")
public String register(HttpServletRequest request, Model model){
String username = request.getParameter("username");
String password = request.getParameter("password_1");
User user = new User();
user = mapper.is_exist(username);
if (user != null){
model.addAttribute("msg","账号已存在");
return "register";
}
else {
mapper.register(username,password);
return "index";
}
}
@GetMapping("/register")
public String Toregister(){
return "register";
}
}
如果需要跨域支持的地方太多,不想一一添加注解,可以创建一个继承WebMvcConfigurerAdapter
的类配置类。并重写其中的方法进行全局设置。
上述注解添加之后,项目就已经可以实现远程访问了,下一步就是把项目部署在别的电脑上,这里使用的是一台装有Linux Centos8的电脑作为服务器。
(2)项目如何部署在服务器上。
1. 服务器环境部署
1.1 安装JDK
很明显,Springboot项目是使用java作为开发语言,所以你的服务器上一定要有JDK,才能够正常运行你的项目。
在oracal官网下载对应版本的JDK,这里使用的是JDK15。我们选择这种tar.gz格式的。
下载之后打开控制台,进入你的下载路径,使用$tar -zxvf jdk-15.0.2_linux-x64_bin.tar.gz 对其进行解压,解压后,你的下载路径中会多一个jdk-15.0.2的文件,说明解压成功。
1.2 配置环境变量
和Windows一样,JDK安装后,需要去配置环境变量。
使用命令$vim /etc/profile进行环境变量配置模块,光标滑到最后一行,输入I进入插入模式,另起一行输入:
export JAVA_HOME=/home/dell/下载/jdk-15.0.2 (根据自己的完整路径修改)
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin: J A V A H O M E / j r e / b i n : JAVA_HOME/jre/bin: JAVAH?OME/jre/bin:PATH
export CLASSPATH=.: J A V A H O M E / l i b : JAVA_HOME/lib: JAVAH?OME/lib:JAVA_HOME/jre/lib
复制粘贴后按ESC退出,另起一行输入wq!,回车退出
1.3激活环境
$source /etc/profile
$java -version
如果出现java版本信息,则环境变量配置成功。
2. 项目部署
在自己安装了maven,并配置了环境变量之后,在IDEA的terminal中输入mvn clean package,就会自动将项目进行打包,并生成在target目录下。
之后将jar包移动到linux机器上,打开控制台,先激活环境,再运行jar包。
$source /etc/profile
$java -jar xxxxx.jar
现在服务器的程序已经跑起来了,我们可以通过服务器的IP地址进行访问了。
这种启动jar包的方式,启动之后,控制台便被锁定不能输入其他指令。并且控制台关闭,则服务也被关闭了。
如果想让该服务不受控制台关闭影响,可以使用下面的命令:
$nohup java -jar XXXXXX.jar &
表明忽略一切关闭信号。
内容总结
以上是互联网集市为您收集整理的Springboot项目部署到Linux上,并远程访问测试全部内容,希望文章能够帮你解决Springboot项目部署到Linux上,并远程访问测试所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。