ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Linux 云服务器初始化部署实战:SSH、安全组、Nginx、HTTPS 与监控清单

Linux 云服务器初始化部署实战:SSH、安全组、Nginx、HTTPS 与监控清单 前言新购买一台 Linux 云服务器后很多新手会直接使用默认密码登录然后安装服务并开放端口。这样虽然能快速跑起来但生产环境还需要完成安全组限制、SSH 加固、用户权限、防火墙、Web 服务、HTTPS、日志轮转、监控告警和快照备份。本文提供一套适合个人开发者和小微团队的初始化流程。不同发行版命令略有差异执行前请确认系统版本并保留控制台或带外登录入口。一、上线前先确认云平台配置在连接服务器前先在云平台控制台确认实例状态正常公网 IP 已分配安全组只开放必要端口80 和 443 用于 Web 服务SSH 管理端口仅对可信来源开放不需要对外的数据库、缓存、面板端口不要放行已了解快照和备份入口。安全组应遵循最小开放原则。不要为了测试方便长期把所有端口对 0.0.0.0/0 开放。二、首次登录与系统更新使用云平台提供的默认密码或密钥登录服务器ssh root你的服务器IP登录后先确认系统版本cat /etc/os-release更新软件包索引并安装常用工具。Debian/Ubuntu 可使用apt updateapt upgrade -yapt install -y curl wget vim git ufw fail2banCentOS/RHEL 系可使用 dnf 或 yum。生产服务器执行升级前应确认是否需要维护窗口避免正在运行的服务受到影响。三、创建普通用户并禁止 root 直接登录不建议长期使用 root 直接部署应用。可以创建普通用户adduser deploypasswd deployusermod -aG sudo deploy将本机公钥复制到普通用户mkdir -p /home/deploy/.sshcp ~/.ssh/authorized_keys /home/deploy/.ssh/chown -R deploy:deploy /home/deploy/.sshchmod 700 /home/deploy/.sshchmod 600 /home/deploy/.ssh/authorized_keys确认普通用户可以登录并具备 sudo 权限后再修改 SSH 配置vim /etc/ssh/sshd_config建议评估以下配置PermitRootLogin noPasswordAuthentication noPubkeyAuthentication yes修改后检查配置并重启 SSH 服务sshd -tsystemctl restart sshd注意不要直接关闭当前 SSH 窗口应新开一个终端验证可以登录避免把自己锁在服务器外。四、配置防火墙和基础防爆破如果系统使用 UFW可以先放行 SSH再启用防火墙ufw allow 22/tcpufw allow 80/tcpufw allow 443/tcpufw enableufw status verbose如果 SSH 端口不是 22需要替换为实际端口。安装并启用 fail2bansystemctl enable fail2ban --nowfail2ban-client status它可以对重复尝试登录的 IP 进行限制。具体策略应结合自身登录来源调整。五、安装并启动 NginxDebian/Ubuntu 安装 Nginxapt install -y nginxsystemctl enable nginx --now在浏览器访问服务器 IP看到 Nginx 默认页面说明 Web 服务已启动。新建站点配置vim /etc/nginx/sites-available/example.conf示例配置server {listen 80;server_name example.com www.example.com;root /var/www/example; index index.html; location / { try_files $uri $uri/ 404; }}创建目录并启用站点mkdir -p /var/www/exampleln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/nginx -tsystemctl reload nginx将 example.com 和目录替换为自己的真实域名与项目路径。六、部署静态页面或应用静态页面可直接放入站点目录vim /var/www/example/index.html示例!doctype html我的网站服务器初始化完成如果部署的是 Node.js、Python、PHP 或 Java 应用应使用进程守护工具管理应用例如 systemd、PM2、Gunicorn、uWSGI 等。Nginx 通常作为反向代理将请求转发到本机应用端口。七、配置 HTTPS域名解析生效后可以使用 Certbot 申请免费证书。Debian/Ubuntu 示例apt install -y certbot python3-certbot-nginxcertbot --nginx -d example.com -d www.example.com按提示选择 HTTP 自动跳转 HTTPS。证书安装后可通过浏览器访问域名确认证书状态。建议测试自动续期certbot renew --dry-run生产环境还应确认证书到期提醒避免证书过期导致访问异常。八、日志、监控与磁盘维护Nginx 日志通常位于/var/log/nginx/access.log/var/log/nginx/error.log需要配置日志轮转避免日志占满磁盘logrotate -d /etc/logrotate.d/nginx基础监控至少关注CPU 使用率内存使用磁盘容量网络带宽端口和进程状态Nginx 访问状态系统负载Web 请求状态码。可以先使用云平台自带监控再根据需要安装更细的监控工具。九、快照、备份与恢复验证初始化完成并确认站点可访问后建议创建快照或备份。备份对象至少包括Web 文件应用配置Nginx 配置数据库用户上传文件环境变量和密钥的安全备份。备份不能只看 “创建成功”还应定期恢复到测试实例验证文件、数据库和应用能够正常运行。十、常见问题排查SSH 连接超时优先检查安全组、防火墙、实例公网 IP 和 SSH 服务状态。不要只使用 ping 判断因为 ICMP 和 SSH 端口可能策略不同。Nginx 出现 502通常说明 Nginx 无法连接后端应用。需要检查应用是否启动、监听端口是否正确、反向代理配置是否准确。浏览器提示证书错误检查域名是否匹配、证书链是否完整、证书是否过期以及是否误将 HTTPS 配置到 IP 地址访问。磁盘突然满了检查日志文件、上传目录、数据库备份和临时文件。应配置日志轮转和磁盘告警。初始化完成清单安全组只开放必要端口已创建普通用户并使用密钥登录root 直接登录已限制防火墙和 fail2ban 已启用Nginx 已启动并配置站点域名解析正确HTTPS 已配置并可自动续期日志轮转已确认基础监控和告警已设置快照或备份已创建已验证备份可以恢复已保留控制台和工单入口。结语云服务器初始化的核心是把安全、Web、HTTPS、监控和备份在上线前一次性补齐。相比事后排查故障前期按照清单执行更稳定也更适合个人开发者和小微团队复用。煜钧云团队持续整理云服务器、轻量云、弹性云和运维实践内容提供香港、美国、韩国、日本、德国等地域的云服务产品。实际操作时请以当前系统版本、商品页配置和官方文档为准。
返回列表