步骤一:选商家与节点定位。优先选择有台北、台中或高雄机房的供应商,确认是否支持 BGP 或直连回国/国际链路。
步骤二:上机前做网络连通测试。拿到 IP 后在本地或云端运行:ping -c 10
步骤一:更新系统并安装常用工具:sudo apt update && sudo apt -y upgrade;sudo apt install -y vim htop iftop iproute2 net-tools mtr iperf3 curl unzip.
步骤二:创建运维用户并配置 SSH:adduser admin;usermod -aG sudo admin;编辑 /etc/ssh/sshd_config,禁止 root 登录(PermitRootLogin no),更换默认端口,重启 sshd:sudo systemctl restart sshd。
编辑 /etc/sysctl.conf,追加并应用以下参数(示例):
echo "net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr net.core.somaxconn=65535 net.ipv4.tcp_fin_timeout=15 net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_max_syn_backlog=4096" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
启用 BBR 后可通过 sysctl net.ipv4.tcp_congestion_control 或 lsmod | grep bbr 检查是否生效。
检查网卡硬件信息:ethtool -i eth0;关闭或开启 TSO/GSO 时可用:sudo ethtool -K eth0 tso off gso off gro off(针对小包高并发测试调整)。
启用 irqbalance 服务并检查 IRQ 绑定(在多核上):sudo apt install -y irqbalance;cat /proc/interrupts | grep eth0,必要时用 irqbalancectl 或手动绑核。
提升文件句柄:编辑 /etc/security/limits.conf,添加:* soft nofile 65535、* hard nofile 65535;重启会话生效。检查 ulimit -n。
调整 swappiness:sudo sysctl vm.swappiness=10 并写入 /etc/sysctl.conf;若使用数据库,配置 HugePages(根据 DB 文档设置 largepages)。
安装与基础配置:sudo apt install -y nginx;在 /etc/nginx/nginx.conf 设置 worker_processes auto;events { worker_connections 65535; }。
开启缓存与 gzip,配置 keepalive_timeout 适当缩短(如 15s)。若高并发启用 sendfile on、tcp_nopush on、tcp_nodelay on。
PHP-FPM:调整 pm = dynamic 或 ondemand,设置 pm.max_children 根据 RAM 与单进程占用计算,例如内存可用/(avg php mem + buffer)。重启 php-fpm 服务。
MySQL:编辑 /etc/mysql/my.cnf,设置 innodb_buffer_pool_size 为可用内存的 60%-70%;调节 innodb_flush_log_at_trx_commit=2(权衡持久性);调整 max_connections、table_open_cache。使用 mysqltuner 脚本运行诊断并按照建议调整。
备份数据库:使用 mysqldump 或 xtrabackup(热备),示例:mysqldump -u root -p --single-transaction --quick --lock-tables=false dbname > /backup/dbname.sql。
远程备份与脚本:安装 rclone 配置到对象存储(S3/阿里 OSS),建立定时 crontab:0 3 * * * /usr/bin/rclone sync /backup remote:bucket/daily --backup-dir remote:bucket/old/$(date +\%F)。同时记录并测试恢复流程。
部署 Prometheus + node_exporter:在服务器上下载并运行 node_exporter(wget + tar;nohup ./node_exporter &);在 Prometheus 配置 targets 加入该节点的 9100 端口。
配置 Grafana 面板并在 Prometheus 上建立关键指标(CPU、内存、磁盘、网络、连接数)告警规则,结合邮件或钉钉 Webhook 推送。
答:先用 ping -c 100
答:推荐使用 BGP 多线或直连回国链路(向供应商申请),并结合 CDN(Cloudflare 或区域 CDN)缓存静态资源。调整 TCP 参数(开启 BBR、降低 tcp_fin_timeout、提高 somaxconn)、开启 keepalive 与 NGINX 缓存策略可显著降低延迟。
答:执行最小化安装、关闭无用服务、配置防火墙(ufw 或 nftables),部署 fail2ban 防暴力破解,使用 SSH 密钥并禁用密码登录,定期更新补丁并做漏洞扫描。对重要端口限制来源 IP,设置备份与恢复演练,并使用 IPS/IDS(如 Wazuh)与日志集中(ELK/Grafana Loki)监控异常。