本文面向 亿达网络(IDCY GLOBAL) 香港云服务器用户,记录 Ubuntu 22.04 LTS 系统初始化后的安全配置与 Nginx 性能优化步骤。对需要快速部署、灵活扩展的网站应用和开发测试环境,完成基础加固与性能调优有助于提升上线后的可维护性。操作前请先备份关键配置,并在新终端验证修改结果。
一、适用环境与备份要求
1.1 适用环境
本文示例基于 Ubuntu 22.04 LTS 和 Nginx 1.22/1.24,其他版本请以官方文档为准。使用香港云服务器时,可在系统初始化后按本文步骤进行基础加固与调优。
1.2 备份要求
修改前需备份 SSH 主配置、Nginx 配置目录和当前防火墙规则。
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%F)
sudo cp -r /etc/nginx /etc/nginx.bak.$(date +%F)
sudo ufw status numbered > ~/ufw-status.bak
二、Linux基础安全配置
2.1 创建普通用户并配置SSH密钥
先创建普通用户并加入 sudo 组,确认密钥登录成功后再收紧 SSH。不要直接在未验证的新终端上禁止密码登录。
sudo adduser deploy
sudo usermod -aG sudo deploy
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
编辑 /etc/ssh/sshd_config 时建议先备份,查找并修改以下参数。以下仅为配置片段,请根据实际端口和用户调整。
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication yes
在确认新密钥终端可正常登录后,可再将 PasswordAuthentication 设置为 no,然后执行 sudo sshd -t 验证配置。
2.2 配置UFW防火墙
启用防火墙前,必须先确保当前 SSH 端口已允许。以下命令按默认 22 端口示例,如已修改 SSH 端口请替换。
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status numbered
2.3 配置fail2ban和自动安全更新
可安装 fail2ban 限制 SSH 与 Nginx 异常尝试,并启用无人值守安全更新。
sudo apt update
sudo apt install fail2ban -y
sudo systemctl enable fail2ban --now
sudo dpkg-reconfigure --priority=low unattended-upgrades
fail2ban 默认配置通常已够用,如需调整请先复制 /etc/fail2ban/jail.conf 为 jail.local 后再修改。
三、Nginx性能优化
Nginx 性能优化可参考性能优化基础思路,先备份后修改,避免直接覆盖主配置。

3.1 调整工作进程与连接参数
建议先复制主配置,再使用文本编辑器调整 worker_processes 和 events 参数。以下片段只是示例,不是完整主配置。
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak.$(date +%F)
sudo nano /etc/nginx/nginx.conf
# /etc/nginx/nginx.conf
worker_processes auto;
events {
worker_connections 1024;
}
http {
keepalive_timeout 65;
gzip on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_types text/plain text/css application/json application/javascript image/svg+xml;
}
以上文件需保留原有 include 指令,仅根据现有结构追加或修改对应参数。
3.2 配置静态缓存与连接限制
可在 /etc/nginx/conf.d/global_perf.conf 中配置连接限制,并在站点 server 块中添加静态资源缓存。
limit_req_zone $binary_remote_addr zone=req_per_ip:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=conn_per_ip:10m;
location ~* \.(css|js|jpg|jpeg|png|webp|svg|ico)$ {
expires 7d;
add_header Cache-Control 'public, max-age=604800';
try_files $uri =404;
}
连接限制参数需根据业务流量调整,不要直接套用极低阈值。
3.3 配置验证与热加载
每次修改后必须执行 sudo nginx -t,确认语法通过后再热加载。
sudo nginx -t
sudo systemctl reload nginx
sudo nginx -T | grep -E 'gzip|worker_processes'
四、验证方法与回滚思路
4.1 功能验证
- 新开终端使用密钥登录,确认 SSH 正常。
- 执行 sudo ufw status numbered,确认 22、80、443 放行且没有误封端口。
- 执行 sudo nginx -t 与 curl -I http://127.0.0.1/,检查静态资源缓存头与 Nginx 响应。
- 执行 sudo fail2ban-client status sshd,确认服务运行。
4.2 回滚
若出现连接异常或站点不可用,可用备份文件恢复。以下示例中的日期后缀需替换为实际备份文件名。
sudo cp /etc/ssh/sshd_config.bak.2025-01-01 /etc/ssh/sshd_config
sudo cp -r /etc/nginx.bak.2025-01-01 /etc/nginx
sudo systemctl reload ssh nginx
恢复后重新执行 sudo nginx -t,并在新终端验证 SSH 登录。若问题由防火墙引起,可优先使用 sudo ufw status numbered 核对规则序号,不要直接重置全部规则。
五、总结
以上步骤可作为香港云服务器上 Ubuntu 环境的基础安全与性能优化实践。将本文内容与相关检查项结合,可形成更完整的上线前基线。更多安全配置文档可查看 Linux服务器安全配置指南。
Nginx 参数调优完成后,建议结合 Nginx服务器性能优化指南 进行压力测试和监控验证。
如需香港节点资源,可查看 香港KVM VPS 的产品页面。
六、常见问题
为什么修改 SSH 配置前必须保留一个可用终端?
因为错误配置可能导致无法登录。保留已连接终端可及时回滚,避免需要重装或控制台救援。
Nginx 调优后可以直接重启服务吗?
不建议直接重启,应先执行 sudo nginx -t 验证语法,再使用 sudo systemctl reload nginx 平滑重载,减少连接中断。
UFW 启用后无法连接服务器怎么办?
优先通过云服务商控制台或带外管理确认防火墙规则,核对当前端口是否放行,再使用备份规则恢复或删除误加条目。
