部署流程示例:从代码到上线的实用操作指南

一个简单的Web应用部署流程

小李是公司新来的开发,接到任务要把刚写好的博客系统部署到服务器上。他没太多经验,但按照团队给的部署流程一步步来,顺利完成了上线。这个过程其实并不复杂,关键是有清晰的步骤。

1. 准备阶段:代码与环境对齐

在动手之前,先把本地代码推送到Git仓库,比如GitHub或GitLab。确保分支明确,通常用 main 或 release 分支作为稳定版本。

服务器环境也要准备好。常见的组合是 Nginx + Node.js + MySQL。安装好之后,确认版本兼容。比如Node.js用16.x以上,MySQL用5.7或8.0。

2. 拉取代码并安装依赖

登录服务器,进入网站目录,拉取最新代码:

git clone https://github.com/username/blog-app.git
cd blog-app
npm install

如果项目用了构建工具,比如Vue或React,还得执行打包:

npm run build

3. 配置服务运行文件

用 PM2 管理Node.js进程很常见。先全局安装PM2:

npm install -g pm2

然后启动应用:

pm2 start app.js --name "blog-service"

这样服务就在后台运行了,关掉终端也不会中断。

4. 反向代理设置

Nginx用来处理外部请求。编辑配置文件 /etc/nginx/sites-available/blog:

server {
    listen 80;
    server_name blog.example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

保存后启用站点,重启Nginx:

ln -s /etc/nginx/sites-available/blog /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

5. 域名与HTTPS

把域名DNS指向服务器IP,等生效后用Certbot加HTTPS:

sudo certbot --nginx -d blog.example.com

之后访问就会自动跳转到https,浏览器也不再提示不安全。

6. 自动化部署小技巧

每次手动拉代码太麻烦?可以写个脚本 deploy.sh:

#!/bin/bash
echo "拉取最新代码..."
git pull origin main
npm install
npm run build
pm2 reload blog-service
echo "部署完成!"

赋予权限后一键运行:

chmod +x deploy.sh
./deploy.sh

更进一步,还能结合GitHub Actions,在推送代码后自动触发服务器更新,真正实现“提交即上线”。