1.
选择合适的操作系统与基础软件
- 建议:选用轻量且社区成熟的发行版,如Ubuntu LTS或Debian Stable。
- 操作步骤:SSH 登录后运行:apt update && apt upgrade -y;安装常用工具:apt install curl wget vim unzip -y。
- 小贴士:保持内核和软件包为稳定版,避免使用未经测试的第三方仓库。
2.
SSH 与系统账户安全配置
- 操作步骤:编辑 /etc/ssh/sshd_config:禁用Root登录(PermitRootLogin no)、更改默认端口(Port 22022)、禁止密码登录(PasswordAuthentication no),保存后重启:systemctl restart sshd。
- 加入密钥:在本地执行 ssh-keygen,然后把 ~/.ssh/id_rsa.pub 内容追加到服务器上目标用户的 ~/.ssh/authorized_keys。
- 小分段:设置 AllowUsers 指定可 SSH 用户,使用 Fail2ban 防止暴力破解(见第4节)。
3.
防火墙与入侵防护(UFW + fail2ban)
- 安装与基础配置:apt install ufw fail2ban -y。启用UFW:ufw default deny incoming; ufw default allow outgoing; ufw allow 22022/tcp; ufw allow 80,443/tcp; ufw enable。
- fail2ban 配置:创建 /etc/fail2ban/jail.local,添加 sshd 区块:
[sshd]
enabled = true
port = 22022
maxretry = 5
bantime = 3600
- 重启:systemctl restart fail2ban。
- 小贴士:为nginx添加 nginx-http-auth 和 nginx-botfilter 等 jail,防止恶意爬虫与采集。
4.
Web 服务优化(Nginx + 缓存)
- 安装与基本优化:apt install nginx -y;编辑 /etc/nginx/nginx.conf,关键设置:worker_processes auto; worker_connections 10240; sendfile on; tcp_nopush on; tcp_nodelay on。
- gzip 与缓存:在 server 或 http 块启用 gzip、gzip_comp_level 5;配置静态文件长缓存头:location ~* \.(js|css|jpg|png|ico)$ { expires 30d; add_header Cache-Control "public"; }。
- Varnish/Redis:若动态站点可在前端部署 Varnish(apt install varnish),或在应用层使用 Redis 缓存 PHP/框架数据(apt install redis-server;在PHP中使用 phpredis 或 predis)。
5.
数据库调优(MySQL/MariaDB)
- 安装与安全:apt install mariadb-server -y;运行 mysql_secure_installation 并完成root密码、删除匿名用户、关闭远程root。
- 配置 innodb:编辑 /etc/mysql/mariadb.conf.d/50-server.cnf,设置 innodb_buffer_pool_size=70% 的可用内存;调整 max_connections 根据并发量(如 200);重启 mysqld。
- 缓存查询与慢查询日志:开启 slow_query_log = ON,long_query_time=1,定期分析 mysqldumpslow 并优化慢SQL。
6.
系统网络与内核调整(sysctl)
- 常用 sysctl 参数:在 /etc/sysctl.conf 添加或修改:
net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_max_syn_backlog = 4096
- 应用生效:sysctl -p。
- 小分段:根据带宽与并发测试逐步调高 file descriptor 限制(ulimit -n)及服务进程的限制。
7.
HTTPS、证书与CDN加速
- TLS 证书:安装 certbot(apt install certbot python3-certbot-nginx -y),执行 certbot --nginx -d yourdomain.com 自动申请并配置。
- CDN:推荐使用 Cloudflare 或国内/区域加速服务,将 DNS 指向 CDN,开启 CDN 缓存与 HTTPS/TLS 复写以减轻源站负载。
- 小贴士:在 CDN 和源站开启真实IP 传递(X-Forwarded-For),并在 nginx 中使用 real_ip 模块恢复真实访客IP。
8.
监控、日志与自动化报警
- 快速部署:安装 Netdata(单命令脚本)或 Prometheus node_exporter + Grafana。
- 日志采集:使用 Filebeat 收集 nginx/mysql 日志并送至 Elasticsearch/Kibana 或直接使用 Grafana Loki。
- 告警:配置 Prometheus Alertmanager 或使用监控平台(例如 UptimeRobot/阿里云监控)监控可用性与延迟。
9.
备份与应急恢复方案
- 数据库备份:使用 mysqldump 定时备份,示例 cron:0 2 * * * /usr/bin/mysqldump -uroot -p'密码' --all-databases | gzip > /backup/mysql-$(date +\%F).sql.gz。
- 文件备份:使用 rsync 或 borgbackup 同步到远程备份机或对象存储(如 S3)。
- 小分段:定期恢复演练,确保备份可用。
10.
常见问答一
问:我在越南的服务器带宽小,如何有效提升访问速度?
答:优先使用 CDN(如 Cloudflare)将静态资源缓存到边缘节点;开启 gzip 压缩与浏览器缓存;在服务器端使用 Nginx 的 sendfile/tcp_nodelay 以及开启 HTTP/2;对动态内容使用 Redis/页面缓存并尽量减少每请求的 DB 查询次数。
11.
常见问答二
问:如何在越南服务器上防止 SSH 暴力破解并减少被扫描?
答:修改 SSH 默认端口、禁止密码登录并强制使用密钥;使用 UFW 限制只允许特定 IP 段的管理端口;部署 fail2ban 并配置较低的 maxretry 与合理的 bantime;如需更高安全,结合 VPN 或跳板机(bastion host)。
12.
常见问答三
问:要监控越南服务器的性能,推荐哪些轻量工具和关键指标?
答:推荐 Netdata(快速部署)、Prometheus+Grafana(长期可视化)。关键指标包括 CPU/内存使用、磁盘 I/O、网络带宽、nginx 活动连接数、MySQL QPS/慢查询、以及 Redis 命中率和延迟。设置阈值告警以便及时响应。
来源:越南服务器搭配什么软件提升性能和安全性的建议