Help Center

Home Help Center Technical Docs

Linux服务器安全Configuration与Nginx性能optimized实操记录

在越南Cloud Servers等云上环境部署Web应用时,提前参考一份Linux服务器安全Configuration指南可以减少常见Configuration失误。本文以Ubuntu 22.04和Nginx 1.18及以上版本为参考环境,实际操作前请确认当前系统版本并查阅官方文档。

一、操作前备份与适用环境

执行任何Configuration变更前,建议备份关键文件。以下示例命令用于复制Configuration目录,不会删除原目录:

sudo cp -a /etc/nginx /etc/nginx.bak.$(date +%F)
sudo cp -a /etc/ssh /etc/ssh.bak.$(date +%F)

-a 参数保留文件权限和时间戳,适合Configuration备份。备份后请确认文件已生成,例如 ls /etc/nginx.bak.*

备份文件建议存放在独立目录或对象存储中,避免因Disk故障导致原Configuration与备份同时丢失。云上环境还可在Dashboard创建快照作为额外保护。

二、Linux安全Configuration步骤

1. 更新系统与清理冗余包

更新系统可修复已知漏洞,但升级前建议先阅读发行版更新说明。

sudo apt update && sudo apt upgrade -y
sudo apt autoremove --purge -y

autoremove 只移除系统标记为不再需要的包,不会主动删除用户数据。

2. 强化SSH登录

编辑 /etc/ssh/sshd_config 前请先备份。可调整以下参数:

  • PermitRootLogin no:禁止root直接登录;
  • PasswordAuthentication no:启用密钥登录后关闭密码登录;
  • MaxAuthTries 3:限制认证尝试次数。

若尚未Configuration密钥对,可使用 ssh-keygen 生成密钥,并将公钥写入 ~/.ssh/authorized_keys 且权限设为 600。验证密钥登录正常后,再关闭密码登录更稳妥。

修改后执行 sudo sshd -t 验证语法,再执行 sudo systemctl restart sshd 重启服务。若None法连接,可通过VNC恢复备份。

3. ConfigurationUFW防火墙

仅放行必要端口,并在启用前确认22端口已放行:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

不要直接禁用防火墙或清空规则,以免暴露不必要的服务面。

三、Nginx性能optimized与验证

完成安全基线后,可参考Nginx服务器性能optimized指南调整Nginx核心参数。修改前先备份NginxConfiguration目录:

sudo cp -a /etc/nginx /etc/nginx.bak.$(date +%F)

常见optimized项包括:

  • worker_processes auto;:自动匹配CPU核心数;
  • worker_connections 1024;:根据Memory和文件描述符调整;
  • 启用gzip压缩:gzip on; gzip_types text/plain text/css application/json;
  • 静态资源缓存:expires 7d;,可按需调整。

还可以根据业务情况调整 keepalive_timeoutserver_tokens off,前者影响长连接保持时间,后者可隐藏版本信息。调整 worker_rlimit_nofile 前,需确认 ulimit -n 的系统上限。

每次修改后执行 sudo nginx -t 检查语法,确认输出 syntax is ok 后再执行 sudo systemctl reload nginx 平滑重载。

四、验证与回滚思路

验证可通过 systemctl status nginx 查看运行状态,使用 curl -I http://127.0.0.1 查看响应头,以及通过 ss -tlnp 确认监听端口。如果optimized后出现异常,可先定位Configuration错误,或直接恢复备份:

sudo cp -a /etc/nginx.bak.2024-01-01 /etc/nginx
sudo systemctl reload nginx

注意备份目录名中的日期需替换为实际备份文件名。不要使用删除原目录再恢复的操作,以免中间状态丢失Configuration。

若服务由 systemd 管理,可用 journalctl -u nginx -n 50 查看近期日志,便于快速定位启动失败原因。回滚前建议确认当前Configuration与备份之间的差异。

五、云上部署与Operations建议

如果业务面向越南本地用户,选择合适的Cloud Servers方案可降低部署复杂度,同时便于后续横向扩展与Operations。越南Cloud Servers购买可根据实际业务选择合适规格。建议在测试环境中先验证Configuration,再应用到生产节点。

建议将Configuration文件纳入版本控制,并定期导出镜像或快照。关于跨国业务,可通过IDCY Global了解节点与Network情况。

部署到生产环境前,可使用预发布节点模拟真实流量;变更后建议保留旧Configuration至少一个发布周期,以便紧急回退。

六、总结

Linux安全加固与Nginxoptimized需要按“备份—修改—验证—可回滚”的顺序执行。本文提供的命令以Ubuntu和主流Nginx版本为例,不同环境可能有差异,请以官方文档和当前系统为准。

七、常见问题

Q1:修改SSHConfiguration后None法远程登录怎么办?

若修改 /etc/ssh/sshd_config 后None法连接,可通过DashboardVNC或救援模式恢复备份,然后执行 sudo systemctl restart sshd

Q2:Nginxoptimized后网站打不开如何回滚?

先运行 sudo nginx -t 检查Configuration语法;若语法正确但服务异常,可恢复备份目录并 sudo systemctl reload nginx

Q3:是否所有Cloud Servers都能直接套用这些Configuration?

不同系统版本和Nginx大版本可能有差异,请参考官方文档,并在测试环境验证后再应用到生产环境。

Q4:如何判断Nginxoptimized是否生效?

可以通过 ab -n 1000 -c 100 http://127.0.0.1/ 进行简单压力测试,或观察 /var/log/nginx/access.log 的请求耗时变化,但测试环境应与生产环境隔离。

Q5:如何安全地测试新的NginxConfiguration而不影响线上服务?

可先运行 sudo nginx -t 检查语法,并在临时端口或独立 server 块中验证,确认None误后再切换正式Configuration。