7步搞定如何用xshell安装wordpress保姆级建站教程
备案流程一头雾水?别慌,很多站长卡在服务器配置和代码部署上。这篇保姆级建站教程,专门解决你用 Xshell 连接 Linux 服务器时,如何手动、稳定地装好 WordPress 的问题。咱们不整虚的,直接上手。
环境准备与前置检查
在敲第一行命令前,你得确认地基打牢了。很多新手失败,不是因为 Xshell 操作不对,而是服务器环境没配好,或者域名解析没生效。
1. 服务器与域名 确保你的 Linux 服务器(推荐 CentOS 7.9 或 Ubuntu 20.04/22.04)已安装 Nginx/Apache、MySQL/MariaDB 和 PHP。如果是国内服务器,ICP 备案是硬门槛。根据中国互联网络信息中心 (CNNIC) 的备案管理办法,未备案的域名无法解析到国内服务器 IP。如果你刚申请完备案,状态显示“审核中”,这时候用 Xshell 连上去装 WordPress 是没用的,因为 80 端口会被运营商拦截。
2. Xshell 连接配置 打开 Xshell,新建会话。
- 协议:SSH
- 主机:你的服务器公网 IP
- 端口:22
- 用户:root(建议生产环境用普通用户 + sudo,这里为教程简化用 root)
- 密码/密钥:填写对应信息
连接成功后,你会看到类似 Last login: ... 的欢迎语。此时,你的终端就是服务器的“手和眼”。
3. 系统依赖检查 在 Xshell 中执行以下命令,检查关键组件版本:
# 检查 Nginx 版本
nginx -v# 检查 PHP 版本及扩展
php -v
php -m | grep -i curl
php -m | grep -i gd
php -m | grep -i mysqli# 检查 MySQL 服务状态
systemctl status mysqld
注意:WordPress 要求 PHP 7.4+ 或 8.0+。如果版本过低,需先升级 PHP 环境。确保 curl, gd, mysqli 等扩展已安装,否则后续上传文件或连接数据库会报错。
核心差异:手动部署 vs 一键面板
很多运营推广人员问:为什么不用宝塔、1Panel 这种一键面板?这里做一个技术选型对比,帮你理解“手动用 Xshell 安装”的价值和代价。
| 维度 | Xshell 手动部署 (CLI) | 可视化面板 (宝塔/1Panel) |
|---|---|---|
| 资源占用 | 极低,仅系统本身 + 服务 | 较高,面板常驻内存约 100-200MB |
| 安全性 | 高,无面板端口暴露风险 | 中,需额外配置面板密码、防火墙 |
| 学习曲线 | 陡峭,需懂 Linux 命令、Nginx 配置 | 平缓,点点鼠标即可 |
| 灵活性 | 极高,可定制任何配置细节 | 中,受限于面板提供的功能模板 |
| 故障排查 | 难,需看日志文件 | 易,面板有图形化日志和错误提示 |
| 适用场景 | 高并发、资源受限 VPS、安全敏感环境 | 多站点管理、快速建站、新手入门 |
选型建议: 如果你是运营人员,日常只需维护 1-2 个站,且服务器配置在 2G 内存以上,用面板更高效。但如果你想节省服务器资源,或者需要深度定制 Nginx 规则(如防盗链、压缩优化),如何用 xshell 安装 wordpress 的手动方式才是正解。尤其是当你需要为每个站独立配置 SSL 证书、缓存策略时,CLI 的精确控制无可替代。
实操步骤:Xshell 下的代码级部署
接下来是核心环节。我们将分步执行,每一步都附带命令和预期结果。请确保在 Xshell 中按顺序执行。
1. 创建 MySQL 数据库
WordPress 需要数据库存储内容。在 Xshell 中进入 MySQL 命令行:
mysql -u root -p
输入密码后,执行以下 SQL 语句。注意替换 wp_db 和 wp_user 为你自己的命名,密码务必复杂:
CREATE DATABASE wp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'YourStrongPassw0rd!';
GRANT ALL PRIVILEGES ON wp_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
关键点:字符集必须选 utf8mb4,否则中文乱码、Emoji 表情无法保存。这是新手最常踩的坑。
2. 下载并解压 WordPress
确保服务器已安装 wget 或 curl。这里以 wget 为例:
cd /var/www/html
wget https://cn.wordpress.org/wordpress-6.4-zh_CN.tar.gz
tar -xzvf wordpress-6.4-zh_CN.tar.gz
rm -rf wordpress-6.4-zh_CN.tar.gz
mv wordpress wp-site
将下载的文件重命名为 wp-site,避免后续混淆。
3. 配置 PHP 与 Nginx
PHP 配置:
WordPress 推荐的最大上传文件大小为 2MB,但为了上传主题和插件,建议调大。编辑 PHP 配置文件(路径依发行版而异,常见为 /etc/php/7.4/fpm/php.ini 或 /etc/php/8.0/fpm/php.ini):
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
修改后重启 PHP-FPM:
systemctl restart php-fpm
Nginx 配置:
创建站点配置文件 /etc/nginx/conf.d/yourdomain.com.conf:
server {listen 80;server_name yourdomain.com www.yourdomain.com;root /var/www/html/wp-site;index index.php index.html;# 禁止直接访问隐藏文件location ~ /\. {deny all;}# 核心 WordPress 路由规则location / {try_files $uri $uri/ /index.php?$args;}# PHP 处理location ~ \.php$ {fastcgi_pass 127.0.0.1:9000; # 根据你的 PHP 版本调整端口fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}# 禁止访问 wp-config.php 等敏感文件location ~* /(wp-config\.php|\.env|\.htaccess) {deny all;}# 开启 gzip 压缩gzip on;gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
}
注意:fastcgi_pass 的地址需检查你服务器 PHP-FPM 实际监听的地址和端口(通常是 127.0.0.1:9000 或 Unix Socket /run/php/php8.0-fpm.sock)。
测试 Nginx 配置语法:
nginx -t
如果显示 syntax is ok 和 test is successful,则重载 Nginx:
systemctl reload nginx
4. 设置权限
WordPress 对文件权限非常敏感。错误会导致无法上传文件或提示“权限不足”。执行以下命令:
chown -R www-data:www-data /var/www/html/wp-site # CentOS 用户可能是 nginx:nginx
find /var/www/html/wp-site -type d -exec chmod 755 {} \;
find /var/www/html/wp-site -type f -exec chmod 644 {} \;
说明:
www-data是 Ubuntu 的默认 Web 用户,CentOS 通常用nginx或apache。请根据ps aux | grep nginx查看实际运行用户。- 目录权限 755,文件权限 644,这是安全与功能平衡的最佳实践。
5. 初始化 WordPress
现在,打开浏览器,访问 http://yourdomain.com。
你应该能看到 WordPress 的“经典安装”界面。
- 选择语言(中文)。
- 填写数据库名
wp_db,用户名wp_user,密码YourStrongPassw0rd!,主机名localhost。 - 点击“提交”,如果配置正确,会进入“安装信息”页面。
- 填写网站标题、管理员账号和密码。
如果报错:
- 502 Bad Gateway:检查 Nginx 配置中
fastcgi_pass是否正确,以及 PHP-FPM 是否启动。 - Database Error:检查 MySQL 用户名密码是否正确,以及
wp-config.php文件是否生成成功。 - 权限问题:检查
/wp-content/目录权限,确保 Web 服务器用户可写。
上线部署与安全加固
装好只是开始,真正的挑战在上线后的稳定运行和安全防护。
1. SSL 证书配置
现在用户访问 http:// 会被浏览器警告。必须配置 HTTPS。推荐使用 Let's Encrypt 免费证书。
安装 Certbot(以 Ubuntu 为例):
sudo apt install certbot python3-certbot-nginx
一键申请并配置 Nginx:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Certbot 会自动修改 Nginx 配置,添加 443 端口监听和证书路径,并设置 HTTP 到 HTTPS 的强制跳转。再次测试:
nginx -t && sudo systemctl reload nginx
2. 安全加固建议
- 隐藏版本号:在 Nginx 配置中隐藏 PHP 版本,防止被针对性攻击。
fastcgi_param SERVER_SOFTWARE nginx; # 删除 fastcgi_param SCRIPT_FILENAME 前的默认版本泄露 - 限制访问:在 Nginx 中禁止访问
wp-includes和wp-admin中的敏感文件,或限制 IP 访问后台。 - 定期备份:设置 Crontab 定时任务,每天备份数据库和文件。
0 2 * * * mysqldump -u wp_user -p'YourStrongPassw0rd!' wp_db > /backup/db_$(date +\%Y\%m\%d).sql 0 3 * * * tar -czf /backup/files_$(date +\%Y\%m\%d).tar.gz /var/www/html/wp-site
3. 性能优化
- 开启 OPcache:在 PHP 配置中启用
opcache.enable=1,提升 PHP 执行效率。 - 静态资源缓存:在 Nginx 中为图片、CSS、JS 文件设置长缓存时间。
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {expires 30d;add_header Cache-Control "public, immutable"; }
常见故障排查与总结
Q1: 安装过程中,数据库连接失败?
A: 检查 wp-config.php 中的数据库主机是否为 localhost。有些环境需要指定具体 IP 或 Socket 文件路径。同时确认 MySQL 服务已启动,且用户权限已授予。
Q2: 上传主题/插件时提示“磁盘空间不足”或“权限错误”?
A: 检查 /var/www/html/wp-site/wp-content/ 目录权限。确保 Web 服务器用户拥有写权限。同时检查 upload_max_filesize 和 post_max_size 是否足够大。
Q3: 为什么不用 Xftp 拖拽文件?
A: Xftp 适合少量文件传输。对于 WordPress 这种包含几百个文件的程序,wget 或 git clone 更高效,且能保持文件完整性,避免传输中断导致的文件损坏。
Q4: 国内服务器备案期间能测试吗?
A: 不能通过 80 端口访问。你可以临时修改 Nginx 监听 8080 端口,用 IP:8080 进行内部测试,但正式环境必须备案后启用 80/443 端口。
手动用 Xshell 安装 WordPress,虽然步骤繁琐,但能让你彻底理解 Web 服务器的工作原理。当你面对服务器报错时,不再是盲目重启,而是能精准定位到是 Nginx 配置、PHP 参数还是权限问题。这种底层掌控力,是运营推广人员从“搬砖工”进阶为“技术型运营”的关键。
对于追求极致性能和安全性的站点,CLI 部署是必经之路。而对于多站点矩阵,可以结合面板进行管理,但核心站点的架构理解依然来自手动部署的经验。
还有什么建站疑问?评论区留言挨个回