关于搭建WEB站点下列描述正确的是
选虚拟主机还是关于云服务器,这事我踩过坑。搭建点下2019年帮朋友搭一个摄影作品展示站,列描图省事买了某厂商的述正虚拟主机,结果首页加载要4秒多,关于图片一多直接卡成幻灯片。搭建点下后来换成轻量云服务器,列描同样的述正页面1.2秒打开。差距不在代码,关于在底层资源隔离。搭建点下虚拟主机是列描几十个站点共享一台机器的CPU和内存,邻居跑个爬虫你就跟着遭殃。述正云服务器独享资源,关于贵一点,搭建点下但省心。列描 域名注册别贪便宜。有人图首年1块钱,第二年续费要80。更坑的是某些小 registrar 把域名解析服务做得稀烂,TTL 改半天不生效。我一般推荐 Namesilo 或 Cloudflare,价格透明,DNS 解析快。国内的话,阿里云和腾讯云都行,但域名要实名认证,网站要备案。备案这事至少留出两周,别等上线前一天才想起来。 Web 服务器软件选 Nginx 还是 Apache?看场景。Nginx 扛并发强,静态资源处理快,配置写起来也清爽。Apache 的 .htaccess 对新手友好,改配置不用重启。我自己的博客用 Nginx,因为跑在 1核1G 的机器上,Apache 光进程就吃掉大半内存。但如果你用 WordPress 且装了一堆插件,Apache 的兼容性反而更稳。没有绝对答案。 数据库这块,小站直接上 SQLite 也不是不行。我见过一个日 PV 两千的工具站,SQLite 跑了三年没出问题。但你要做用户系统、频繁写入,还是 MySQL 或 PostgreSQL。MySQL 8.0 默认配置对内存要求高,1G 内存的机器得手动调 innodb_buffer_pool_size,不然启动就 OOM。PostgreSQL 更吃资源,但 JSON 字段和全文检索确实好用。 HTTPS 现在是标配。Let's Encrypt 免费证书,certbot 一条命令自动续期。但要注意,有些国内云厂商的负载均衡器不认 Let's Encrypt 的根证书,得手动上传中间证书。我遇到过浏览器提示“证书链不完整”,排查半天才发现是中间证书没配。用 SSL Labs 测一下,拿到 A 级再上线。 静态资源放 CDN 能省不少带宽。七牛云、又拍云都有免费额度,个人站够用。但注意回源配置,别让 CDN 回源到你的源站 IP,否则被刷流量能刷破产。我一般把源站防火墙设成只允许 CDN 节点 IP 访问,再开个日志监控,异常流量立刻报警。 备份别只靠云厂商的快照。快照恢复慢,而且有些厂商快照要额外收费。我习惯用 restic 或 borg 做增量备份,每天凌晨推到另一家对象存储。数据库用 mysqldump 导出,压缩后传走。恢复演练每季度做一次,不然真出事的时候手忙脚乱。 监控和日志,小站用 UptimeRobot 免费版监控 HTTP 状态码就够了。日志用 GoAccess 分析 Nginx access.log,实时看流量来源和状态码分布。别装 ELK,太重。有一次我网站被扫描器狂扫 wp-login.php,GoAccess 里 404 暴增,一眼就看出来了。 最后说个细节:时区。服务器默认 UTC,网站显示时间对不上。要么在 PHP 里 date_default_timezone_set('Asia/Shanghai'),要么在 Nginx 里配。数据库连接也要设时区,不然 timestamp 字段存进去就偏 8 小时。这问题我调过三次,每次都是忘了某个环节。
-
上一篇
-
下一篇