很多团队第一次上线网站,卡住的常常是服务器、域名、备案和环境配置这些零碎环节。

一、部署前先想清楚三件事
动手之前,先确认网站类型、访问规模和数据要求。静态官网、企业展示页和带数据库的商城,对资源的需求差距很大。类型定下来,再准备项目代码、依赖清单和域名。
- 确认技术栈,是 Nginx 托管静态页面、PHP 应用,还是 Node.js 服务
- 估一下日均访问量和峰值,实例规格据此选
- 域名要提前做实名认证,否则后面备案会卡住
- 把数据库结构和配置文件整理好,别等上线当天才补
二、选对服务器,创建实例
阿里云常见的入口有两个:云服务器 ECS 和轻量应用服务器。ECS 配置灵活,适合有运维经验、需要自定义网络和存储的项目。轻量应用服务器开箱即用,个人博客、小型官网这类功能单一的站点用它就够了。选的时候看业务未来半年到一年会长到什么程度,别只盯着价格。
创建实例时有几个细节容易漏。地域尽量选在主要用户所在的区域,延迟会低一些。操作系统选 Alibaba Cloud Linux 或 Ubuntu LTS 比较省心,版本稳定,资料也多。安全组只放行必要端口,一般是 22(SSH)、80(HTTP)和 443(HTTPS)。SSH 端口最好限制来源 IP,不然每天会收到大量扫描请求。
三、域名解析与 ICP 备案
如果服务器在中国大陆,并通过域名对外提供服务,必须先完成 ICP 备案,否则域名访问不了。备案要提交主体信息和网站信息,经过身份核验和管局审核,周期通常是几周。排期时把这段时间算进去,越早启动越好。备案期间可以先用公网 IP 做内部测试,功能不用等。
备案通过后,在域名控制台添加 A 记录,指向实例的公网 IP。如果 www 和根域名都要能访问,两条记录都得配。解析生效时间受 TTL 影响,一般几分钟到几小时不等,切换前可以把 TTL 调低一点。
四、搭建运行环境
以 Ubuntu 为例,登录后先更新软件包,再安装 Nginx 做反向代理或静态资源服务。PHP 应用要装对应版本的 PHP-FPM 和常用扩展。Node.js 应用建议用 nvm 管理版本,再用 PM2 守护进程,进程挂了能自动拉起。数据库可以自建 MySQL,也可以用阿里云 RDS。自建省钱但要自己管备份和主从,RDS 在这些方面省心很多。
Nginx 配置主要做两件事:把域名请求转发到应用端口,并开启 gzip 压缩减少传输体积。下面是一个静态站点的基础示例:
server {
listen 80;
server_name example.com www.example.com; # 替换为你的域名
root /var/www/project/public; # 指向项目的 public 目录
gzip on;
gzip_types text/css application/javascript application/json;
location / {
try_files $uri $uri/ /index.html; # 处理前端路由
}
}
写完先执行 nginx -t 检查语法,确认无误再用 systemctl reload nginx 生效。跳过语法检查直接重载,配置一旦有错,整站可能跟着下线。
五、案例:一家本地餐饮品牌的官网上线
这家餐饮品牌需要菜单展示、门店查询和在线预约三个功能,日常访问两千次左右,节假日会明显冲高。团队只有三个人,没有专职运维。
他们选了 2 核 4G 的云服务器,预约数据存在 RDS 里。顺序是先办备案,同时在测试 IP 上把功能跑通。备案下来后切换解析,申请免费 SSL 证书,并把 HTTP 强制跳转到 HTTPS。
上线前一周,他们用压测工具模拟节假日流量,发现预约接口在高并发下明显变慢。原因是查询字段没有索引。加上索引后,又在 Nginx 层给静态资源加了缓存,平均响应时间降到原来的一半左右。这一步如果留到上线之后再发现,修起来会被动得多。
六、上线后的安全与运维
上线只是开始。至少要做好几件事:开启云监控,给 CPU、内存和磁盘设告警阈值;定期做快照或备份,系统盘和数据库都要覆盖;系统和应用的安全更新及时打;不需要的端口关掉,SSH 改用密钥登录并禁用密码登录。
如果站点有大量图片和附件,可以迁到对象存储 OSS,再配合 CDN。这样服务器压力小一截,异地用户的访问也会顺一些。这些能力在控制台都能按需开通,不必第一天全部配齐。
按这个顺序走,中小型网站基本能稳定跑起来:先想清楚需求,再选资源,备案和解析提前排好,上线前用接近真实的流量验证一次,上线后持续盯监控。