当前位置: 博客 > 行业资讯

图文并茂的linux vps建站教程手把手教你做好运维监控

2026年08月22日

本文面向想在Linux VPS上从零搭建网站并长期稳定运行的读者,覆盖:VPS选择与系统初始化、WEB环境搭建(LAMP/LEMP)、域名与SSL、基本安全、备份方案,以及关键的运维监控与告警(Prometheus+Grafana、Netdata、日志管理、健康检查),并通过示例命令与截图提示,做到可复制、可运维。

1. 选择VPS与初始化系统

常见VPS供应商有:阿里云、腾讯云、DigitalOcean、Vultr、Hetzner。建议选用Ubuntu LTS或Debian稳定版作为操作系统,初始规格根据网站并发估算(2GB内存适合轻量站点)。购买后先执行系统初始化:

sudo apt update && sudo apt upgrade -y
sudo adduser youruser
sudo usermod -aG sudo youruser
ufw allow OpenSSH
ufw enable

在项目中加入SSH密钥登录,禁用密码登录以提升安全。

SSH 登录示例

2. 搭建WEB环境:LEMP(Nginx+MySQL+PHP)示例

LEMP是常见选择,安装示例如下:

sudo apt install nginx mysql-server php-fpm php-mysql -y
sudo systemctl enable --now nginx mysql

配置Nginx虚拟主机并把PHP-FPM sock指向正确路径。测试页面放在/var/www/your_site

Nginx 配置示例

3. 部署HTTPS:Let's Encrypt

使用Certbot自动申请证书:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

设置自动续期:

sudo systemctl enable --now certbot.timer

4. 基本安全与运维策略

  • 防火墙:使用UFW只放行必要端口(80/443/22/监控端口)。
  • SSH:使用密钥登录、修改默认端口、关闭root远程登录。
  • Fail2ban:对SSH与WEB应用进行暴力破解防护。
  • 自动更新:对安全补丁启用 unattended-upgrades(对生产环境慎用自动升级核心组件,建议测试后执行)。

5. 监控体系搭建(重点)

推荐采用分层监控:基础指标采集(CPU/内存/磁盘/网络)、应用指标(Nginx/数据库/PHP-FPM)、日志采集、实时告警与可视化展示。

5.1 Netdata(轻量、实时、即开即用)

Netdata安装简单,适合初期快速观察:单命令安装:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

安装后访问http://your_vps_ip:19999即可看到实时面板。可用作日常运维快速定位。

5.2 Prometheus + node_exporter + Grafana(可扩展、持久)

Prometheus负责拉取指标,node_exporter采集主机指标,Grafana做可视化。核心步骤:

# 在被监控主机安装 node_exporter
wget https://github.com/prometheus/node_exporter/releases/download/...
tar xvf node_exporter-*.tar.gz
sudo ./node_exporter &

# 在监控主机安装 Prometheus 与 Grafana,配置 scrape job 指向 node_exporter

搭建告警:Prometheus Alertmanager,结合邮件/钉钉/企业微信/Slack发送通知,设置CPU、磁盘、服务宕机等阈值。

5.3 日志管理:rsyslog + logrotate 或 ELK/EFK

对生产环境,建议集中日志:可以通过rsyslog转发到ELK(Elasticsearch+Logstash+Kibana)或EFK(Fluentd/Fluent-bit + Elasticsearch + Kibana)进行搜索与分析。简单方案可用logrotate定期切割与压缩。

6. 备份与恢复

备份包含:数据库、网站文件、配置文件。常见方案:

  • 数据库:使用mysqldump或Percona XtraBackup,定时备份并上传到对象存储(如阿里OSS、S3)。
  • 文件:rsync到异地备份服务器或打包上传到云存储。
  • 自动化:用cron+脚本实现,定期校验备份完整性并保留多版本。

7. 运维监控的落地建议与常见问题排查

实施监控时注意:

  • 有度量优先:先确定关键SLA(如页面响应时间、错误率、可用性),再做监控与告警阈值。
  • 分级告警:将告警分为紧急/重要/信息,防止告警风暴。
  • 演练恢复:定期演练备份恢复与故障切换流程,确保流程可执行。
  • 文档化与图示:为架构与告警规则做文档并在团队共享。

8. 图文并茂的展示建议

在写运维文档或SOP时,建议配合截图(如:Nginx日志、Grafana面板、Prometheus Targets页面)、示例命令、目录结构图与流程图,让运维交接顺畅。

Grafana 面板示例

常见问题

如何选择适合我网站的监控工具?

选择依据:站点规模与预算。小规模或单机站点优先Netdata快速上线;需要长期持久化与复杂告警规则的生产环境则推荐Prometheus+Grafana;若需集中日志分析可引入ELK/EFK。原则是先满足可用性与告警需求再扩展复杂功能。

Prometheus抓不到node_exporter数据怎么办?

常见原因:1)node_exporter未启动或端口被防火墙阻断;2)Prometheus scrape配置中的目标地址错误;3)网络策略或安全组限制。排查顺序:在Prometheus服务器上用curl或telnet测试node_exporter端口;检查node_exporter进程与日志;确认Prometheus配置并重载。

如何避免监控告警泛滥(告警风暴)?

策略包括:设置合理的阈值与持续时间(例如CPU超过90%持续5分钟再报警)、对告警进行去重和抑制、分级告警和静默窗口、利用聚合规则合并重复报警,并定期评审告警策略以剔除低价值告警。

VPS建站教程