云计算百科
云计算领域专业知识百科平台

阿里云轻量服务器:从 GitHub 部署代码实现线上访问

这是一份标准的操作流程(SOP),可以帮助你将保存在 GitHub 上的代码,部署到阿里云轻量应用服务器,并通过公网 IP 或域名供所有人访问。

第一步:连接你的轻量服务器

  • 登录 阿里云轻量应用服务器控制台。

  • 找到你购买的服务器卡片。

  • 点击卡片上的 “远程连接”(或者使用你电脑上的 SSH 客户端,如 Xshell、FinalShell、Termius 等)。

  • 连接成功后,你将看到一个黑色的命令行窗口(终端)。

  • 第二步:在服务器上安装基础环境 (Git & Nginx)

    大部分项目都需要 Git 来拉取代码,需要 Nginx 来提供 Web 服务(反向代理或静态托管)。

    在命令行中依次输入以下命令(以最常见的 Ubuntu/Debian 系统为例,如果是 CentOS 请将 apt 换成 yum):

    # 1. 更新系统软件包列表
    sudo apt update

    # 2. 安装 Git
    sudo apt install git -y

    # 3. 安装 Nginx(用于提供 Web 线上访问)
    sudo apt install nginx -y

    第三步:从 GitHub 拉取前端和后端代码到服务器

    进入服务器存放网站的常规目录(通常是 /var/www/)。

    # 进入网站根目录
    cd /var/www/

    # 1. 从 GitHub 克隆你的前端代码库
    git clone [https://github.com/你的用户名/你的前端项目名.git](https://github.com/你的用户名/你的前端项目名.git)

    # 2. 从 GitHub 克隆你的后端代码库
    git clone [https://github.com/你的用户名/你的后端项目名.git](https://github.com/你的用户名/你的后端项目名.git)

    # 如果是私有仓库,推荐使用含有 Personal Access Token 的 HTTPS 链接:
    # git clone https://<你的Token>@[github.com/你的用户名/项目名.git](https://github.com/你的用户名/项目名.git)

    克隆完成后,你的代码就会分别出现在 /var/www/你的前端项目名 和 /var/www/你的后端项目名 两个文件夹中。

    第四步:配置项目与 Nginx (实现线上访问)

    既然你同时包含前端和后端,我们需要先将后端服务在后台跑起来,然后配置 Nginx 同时处理前端的静态页面展示和后端接口的转发(前后端分离部署标准方案)。

    1. 运行动态后端服务 (Node.js / Python / Java 等)

  • 进入你的后端项目目录,安装依赖并启动服务(例如 Node.js 项目使用 npm install 然后用 pm2 start,或 Python 的 gunicorn)。

  • 假设你的后端服务成功在服务器的 3000 端口后台运行。

  • 2. 托管前端并配置 Nginx 反向代理

  • 进入前端目录,完成项目的构建打包(假设打包后生成了 dist 目录)。

  • 编辑 Nginx 的默认配置文件:

    sudo nano /etc/nginx/sites-available/default

  • 将里面的内容修改为以下结构(将前端静态文件托管和后端接口转发结合在一起):

    server {
    listen 80 default_server;
    listen [::]:80 default_server;

    # 1. 指向你的前端打包后的静态目录
    # 可自行在服务器上clone的前端项目打包,执行build,切记确保目录正确
    root /var/www/你的前端项目名/dist;

    index index.html index.htm;
    server_name _; # 如果有域名,把 _ 改成你的域名

    # 2. 处理前端页面路由 (Vue/React 必加)
    location / {
    try_files $uri $uri/ /index.html;
    }

    # 3. 处理后端接口请求(假设前端调用的接口都带有 /api 前缀)
    location /api/ {
    # 把外网对 80 端口 /api/ 的请求,转发给内部后端的 3000 端口
    proxy_pass [http://127.0.0.1:3000](http://127.0.0.1:3000);
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    }
    }

  • 保存退出(Nano 编辑器按 Ctrl+O 回车保存,Ctrl+X 退出)。

  • 重启 Nginx 使配置生效:

    sudo systemctl restart nginx

  • 第五步:开放阿里云防火墙端口 (最容易忘的一步!)

    代码跑起来了,Nginx 也配好了,但如果不开放阿里云的防火墙,外网依然访问不了。

  • 回到 阿里云轻量应用服务器控制台。

  • 点击你的服务器卡片进入详情页。

  • 在左侧菜单栏找到 “安全” -> “防火墙”。

  • 点击右上角的 “添加规则”。

  • 开放以下端口:

    • 端口范围:80,协议:TCP (用于 HTTP 访问,必须开)。

    • 端口范围:443,协议:TCP (如果你以后要配置 HTTPS 证书,必须开)。

  • 🎉 第六步:线上访问

    现在,打开你的电脑浏览器,直接在地址栏输入:

    http://你的服务器公网IP

    你应该就能看到你部署在 GitHub 上的全栈项目成功运行在线上了!前端页面会正常显示,且发往 /api/ 的接口请求也会被正确转发给后端。

    💡 进阶建议(日常更新):

    以后你在本地修改了代码并 push 到了 GitHub,只需要在服务器里更新即可:

  • 进入对应的前端或后端目录。

  • 执行 git pull origin main (拉取最新代码)。

  • 重启后端服务,或者重新执行前端的 npm run build。

  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » 阿里云轻量服务器:从 GitHub 部署代码实现线上访问
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!