本地项目部署到线上流程

本文详细描述了如何在阿里云购买并部署云服务器,使用宝塔面板进行安装和配置,包括公网IP获取、xshell登录、安装宝塔、配置端口、部署数据库、后端和前端应用的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本地项目需要想要别人能正常访问,则需要通过部署在云服务器上,通过ip申请来访问,之前部署过一次没有记录,本次记录一下部署流程。

一、购买云服务器

云服务器有很多种,本次用的阿里云服务器,其他服务器大同小异,购买流程大致相同,根据自己所需,购买自己能用的配置。如果只是自己测试用的话,全部选择第一项,因为是最便宜的 。或者购买套餐,也是不错的选择。
本次演示的是购买一个阿里云服务器的99元/年套餐,2核2G40G,个人使用绰绰有余
在这里插入图片描述
选择配置:一般情况下地域选择离自己近的地区,操作系统看个人喜好,我选择的是CentOS
在这里插入图片描述
之后就是购买流程,直接略过。

二、安装和使用宝塔

2.1 查看公网ip

在云服务器ECS的概览上,可以找到上述购买的云服务器的公网ip,只要是联网状态,在cmd上也能正常ping得通
在这里插入图片描述
应该是套餐选择的原因,之前购买一个月的套餐,是没有附带公网ip的,所以需要购买弹性公网ip进行绑定,才能进行后续配置使用
在这里插入图片描述

2.2 xshell登录

2.2.1 打开xshell软件,配置主机名称

在这里插入图片描述

2.2.2 配置账号密码

在这里插入图片描述
由于购买的是套餐,没有经过密码配置的步骤,不清楚密码所以需要在实例中进行密码修改,自定义选择配置购买步骤应该有配置密码这一步。
在这里插入图片描述

2.2.3 连接远程服务器

双击连接,以下情况是连接成功状态
在这里插入图片描述

2.3 安装宝塔面板

进入宝塔官网,根据所安装的系统来选择
在这里插入图片描述
粘贴至xshell进行安装,此处不能ctrl+v来粘贴,用右键粘贴选项
在这里插入图片描述
等待安装,这里的安装面板时,选择y,然后继续等待安装
在这里插入图片描述
安装成功后,会显示访问的外网地址和登录所需要的账号密码(需要保存)
在这里插入图片描述

三、配置宝塔面板

3.1 配置端口

2.3步骤之后将宝塔面板部署在了10209端口上(根据实际端口进行配置),需要再云服务器上放开访问,否则是无法正常打开宝塔面板的

3.1.1 打开实例安全组

在这里插入图片描述

3.1.2 端口配置

配置目的端口10129,源的话设置0.0.0.0,表示任何地址都可以访问。
在这里插入图片描述
配置后续的mysql、前端8887服务和后端8889服务
在这里插入图片描述

3.2 登录宝塔面板

打开外网地址,输入账号密码
在这里插入图片描述
阅读之后才能进入面板
在这里插入图片描述
绑定手机号,没有账号进行注册即可
在这里插入图片描述
面板安全页面配置相关端口
在这里插入图片描述

3.3 安装所需服务

默认会推荐安装套件进行安装,一键安装相对简单一点,也可以在面板软件商店进行按需安装
在这里插入图片描述
所需安装:nginxmysqlpm2node版本管理,此处特别要注意版本问题,否则会出现各种奇奇怪怪的问题。
之后在首页调出面板
在这里插入图片描述

四、部署项目

4.1 部署数据库

4.1.1 创建数据库

输入数据库名和用户名,访问权限设置成所有人,也可以根据安全配置进行配置
在这里插入图片描述

4.1.2 导入sql文件

点击导入
在这里插入图片描述
从本地上传,选择自己的sql文件,导入后进行上传
在这里插入图片描述
之后进行导入
在这里插入图片描述
经过远程连接,结果正常
在这里插入图片描述

4.2 部署后端

