新加坡服务器搭建WordPress完整教程:从购买到上线
你有没有试过在新加坡服务器上搭WordPress?我干过,两次。第一次惨到连后台都进不去,第二次才摸顺。如果你现在也想用新加坡机房搭个博客或者企业站,希望这篇从购买到上线的实录能让你避开我当初给自己挖的那些坑。
为什么选新加坡
先把话挑明:很多国内用户选新加坡服务器,核心就俩原因——免备案和东南亚访问快。如果你面向的是印尼、马来西亚、泰国这些地方的读者,新加坡到那边的延迟能压到20-50ms,比香港过去还稳定。就算你主要服务国内,新加坡CN2线路的晚高峰稳定性也经常比香港强(这事儿我上一篇文章里贴过实测数据,不重复了)。缺点也有,回国延迟大概在70-90ms,比香港多30ms,看你对这个敏不敏感。
我第一次搭的时候就光盯着“免备案”这仨字,完全没考虑用户在哪,结果博客上线后国内朋友说打开慢,新加坡朋友说快得飞起——可我那博客写的是中文技术笔记,谁看啊。这个定位失误直接导致我后来换回香港,但那是另一个故事了。
第一步:买服务器,别学我抠内存
新加坡机房现在主流云厂商基本都有轻量应用服务器和标准ECS两种可选。起步阶段直接选轻量,性价比高,操作傻瓜。配置上我只有一个血泪建议:内存2G起步。
我第一次买的是1核1G,想着WordPress不就是PHP加MySQL嘛,能有多吃资源。结果环境装完,内存剩200MB不到,WordPress一跑,SWAP读写让磁盘IO直接拉满,点一下后台要转5秒。那是个周三晚上十一点多,我泡了杯速溶咖啡准备大干一场,结果光登录后台就耗光了所有耐心。后来咬着牙重开了一台2核2G的,瞬间安静。升级多花的几十块钱一个月,现在看就是为当初那杯咖啡买单。
系统镜像这块,选纯净系统,Ubuntu 22.04就行,别选带WordPress的应用镜像。应用镜像预装的目录结构非标,PHP版本旧,以后改配置、做迁移全是雷。这个坑我替你们踩过了,代价是搭好的站因为没法平滑迁移又手工搬了一次文章,眼睛都快瞎了。
第二步:连上服务器,这步我闹过笑话
买好机器重置密码后,打开终端(我就用Mac自带那个,懒得装iTerm2),输入
我骂了句脏话,打开VNC连上去一看,新加坡这台轻量的纯净镜像居然默认没装
第三步:搭环境,版本别追新
LNMP那一套网上教程铺天盖地,我只拣自己翻过车的地方说。
PHP版本:Ubuntu 22.04源里默认是PHP 8.1,我当时心想新版本性能肯定好,装完WordPress后台频繁报
MySQL:2G内存装MySQL 8.0没问题,但
写到这儿突然想起来一个插曲。搭环境的时候朋友在边上看着,说了句“干嘛不用Docker?一条命令搞定多好。”我愣了一下,嘴硬说“Docker有性能损耗”,其实真正的原因是我不会写
第四步:装WordPress,权限搞死我
下载解压,创建数据库用户,改
解压后我把所有文件的所有者设成了
第五步:绑域名、搞HTTPS
新加坡服务器的IP拿到后,到域名注册商那里加一条A记录指向过去,很简单。SSL证书我用的Let's Encrypt,配合Certbot自动申请。
执行
证书拿到后,浏览器小锁出现,我心里一块石头落地。但随即又发现输
第六步:上线后那点事
博客上线当天没什么仪式感,我就反复刷了二十多遍首页,盯着那个默认的
装缓存插件:WP Super Cache,把动态页面静态化,负载肉眼可见下降。
装fail2ban:防暴力破解,
开自动快照:轻量后台有自动快照策略,我设成每周一次,保留两份。这个习惯后来救了我一命——有回升级插件冲突白屏,回滚快照五分钟恢复。
把静态资源扔到对象存储:新加坡的轻量带宽给的不少,但大图片加载还是耗流量,CDN和对象存储配合能让速度再上一个台阶。
提一嘴安全方面的事儿。有次朋友扫了一下我的站,发现
回头看,有些钱可以省,有些不行,用新加坡服务器搭WordPress这件事,整体体验是好的——网络稳定、带宽够用、免备案省心。但过程中那些多花的钱(比如为了省内存反复升级配置)、多浪费的时间(权限错误排查两小时、SSL折腾四小时),其实都可以通过一份更详细的踩坑记录避免。
如果你现在正准备动手,记住这几点就稳了:2核2G纯净镜像、PHP 7.4/8.0、文件权限直接chown给www-data、SSL用Certbot自动模式、上线先把fail2ban和快照配好。这几件事单个看都不起眼,放在一起,就是一台安安静静、不用操心的新加坡WordPress服务器。
最后说个好笑的事。第二次搭的时候,我全程用Docker,命令敲得行云流水,旁边那个朋友又来了,说:“你不是说Docker有性能损耗吗?”我头也没回:“这次业务对性能要求高,所以用裸机。”他信了。你看,有些坑是技术给的,有些坑是自己挖的。
作者:SellBGP 技术Shawn
发布日期:2026-06-08
为什么选新加坡
先把话挑明:很多国内用户选新加坡服务器,核心就俩原因——免备案和东南亚访问快。如果你面向的是印尼、马来西亚、泰国这些地方的读者,新加坡到那边的延迟能压到20-50ms,比香港过去还稳定。就算你主要服务国内,新加坡CN2线路的晚高峰稳定性也经常比香港强(这事儿我上一篇文章里贴过实测数据,不重复了)。缺点也有,回国延迟大概在70-90ms,比香港多30ms,看你对这个敏不敏感。
我第一次搭的时候就光盯着“免备案”这仨字,完全没考虑用户在哪,结果博客上线后国内朋友说打开慢,新加坡朋友说快得飞起——可我那博客写的是中文技术笔记,谁看啊。这个定位失误直接导致我后来换回香港,但那是另一个故事了。
第一步:买服务器,别学我抠内存
新加坡机房现在主流云厂商基本都有轻量应用服务器和标准ECS两种可选。起步阶段直接选轻量,性价比高,操作傻瓜。配置上我只有一个血泪建议:内存2G起步。
我第一次买的是1核1G,想着WordPress不就是PHP加MySQL嘛,能有多吃资源。结果环境装完,内存剩200MB不到,WordPress一跑,SWAP读写让磁盘IO直接拉满,点一下后台要转5秒。那是个周三晚上十一点多,我泡了杯速溶咖啡准备大干一场,结果光登录后台就耗光了所有耐心。后来咬着牙重开了一台2核2G的,瞬间安静。升级多花的几十块钱一个月,现在看就是为当初那杯咖啡买单。
系统镜像这块,选纯净系统,Ubuntu 22.04就行,别选带WordPress的应用镜像。应用镜像预装的目录结构非标,PHP版本旧,以后改配置、做迁移全是雷。这个坑我替你们踩过了,代价是搭好的站因为没法平滑迁移又手工搬了一次文章,眼睛都快瞎了。
第二步:连上服务器,这步我闹过笑话
买好机器重置密码后,打开终端(我就用Mac自带那个,懒得装iTerm2),输入
ssh root@你的IP,然后呢?连不上。检查密码没错,检查云防火墙22端口开着,就是Connection refused。我骂了句脏话,打开VNC连上去一看,新加坡这台轻量的纯净镜像居然默认没装
openssh-server。对,你没看错,没装。我当时那个心情就像买了个没装方向盘的二手车。apt install openssh-server -y跑完,一切正常。后来学乖了,新机器到手先VNC上去跑一遍apt update apt install -y openssh-server curl wget,再顺手创建一个普通用户,把root远程登录禁了。安全这东西,永远是被吓过才重视。第三步:搭环境,版本别追新
LNMP那一套网上教程铺天盖地,我只拣自己翻过车的地方说。
PHP版本:Ubuntu 22.04源里默认是PHP 8.1,我当时心想新版本性能肯定好,装完WordPress后台频繁报
Deprecated错误,好几个插件直接激活失败。一查兼容列表,那些插件还活在PHP 7.4时代。折腾半天,最后卸载8.1,加了ondrej/php这个第三方PPA装了7.4,世界才清净。教训:用程序官方推荐的稳定版,WordPress对PHP 8.x的支持到现在还是时不时有小毛病,选7.4或8.0稳妥得多。MySQL:2G内存装MySQL 8.0没问题,但
innodb_buffer_pool_size记得调小一点,默认128M可能吃掉太多内存。我第一次没调,配合WordPress的查询,内存偶尔会摸到90%,虽然没死,但看着心慌。后来改成64M,稳如老狗。写到这儿突然想起来一个插曲。搭环境的时候朋友在边上看着,说了句“干嘛不用Docker?一条命令搞定多好。”我愣了一下,嘴硬说“Docker有性能损耗”,其实真正的原因是我不会写
docker-compose.yml,又不好意思当场搜。后来自己偷偷学了一遍,第二次搭站就Docker了,真香。你看,嘴硬让人多走了弯路。第四步:装WordPress,权限搞死我
下载解压,创建数据库用户,改
wp-config.php,这些标准操作都不难。我卡在了一个特别蠢的地方——文件权限。解压后我把所有文件的所有者设成了
root:root,然后WordPress后台提示无法写入wp-content目录,插件上传失败,媒体库不能用。我一开始以为是PHP-FPM的用户问题,查了半天www.conf,改了listen.owner和listen.group,不行。又以为是open_basedir限制,关了也不行。最后才发现是单纯的目录权限问题,执行chown -R www-data:www-data /var/www/你的站点目录,一切恢复正常。那天下午为这事耗了两个小时,气得我把键盘拍得啪啪响,家里猫吓得从桌上跳下去。事后回想,这么基础的错误都能犯,只能说当时脑子不在线。第五步:绑域名、搞HTTPS
新加坡服务器的IP拿到后,到域名注册商那里加一条A记录指向过去,很简单。SSL证书我用的Let's Encrypt,配合Certbot自动申请。
执行
certbot --nginx的时候,脚本提示找不到对应域名的server块。我检查Nginx配置,server_name明明写的是我的域名,怎么就不认呢?反复跑了七八次,心态都崩了。后来发现是因为我之前用IP测试的时候,/etc/nginx/sites-enabled/下面默认的配置里server_name写的是_,而我的域名配置写在另一个文件里,两个冲突了。删掉默认的软链接,只保留我自己的配置文件,再跑一遍Certbot,十几秒就装好了。证书拿到后,浏览器小锁出现,我心里一块石头落地。但随即又发现输
www版本打不开,于是补了一条301跳转规则。最后用certbot renew --dry-run测试自动续期,确保crontab里有这条任务。搞定那一刻,窗外路灯已经亮了好一阵,新加坡那边机房里的某台机器,正式开始承载我的博客。第六步:上线后那点事
博客上线当天没什么仪式感,我就反复刷了二十多遍首页,盯着那个默认的
Hello World!看了半天。接下来几天陆续做了几件事:装缓存插件:WP Super Cache,把动态页面静态化,负载肉眼可见下降。
装fail2ban:防暴力破解,
wp-login.php是扫描器重点照顾对象。开自动快照:轻量后台有自动快照策略,我设成每周一次,保留两份。这个习惯后来救了我一命——有回升级插件冲突白屏,回滚快照五分钟恢复。
把静态资源扔到对象存储:新加坡的轻量带宽给的不少,但大图片加载还是耗流量,CDN和对象存储配合能让速度再上一个台阶。
提一嘴安全方面的事儿。有次朋友扫了一下我的站,发现
xmlrpc.php还开着,容易被打。我当初没关,因为网上说“关了某些插件不能用”,结果我用不上那些插件,白白开着挨了几次小规模的Pingback攻击。现在搭站第一件事就是location = /xmlrpc.php { deny all; },无关功能能关就关,别留隐患。回头看,有些钱可以省,有些不行,用新加坡服务器搭WordPress这件事,整体体验是好的——网络稳定、带宽够用、免备案省心。但过程中那些多花的钱(比如为了省内存反复升级配置)、多浪费的时间(权限错误排查两小时、SSL折腾四小时),其实都可以通过一份更详细的踩坑记录避免。
如果你现在正准备动手,记住这几点就稳了:2核2G纯净镜像、PHP 7.4/8.0、文件权限直接chown给www-data、SSL用Certbot自动模式、上线先把fail2ban和快照配好。这几件事单个看都不起眼,放在一起,就是一台安安静静、不用操心的新加坡WordPress服务器。
最后说个好笑的事。第二次搭的时候,我全程用Docker,命令敲得行云流水,旁边那个朋友又来了,说:“你不是说Docker有性能损耗吗?”我头也没回:“这次业务对性能要求高,所以用裸机。”他信了。你看,有些坑是技术给的,有些坑是自己挖的。
作者:SellBGP 技术Shawn
发布日期:2026-06-08
上一篇:
没有了