你想把 GitHub 上的仓库项目部署到服务器,核心思路是把 GitHub 上的代码拉取到服务器,再根据项目类型(静态文件 / 后端服务)完成运行配置。我会用最通用、新手友好的方式讲解,分「准备工作」「核心部署步骤」「不同项目类型的适配」三部分,确保你能落地。
运行
拉取成功后,服务器会出现和 GitHub 仓库同名的文件夹,里面是所有代码。
bash
运行
运行
启动后,访问
运行
bash
运行
一、部署前的准备工作
1. 服务器端准备
- 确保服务器(云服务器如阿里云 / 腾讯云、VPS 等)能联网,且安装了
git(几乎所有服务器系统都自带,没有则执行安装):
bash
运行# CentOS/RHEL 系统 yum install git -y # Ubuntu/Debian 系统 apt update && apt install git -y - 若项目是后端(Python/Node.js/Java 等),需安装对应运行环境(比如 Node.js 项目装 Node,Python 项目装 Python/pip)。
2. 权限准备(二选一,推荐方式 1)
- 方式 1:SSH 免密拉取(推荐):服务器生成 SSH 密钥,把公钥添加到 GitHub 账号,避免每次拉取都输密码:
bash
运行# 服务器生成 SSH 密钥(一路回车,不设置密码) ssh-keygen -t ed25519 -C "你的GitHub邮箱" # 查看公钥内容 cat ~/.ssh/id_ed25519.pub
复制输出的公钥,登录 GitHub → 头像 → Settings → SSH and GPG keys → New SSH key → 粘贴公钥,保存。 - 方式 2:HTTPS 拉取:直接用仓库的 HTTPS 地址拉取,拉取时需输入 GitHub 用户名 + 个人访问令牌(替代密码,GitHub 已禁用密码登录)。
二、通用部署步骤(以静态项目 / 简单后端为例)
步骤 1:服务器上拉取 GitHub 仓库代码
bash运行
# 进入服务器的部署目录(比如 /var/www,也可自定义)
cd /var/www
# 拉取仓库(SSH 方式,替换为你的仓库地址)
git clone git@github.com:你的用户名/仓库名.git
# 若用 HTTPS 方式
git clone https://github.com/你的用户名/仓库名.git
拉取成功后,服务器会出现和 GitHub 仓库同名的文件夹,里面是所有代码。
步骤 2:(可选)切换到指定分支(比如 dev 分支)
如果部署的不是 main/master 分支:bash
运行
cd 仓库名 # 进入拉取的仓库目录
git checkout dev # 切换到 dev 分支
git pull # 确保拉取最新代码
步骤 3:根据项目类型启动 / 配置
这是关键步骤,不同项目类型操作不同,我分最常见的 3 类说明:场景 1:静态项目(HTML/CSS/JS/ 图片等,比如静态网站)
- 直接用 Nginx 托管即可(先安装 Nginx):
bash
运行# CentOS 安装 Nginx yum install nginx -y # Ubuntu 安装 Nginx apt install nginx -y # 启动 Nginx systemctl start nginx systemctl enable nginx # 设置开机自启 - 修改 Nginx 配置(以
/etc/nginx/conf.d/你的项目名.conf为例):
nginxserver { listen 80; server_name 你的域名(没有则填服务器IP); # 指向仓库的静态文件目录(比如仓库根目录) root /var/www/仓库名; index index.html index.htm; # 解决刷新404(单页应用如Vue/React需加) location / { try_files $uri $uri/ /index.html; } } - 重启 Nginx 生效:
bash
运行nginx -t # 检查配置是否有误 systemctl restart nginx
此时访问服务器 IP / 域名,就能看到静态项目。
场景 2:Node.js 后端项目(比如 Express/Koa)
bash运行
# 进入仓库目录
cd /var/www/仓库名
# 安装依赖
npm install
# 启动项目(前台运行,测试用)
node app.js # 替换为你的入口文件(如 index.js)
# 生产环境用 PM2 守护进程(避免关闭终端就停止)
npm install pm2 -g
pm2 start app.js # 启动
pm2 save # 保存进程
pm2 startup # 设置开机自启
启动后,访问
服务器IP:项目端口 即可(需确保服务器防火墙开放对应端口)。
场景 3:Python 后端项目(比如 Flask/Django)
bash运行
# 进入仓库目录
cd /var/www/仓库名
# 安装依赖(推荐用虚拟环境)
python -m venv venv
source venv/bin/activate # 激活虚拟环境(Windows 是 venv\Scripts\activate)
pip install -r requirements.txt
# 启动 Flask 项目(测试用)
python app.py
# 生产环境用 Gunicorn + Nginx 反向代理
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:8000 app:app # 替换为你的入口和应用名
三、后续维护:更新代码(重新部署)
当 GitHub 仓库有新代码时,服务器拉取最新版本即可:bash
运行
cd /var/www/仓库名
git pull # 拉取最新代码
# 重启服务(根据项目类型)
# 静态项目:无需重启 Nginx(除非改了配置)
# Node.js:pm2 restart app.js
# Python:gunicorn 重启(或 kill 进程后重新启动)
总结
- 部署核心流程:服务器装 Git → 拉取 GitHub 代码 → 安装运行环境 → 启动 / 配置服务;
- 权限推荐用 SSH 免密,避免重复输密码;
- 不同项目类型的关键差异在「启动环节」:静态项目用 Nginx 托管,后端项目需装运行环境 + 守护进程(PM2/Gunicorn)。
声明:本文网友投稿,观点仅代表作者本人,不代表鲁班SEO赞同其观点或证实其描述。
