主机访问虚拟机Linux上启动的spring boot项目

在主机上安装了VMware,VMware上安装了Linux,在Linux上运行spring boot项目,外部主机可以访问

VMware的NAT设置

右键点击虚拟机,选择“setting”;
在左边栏的Hardware选项卡内选择Network Adapter;
在右边栏选择NAT,如下图:
在这里插入图片描述

端口转发(Port Forwarding)

在完成NAT设置之后,虚拟机便可以访问外部网络(局域网其他用户和Internet)了。但是,从外部网络不能访问虚拟机。这是因为NAT对外是屏蔽内部网络细节的。为了实现从外部访问虚拟机,则需要设置端口转发。

查看虚拟机的IP地址
在这里插入图片描述

在VMware的菜单项Edit下选择Vitual Network Editor;在上方选定NAT网络,在下方选择NAT(shared host’s IP address with VMs),点击NAT Settings;
在这里插入图片描述

点击Add添加端口转发;
Host Port是主机的端口,即从外网访问主机该端口的请求,均转发至虚拟机;

Type指定传输协议,这里添加了TCP和UDP(Http一般只使用TCP);

Vitual Machine IP Address填写虚拟机的IP地址和端口;由于这里需提供Web服务,所以应该填写Web端口(在windows IIS的网站中设定);
在这里插入图片描述

防火墙设置
service iptables stop

这个时候主机就可以通过虚拟机的ip地址访问具体为:<虚拟机ip地址>:端口号

若正常打开Web网站,则测试通过。

### 如何将Spring Boot应用程序部署到云服务器 #### 安装JDK 确保云服务器已经安装了Java Development Kit (JDK),这是运行任何基于Java的应用程序所必需的基础环境。可以通过命令行工具来验证是否已成功安装以及其版本号。 ```bash java -version ``` 如果没有安装,则需按照官方文档指导完成安装过程[^1]。 #### 数据库准备 对于依赖于关系型数据库管理系统(RDBMS)如MySQL的应用来说,在目标机器上设置好相应的服务实例同样重要。这通常涉及到下载客户端软件包、初始化数据目录结构并启动守护进程等操作。如果之前未曾处理过这类任务,建议参照具体发行版的手册来进行配置。一旦准备好之后就可以通过编辑`application.properties`或`application.yml`文件中的连接字符串指向新的地址[^3]。 #### 构建可执行Jar包 利用Maven或者Gradle构建工具可以很容易地把整个工程编译打包成单一的jar档案形式。这种方式不仅简化了分发流程而且也方便后续维护更新工作。下面是一个简单的maven命令用于生成最终制品: ```xml mvn clean package -DskipTests=true ``` 此指令会跳过单元测试阶段以加快速度,当然也可以根据实际情况调整参数选项。 #### 开放必要的网络端口 为了使外部请求能够到达内部的服务接口,必须适当放宽安全组策略允许特定范围内的流量进出虚拟机实例。一般情况下只需要开放HTTP(S)协议对应的80/443两个常用监听点即可满足大部分Web应用场景的需求;而对于某些特殊业务逻辑可能还需要额外暴露其他自定义端口号给公网访问。记得遵循最小权限原则只授予所需的最低限度许可! #### 文件传输与远程执行 借助SCP/SFTP等方式上传本地计算机上的二进制文件至远端主机指定位置后便可通过SSH终端登录过去查看日志输出状况进而手动触发启动脚本。这里给出一段基本样例供参考学习之用: ```bash nohup java -jar /path/to/application.jar > log.out & ``` 上述语句会在后台持续不断地运行直至遇到致命错误为止并将标准输出重定向保存起来便于事后排查问题所在之处。 #### 外部容器化支持(可选) 当考虑长期稳定性和跨平台兼容性因素时不妨尝试采用更先进的解决方案——比如让WAR格式归档被传统Servlet引擎托管。此时就需要编写一个继承自`SpringBootServletInitializer`抽象基类的新子类,并实现其中虚函数`configure()`用来注册根上下文路径映射规则[^2]。 ```java import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值