零基础服务器DevOps教程:从手动部署到自动化上线

服务器 DevOps 的核心不是堆工具,而是把“登录服务器、拉代码、改配置、重启服务”这套重复动作变成可执行、可回滚的流程。
这篇教程面向零基础用户,用一台 Linux 云服务器完成一次从手动部署到脚本自动化的完整演练。

前期需要准备什么

开始前请确认你手上有以下条件:

  • 一台能 SSH 登录的 Linux 服务器(Ubuntu 或 CentOS 均可),知道公网 IP、登录用户名和密码或密钥。
  • 本地电脑有终端工具(Windows 可用 PowerShell 或 Xshell,macOS 和 Linux 直接用终端)。
  • 一个可访问的代码仓库,例如 Git 仓库,里面放一个最简单的静态页面或应用。

先验证连接是否正常,在本地终端执行:

ssh root@你的服务器IP

登录成功后能看到命令行提示符,说明基础通道没问题。
如果提示 Connection refused,先检查服务器安全组是否放行了 22 端口。

从手动部署跑通第一条流程

先不要急着上自动化,手动走一遍,后面才知道脚本在替你做哪些事。

安装运行环境

以 Ubuntu 为例,更新软件源并安装 Nginx 和 Git:

apt update
apt install -y nginx git

安装完成后检查服务状态:

systemctl status nginx

看到 active (running) 表示 Nginx 已经正常运行。

拉取代码并放到站点目录

把代码克隆到 /var/www 下:

git clone 你的仓库地址 /var/www/myapp

如果仓库是私有的,需要在服务器上配置部署密钥或访问令牌。
拉取成功后用 ls /var/www/myapp 确认文件存在。

配置 Nginx 指向项目

新建一个站点配置文件:

nano /etc/nginx/sites-available/myapp

写入以下内容:

server {
    listen 80;
    server_name 你的域名或服务器IP;
    root /var/www/myapp;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

启用配置并重载:

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

nginx -t 显示 syntax is ok 才能继续,否则先按报错修正配置文件。

验证上线结果

浏览器访问服务器 IP 或域名,能看到你的页面就说明手动部署成功。
如果打不开,按顺序检查:安全组是否放行 80 端口、root 路径是否写对、systemctl status nginx 是否有报错。

把重复动作写成自动化脚本

手动流程跑通后,把“拉代码、重载服务”固定成脚本,减少每次上线的手工操作。

在服务器上创建脚本文件:

nano /opt/deploy.sh

写入:

#!/bin/bash
set -e
cd /var/www/myapp
git pull origin main
systemctl reload nginx
echo "deploy done"

赋予执行权限:

chmod +x /opt/deploy.sh

之后每次上线只需执行 /opt/deploy.sh。set -e 的作用是任意一步失败就停止,避免带着错误继续执行。

如果想让本地推送后自动触发部署,可以在代码仓库的 Webhook 里配置一个回调地址,由服务器上的轻量服务接收后调用该脚本。
这一步属于进阶内容,建议先把脚本手动跑稳定再接入。

容易踩坑的几个地方

  • 路径写错:Nginx 的 root 必须指向真实存在且权限可读的目录,否则会返回 403 或 404。
  • 权限问题:如果用非 root 用户运行,确保该用户对 /var/www/myapp 有读取权限。
  • 直接改线上文件:手动改服务器上的文件后,下次 git pull 可能冲突,尽量所有改动都走仓库。
  • 没有回滚准备:上线前记录当前版本,例如 git log -1,出问题时才能快速切回。
  • 防火墙和端口:80、443、22 端口是否放行,直接影响能不能访问和登录。

怎么确认流程真的稳定

做一次完整验证:修改仓库里的页面内容,提交并推送,然后在服务器执行 /opt/deploy.sh,刷新浏览器确认内容更新。
再故意把脚本里的路径改错,观察是否报错停止,确认失败时不会把服务带崩。

能重复跑通、失败能定位、出错能回滚,这套服务器 DevOps 流程才算真正可用。
后续可以按需加入日志收集、监控告警和容器化,但不必一次全上,先把这条最小链路跑顺。

分享到:
上一篇
服务器中间件教程:Nginx 安装配置与反向代理实战
下一篇
服务器K8s教程:从零搭建单节点集群并部署第一个应用
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意