- 最新文章
-
图文并茂的linux vps建站教程手把手教你做好运维监控2026-08-22
-
比较阿里与腾讯后个人建站云服务器推荐与实测结果2026-08-22
-
个人建站云服务器推荐低成本高可用的备份与快照策略2026-08-22
- 相关文章
-
香港云服务器建站流程图安全配置部署和备份恢复方案2026-08-22
-
从入门到精通centos vps建站教程环境脚本与自动化部署2026-08-22
-
独立站搭建实用指南centos vps建站教程与运维技巧2026-08-22
图文并茂的linux vps建站教程手把手教你做好运维监控
本文面向想在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密钥登录,禁用密码登录以提升安全。
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。
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页面)、示例命令、目录结构图与流程图,让运维交接顺畅。
常见问题
如何选择适合我网站的监控工具?
选择依据:站点规模与预算。小规模或单机站点优先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分钟再报警)、对告警进行去重和抑制、分级告警和静默窗口、利用聚合规则合并重复报警,并定期评审告警策略以剔除低价值告警。
