虚拟机构建部署单体项目及前后端分离项目

目录

一.部署单体项目

1.远程数据库

1.1远程连接数据库

1.2 新建数据库运行sql文件

2.部署项目到服务器中

3.启动服务器运行

二.部署前后端分离项目

1.远程数据库和部署到服务器

2.利用node环境启动前端项目

3.解决主机无法解析服务器localhost问题

方法一

 ​编辑

方法二


一.部署单体项目

1.远程数据库

先远程连接我们的数据库,这里使用navicat将我们的sql文件导入运行在我们的虚拟机的数据库中

1.1远程连接数据库

1.2 新建数据库运行sql文件

注:创建数据库时一定要确认是否与打包好的项目配置数据库名称是否相同

运行sql文件

 

2.部署项目到服务器中

以Tomcat为例,将提前准备好的项目包放到Tomcat目录下的webapps中

3.启动服务器运行

在虚拟机中找到tomcat服务器的bin目录下的startup.bat,双击运行后,回到我们的主机在浏览器中输入ip地址+访问路径即可访问

小结:在项目中可以提前将所有的配置信息放在同一个以properties结尾的文件中,在tomcat进行部署项目时会将我们打包好的项目进行解析,并以文件夹的形式存在与当前目录,当出现配置信息不同时,我们可以找到我们的配置文件进行修改

二.部署前后端分离项目

1.远程数据库和部署到服务器

参考上面部署单体项目

2.利用node环境启动前端项目

利用node.js在服务器中启动前端项目,然后通过ip地址在虚拟机上进行访问

3.解决主机无法解析服务器localhost问题

方法一

我们可以利用反向代理服务器进行部署,使主机访问反向代理服务器

这里我们使用nginx,将里面的conf文件夹中的nginx.conf文件进行修改,将服务器本机的8081端口号给反向服务器进行代理,使我们的主机能够访问到

 

当设置好后启动nginx

启动:start nginx
停止:nginx.exe -s stop   或者    nginx.exe -s quit
重启:nginx.exe -s reload

 在主机使用80端口进行访问

方法二

将前端项目中的index.js中访问限制进行修改,将localhost修改成0.0.0.0 就可以在我们的主机上进行访问了

### 将单体应用重构为微服务的方法 #### 方法论概述 将单体应用程序转换成微服务体系结构是一项复杂的工作,涉及多个方面。首先,在确定系统的功能模块之后,需识别并分离具有相同业务逻辑的服务[^3]。 #### 抽离服务的关键步骤 引入网关和服务注册中心是重要的一步。API网关(如Nginx、Kong或Zuul)可以用来处理外部请求并将它们转发给适当的服务实例。服务注册与发现机制(例如通过Eureka或Consul),则允许各微服务之间相互查找和通信,从而支持动态环境下的灵活部署。 #### 高可用性设计 为了保障整个系统的稳定性以及良好的性能表现,应该针对API网关和服务注册中心实施高可用性和负载均衡策略。这不仅有助于提高响应速度,还能增强应对突发流量的能力。 --- ### 工具的选择 对于持续集成/持续交付(CI/CD),可以选择像Jenkins这样的开源自动化服务器来管理构建过程;而对于容器化解决方案,则有Docker作为轻量级虚拟化的代表技术之一被广泛采用。此外,当涉及到编排大量容器时,Kubernetes是一个强大的平台选项,它提供了自动化的容器操作能力,包括部署、维护和扩展等工作流的支持[^1]。 --- ### 最佳实践建议 - **逐步迁移**:不必一次性完成全部改造工作,可以从最易分割的部分入手,逐渐过渡至完全解耦合的状态。 - **定义清晰边界**:确保每一个新创建出来的微服务都拥有明确定义的功能范围及其与其他组件之间的交互接口标准。 - **加强测试覆盖度**:随着架构变得更加分布式,单元测试变得尤为重要,同时也要重视端到端场景下整体行为验证的重要性。 - **注重安全性考量**:在整个转型期间始终关注安全防护措施的有效性,特别是在身份认证授权环节要特别小心谨慎。 ```python # 示例代码展示如何使用Flask框架快速搭建一个简单的RESTful API服务 from flask import Flask, jsonify app = Flask(__name__) @app.route('/api/v1/resource', methods=['GET']) def get_resource(): return jsonify({'message': 'This is a microservice endpoint'}) if __name__ == '__main__': app.run(host='0.0.0.0') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值