要进入新购的香港服务器,首先确认提供商发来的管理信息,包括公网IP、登录用户名和临时密码或SSH密钥。Linux服务器通常使用SSH:在本地终端执行 ssh user@IP -p 端口(默认22),如果提供了私钥,使用 ssh -i /path/to/key user@IP 。Windows服务器常用RDP,通过远程桌面连接(mstsc)输入IP与用户名密码。
确保本地网络允许出站SSH/RDP,服务器提供商面板已开放对应端口。若默认端口被屏蔽,需在控制台修改端口或通过控制台内置的Web SSH先行登录。首次登录后建议立即更改密码并创建非root用户。
登录后应配置防火墙(如ufw、firewalld或iptables),只开放必要端口(HTTP/HTTPS/SSH)并启用fail2ban或类似工具限制暴力破解。若使用SSH密钥,禁用密码登录可有效提升安全性。
部署网站前需准备:域名与域名解析、操作系统与运行时环境(如Nginx/Apache、PHP/Node/Java)、数据库(MySQL/Postgres)、SSL证书准备及备份策略。常见步骤是更新系统(apt/yum)、安装所需软件、创建网站用户并设置目录权限。
在域名管理处添加A记录或CNAME,A记录指向香港服务器公网IP,TTL可先保持默认或较低以便调试。若使用CDN或负载均衡,需按服务商要求配置对应记录。
建议用Docker或容器编排(docker-compose、k8s)来隔离依赖,或至少使用Systemd管理应用进程。为方便部署和回滚,准备CI/CD流水线(如GitLab CI、GitHub Actions)上传构建产物并自动化发布。
部署步骤概览:更新系统 -> 安装Nginx、PHP-FPM -> 配置站点与root目录 -> 配置数据库并导入数据 -> 设置日志与权限 -> 启用站点并重载Nginx。
以Debian/Ubuntu为例:apt update && apt install nginx php-fpm mysql-server -y;将网站文件放在/var/www/yourdomain,设置属主为www-data;在 /etc/nginx/sites-available/yourdomain 配置server块,指向PHP处理的sock或127.0.0.1:9000,然后 ln -s 到 sites-enabled 并 nginx -t && systemctl reload nginx。
目录权限应最小化:数据目录文件属主设置为运行用户,避免777权限;禁用目录列表并限制上传文件类型与大小,必要时启用WAF或应用层防护。
启用access与error日志,定期轮替(logrotate)。建议接入监控(Prometheus、Zabbix)与告警,关注CPU、内存、磁盘I/O和响应时间。
推荐使用Let's Encrypt免费证书,通过Certbot或acme.sh自动申请与续期。基本流程:安装Certbot -> 确保域名解析已生效 -> 使用webroot或Nginx插件申请证书 -> 配置Nginx使用证书并设置443监听 -> 配置自动续期。
安装certbot后运行:certbot certonly --webroot -w /var/www/yourdomain -d yourdomain.com -d www.yourdomain.com。成功后在Nginx配置中加入 ssl_certificate 与 ssl_certificate_key 指向 /etc/letsencrypt/live/yourdomain/fullchain.pem 与 privkey.pem,然后重载Nginx。
Let's Encrypt证书有效期90天,安装时会自动添加cron或systemd定时任务执行certbot renew。为提高安全性,启用HSTS、禁用过时协议(TLS1.0/1.1)并配置强加密套件。
若需要通配符证书或更高审核级别,可购买商业CA证书并按CA要求完成CSR生成与私钥保管。对于通配符证书,通常需要DNS-01验证,可通过DNS API实现自动化。
验证要点包括:确认域名解析到正确IP(dig/nslookup),检查端口连通性(telnet/ss或nmap),浏览器访问是否能跳转到HTTPS,证书链是否完整(openssl s_client -connect domain:443)。同时检查Nginx日志与应用日志以定位500/502等错误。
若出现403错误,检查文件权限与Nginx配置root路径;502/504通常是后端服务未启动或socket权限问题,检查PHP-FPM/应用进程;证书错误可能是域名未解析或证书路径配置错误。
使用curl -I、curl -vk https://domain 查看响应头与TLS握手信息,使用浏览器开发者工具查看请求链路,使用在线SSL检测(如SSL Labs)评估证书与配置安全性。
确保定期备份网站代码、数据库与证书私钥,保存在异地存储或对象存储(如OSS/S3),并测试恢复流程以降低突发故障风险。