后台安装node版本为v12.16.0
在这里插入图片描述
更换配置文件,连接到远程数据库中
在这里插入图片描述

4.2.1 上传目录

后端目录部署在文件\www\wwwroot
在这里插入图片描述
选择后端服务(express)
在这里插入图片描述
解压后端文件
在这里插入图片描述

4.2.2 运行服务

添加pm2上的项目,注意启动文件要选择app.js
在这里插入图片描述
启动成功
在这里插入图片描述

4.2.3 测试后端服务

使用postman进行接口测试,有返回就是成功了。
在这里插入图片描述

4.3 配置前端

4.3.1 上传项目

前端目录部署在文件\www\server,上传前端打包的vue项目
在这里插入图片描述

4.3.2 配置nginx

server上配置监听端口,前端端口为8887,如果不清楚nginx配置的可以转另一篇文件链接
当访问8887/api/时,会匹配到服务器8889/api/下
在这里插入图片描述

注意1:如果出现pm2找不到命令或者node找不到命令,需要检查是否安装好了环境,到pm2管理器上的模块管理上找,都有版本则是没问题的,需要先安装node,再安装pm2,不然可能会出现这种情况(别问我怎么知道!!!)

在这里插入图片描述

注意2:前端项目由于刚开始是使用vite.config.js代理配置,在服务器上的nginx重新配置

在这里插入图片描述

### 部署Web应用至云提供商的线上虚拟机 #### 选择合适的实例类型 当准备将Web应用程序部署到云端时,选择适合工作负载需求的实例至关重要。这涉及到评估预期流量、资源消耗模式(CPU密集型还是内存密集型)、存储需求等因素来决定最适合项目的硬件规格[^2]。 对于大多数中小型网站而言,通常可以从较小规模起步,随着访问量增长再逐步升级资源配置。云服务商一般会提供多种预定义模板供客户挑选;这些模板已经针对不同应用场景进行了优化调整,能够满足大部分用户的初始搭建要求。 #### 创建并配置虚拟机环境 创建好所需类型的虚拟机之后,下一步便是安装操作系统及相关依赖项。考虑到兼容性和社区支持度,在Linux发行版方面Ubuntu Server是一个不错的选择。通过SSH连接登录新建立起来的远程主机后即可着手进行必要的初始化设定: - 更新现有包列表并完成所有可用更新; - 安装Python解释器及其开发工具链; - 设置静态IP地址以便后续管理维护更加便捷高效。 ```bash sudo apt update && sudo apt upgrade -y sudo apt install python3-pip python3-dev libpq-dev nginx git -y ``` #### 构建生产级Web服务器架构 为了确保良好的性能表现与安全性保障,建议采用反向代理加应用层防护相结合的方式来构建整个服务体系结构。这里推荐使用Nginx作为前端HTTP(S)请求处理器,并配合Gunicorn这样的异步处理库负责调用后台业务逻辑代码片段。具体来说就是在/etc/nginx/sites-available/目录下新建一个描述目标站点特性的配置文件,其中指定了监听端口、根路径映射关系等内容[^1]。 另外值得注意的是,如果计划长期运营该平台的话,则还需要考虑SSL证书申请事宜——Let's Encrypt提供了免费且易于集成的服务选项可供选用。 #### 调整网络安全策略 最后但同样重要的一环在于合理规划出入站规则集以保护内部资产免受外部威胁侵害。一般来说,默认情况下只允许来自特定源网段内的HTTPS/TCP通信尝试进入VPC内部网络空间;而对于其他任何未经许可的数据流则一律予以拦截阻止。可以通过命令行或者图形界面两种方式实现上述目的,下面给出了一条样例语句用于开放80(临时重定向用途)/443号标准web服务端口号对外可见性的同时关闭其余一切潜在风险敞口: ```bash sudo ufw allow 'Nginx Full' sudo ufw delete allow 80/tcp sudo ufw enable ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值