用云服务器搭WordPress博客要注意哪些坑?新手必看避雷点
很多刚接触建站的朋友一上来就买云服务器,想着“自己搭个WordPress博客多自由”,结果装到一半卡在数据库连不上、PHP报错、打不开后台……其实不是你不会,而是有些细节没提前搞清楚。这篇文章就专门讲清楚用云服务器部署WordPress博客过程中那些容易踩的坑,帮你少走弯路。
服务器操作系统选Linux还是Windows?别乱选
很多人以为Windows系统更熟悉,就直接选Windows Server来搭WordPress,结果装完发现IIS配置复杂、PHP扩展一堆问题。其实WordPress原生对Linux环境更友好,绝大多数插件和主题都是在Linux + Apache/Nginx + MySQL + PHP(LAMP/LEMP)这套组合下测试的。
- Linux系统:比如CentOS、Ubuntu,命令行操作虽然看起来门槛高,但用可视化面板(比如宝塔)能大幅简化部署,而且资源占用低、稳定性好。
- Windows系统:需要手动配置IIS、PHP FastCGI、URL重写规则,对新手极不友好,而且内存占用高,同样配置下性能不如Linux。
如果你不是企业必须用Windows环境,建议直接选Linux系统,省心省力。
PHP版本和扩展必须配对,否则WordPress跑不起来
WordPress官方要求PHP 7.4以上,但很多人装完服务器直接用系统默认的PHP 5.6,结果安装页面都打不开。更麻烦的是,即使PHP版本够了,如果缺少关键扩展,WordPress能装但功能异常——比如图片上传失败、插件无法激活。
必须确保以下PHP扩展已启用:
mysqli或pdo_mysql:用于连接MySQL数据库gd或imagick:处理图片缩略图、裁剪curl:用于远程请求,比如插件更新、API调用mbstring:支持多语言字符xml:部分插件和RSS功能依赖
在Linux系统里,用命令 php -m 可以查看已安装的模块;在Windows里要手动编辑 php.ini,取消对应扩展前的分号注释。别跳过这一步,否则后期排查问题更头疼。
数据库配置不当,轻则数据丢,重则网站崩
新手常犯的错误是直接用root账号给WordPress连数据库,或者数据库字符集没设对。这两种做法隐患很大:
- 用root账号:一旦网站被黑,攻击者能直接删整个数据库,甚至导出服务器其他数据。
- 字符集不对:比如默认用
latin1,发个带表情符号(emoji)的文章直接乱码或保存失败。
正确做法是单独创建一个数据库和用户,只给这个用户操作对应数据库的权限。在MySQL里执行以下命令(假设数据库名wordpress,用户名wpuser):
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '强密码123!';
GRANT ALL PRIVILEGES ON wordpress. TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
注意字符集必须是 utf8mb4,不是 utf8!MySQL的utf8其实是阉割版,不支持4字节的emoji。
文件权限和目录归属没设对,后台更新全失败
WordPress装好后,点“插件更新”或“主题安装”提示“需要FTP凭据”?这其实是文件权限问题。服务器上的网站目录如果归属不是Web服务进程用户(比如www-data或nginx),PHP就无法写入文件。
在Linux系统中,执行以下命令修复(假设网站根目录是/var/www/):
chown -R www-data:www-data /var/www/
find /var/www/ -type d -exec chmod 755 {} ;
find /var/www/ -type f -exec chmod 644 {} ;
这三行命令的意思是:把整个网站目录归属给Web服务用户,目录权限设为755(可进入+读),文件权限设为644(可读)。这样WordPress就能正常更新了。
防火墙和安全组别忘了开80/443端口
服务器买完,WordPress也装好了,但浏览器打不开?八成是防火墙挡住了。云服务器一般有两层网络控制:
- 系统防火墙:比如Linux的
firewalld或ufw - 云平台安全组:在控制台设置的虚拟防火墙
两层都必须放行80(HTTP)和443(HTTPS)端口,否则外网根本访问不到。以Ubuntu为例,用ufw开启端口:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
同时记得去云平台控制台的安全组规则里也加一条入站规则,允许TCP 80和443。很多人只配了系统防火墙,忘了安全组,结果还是打不开网站。
伪静态没配,文章页404?URL重写是关键
WordPress默认用“固定链接”(比如/hello-world)而不是带问号的动态链接(?p=123)。但如果你没配URL重写,点进文章页就会显示404错误。
不同Web服务器配置方式不同:
- Apache:确保
mod_rewrite模块已启用,网站根目录要有.htaccess文件,内容通常由WordPress自动生成。 - Nginx:需要在站点配置里加一段重写规则:
location / { try_files $uri $uri/ /index.php?$args; } - IIS(Windows):要装URL Rewrite模块,并在网站根目录放
web.config文件。
如果你用的是可视化面板(比如宝塔),一般有“伪静态”选项,选择WordPress就能自动填好规则,不用手写。
内存和带宽不够,网站越用越卡
别以为2核2G能跑WordPress就万事大吉。如果你装了十几个插件、上传高清图片、没开缓存,2G内存很快会被PHP和MySQL吃光,导致频繁重启服务。
建议最低配置:
| 用途 | CPU | 内存 | 带宽 |
|---|---|---|---|
| 个人博客(日均1000访客内) | 2核 | 2GB | ≥3Mbps |
| 内容较多/插件多的博客 | 2核 | 4GB | ≥5Mbps |
另外,记得在php.ini里调高内存限制:
memory_limit = 256M
否则上传大图或跑备份插件时容易内存溢出报错。
总之,用云服务器搭WordPress看似简单,但细节决定成败。避开这些坑,你的博客才能稳定运行,而不是三天两头出问题。动手前多检查一遍,省下后期无数排错时间。