本地 wordpress 搭建

本文使用技术栈:win11 + caddy(替换 nginx)+ wordpress
坑点:好多资料,都是利用 XAMPP,WampServer ,… 这类的工具直接部署。
但是,
1.我不想下载奇怪的东西。
2.很多工具,我电脑本地有。
于是决定,自动手动。

第一步:决定技术栈,讲解一些坑点

本来我打算使用 nginx,但是 nginx 的语法复杂,性能低,与 win 兼容性一般般(肯定有刺头说 nginx 好,nginx 妙。问就是,我部署失败了)。
于是采用 caddy 代替,一用不知道,一用吓一跳,比 nginx 好用很多。

使用 Caddy 代替 Nginx 或 Apache 是完全可行的,甚至在某些方面更简单(例如自动 HTTPS 和更简洁的配置)。

坑点 1

坑点:自动 HTTPS  造成 `No connection could be made because the target machine actively refused it.`
原因:这涉及到网页重定向(Redirect)机制的运作。在网页开发中,重定向是指服务器将用户的请求自动转移到另一个 URL。
     举个例子,当你访问 http://example.com 时,服务器可能会将你重定向到 https://example.com,以确保连接的安全性。
     然而,当重定向配置不当时,可能会导致无限循环。
     例如,假设 http://example.com 被设置为重定向到 https://example.com,但由于服务器配置错误,https://example.com 又重定向回 http://example.com。
     如此循环下去,浏览器会发现这个循环无法结束,从而抛出 ERR_TOO_MANY_REDIRECTS 错误。

从定向异常,从定向太多次
解决:详细解决方案

# 设置前缀 `http://`
http://localhost:2080 {
	root * C:\Users\JadeYao\Desktop\IdeaPJ\wordpress
	php_fastcgi 127.0.0.1:9000
	file_server
}

坑点 2

不熟悉,php 项目怎么部署。奇怪的问题,2020 程序员,怎么会知道 php 怎么运行。

第二部:开始部署

以下是基于你现有环境(Windows + MySQL 9 + PHP 8)使用 Caddy 部署 WordPress 的详细步骤:


部署

1. 配置 PHP 8
  1. 确保 PHP 已正确安装
    • 检查 php.ini 是否启用了这些扩展(参考之前的配置)。
scoop search php ; scoop install php
  1. 基本的修改

复制 php.ini-development 文件为 php.ini,并进行以下配置:
打开 php.ini 文件,取消以下行的注释:

extension=mysqli
extension=pdo_mysql
extension=mbstring
extension=curl
extension=gd
extension=xml
extension=json
extension=openssl
# 配置 php.ini 文件中的 upload_max_filesize 和 post_max_size,以支持更大的文件上传:
upload_max_filesize=64M
post_max_size=64M
  1. 启动 PHP-CGI
    • Caddy 通过 FastCGI 与 PHP 通信。在 Windows 上,需手动启动 php-cgi.exe
php-cgi.exe -b 127.0.0.1:9000
# 可以使用 pwsh 命令,后台运行
Start-Process -WindowStyle hidden -FilePath "C:\Users\JadeYao\scoop\shims\php-cgi.exe" -ArgumentList "-b 127.0.0.1:9000"
# 检验,php-cgi 是否监听 9000 端口
netstat -an | findstr 9000
# 输出:TCP    127.0.0.1:9000         0.0.0.0:0              LISTENING

2. 配置 MySql
net start mysql
# 或者 pwsh 命令
Start-Process -WindowStyle hidden -FilePath "C:\Users\JadeYao\scoop\shims\mysqld.exe"

创建数据库和用户:
打开命令提示符,登录到 MySQL:

mysql -u root -p

输入 root 用户的密码。
创建一个数据库和用户,用于 WordPress:

CREATE DATABASE wordpress;
CREATE USER 'wordpres_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress_user'@'localhost';
FLUSH PRIVILEGES;

3. 配置 Caddy
scoop search caddy ; scoop install caddy
caddy version
  • 输出版本号即表示安装成功。

  1. 创建 Caddyfile
  • 目录A新建文件 Caddyfile(无扩展名),内容如下:
http://localhost:2080 {
	root * 目录A\wordpress
	php_fastcgi 127.0.0.1:9000
	file_server
}
  • root * ?:指定 WordPress 文件目录。
  • php_fastcgi 127.0.0.1:9000:指向 PHP-CGI 进程的地址和端口。
  • file_server:启用静态文件服务。
  1. 运行 Caddy
# 先格式化,然后再运行
caddy fmt --overwrite .\Caddyfile
caddy run --config .\Caddyfile
# 目录下存在 Caddyfile,就不需要 `--config .\Caddyfile`。加上 `--watch` 动态解析。
caddy run --watch
3. 配置 WordPress
  • 下载 WordPress 并解压到 目录A(与 Caddyfile 配置的路径一致)。
  • 配置 wp-config.php

将 wp-config-sample.php 文件重命名为 wp-config.php。
编辑 wp-config.php 文件,配置数据库连接信息:

define('DB_NAME',     'wordpress');
define('DB_USER',     'wordpress_user');
define('DB_PASSWORD', 'password');
define('DB_HOST',     'localhost');
define('DB_CHARSET',  'utf8');
define('DB_COLLATE',  '');

4. 访问 WordPress
  • 浏览器访问 http://localhost:2080,完成 WordPress 安装向导。

在这里插入图片描述

完整流程示例

  1. 目录结构
PS 目录A
# erd -i -L=1 -H -P -I -y=inverted .
 74.3 MiB  wordpress
 48.0 MiB ├─  wp-includes
 17.4 MiB ├─  wp-content
  8.7 MiB ├─  wp-admin
 50.2 KiB ├─  wp-login.php
 33.6 KiB ├─  wp-signup.php
 28.4 KiB ├─  wp-settings.php
 19.4 KiB ├─ 󰈙 license.txt
  8.3 KiB ├─  wp-mail.php
  7.2 KiB ├─  readme.html
  7.2 KiB ├─  wp-activate.php
  5.5 KiB ├─  wp-cron.php
  5.0 KiB ├─  wp-trackback.php
  3.8 KiB ├─  wp-load.php
  3.8 KiB ├─  wp-config.php
  3.3 KiB ├─  wp-config-sample.php
  3.2 KiB ├─  xmlrpc.php
  2.4 KiB ├─  wp-links-opml.php
  2.3 KiB ├─  wp-comments-post.php
  405   B ├─  index.php
  351   B ├─  wp-blog-header.php
  142   B └─  Caddyfile

Caddy vs Nginx/Apache 对比

特性CaddyNginx/Apache
配置复杂度极简(一行配置完成 PHP 支持)需要手动配置 FastCGI
HTTPS自动申请 Let’s Encrypt 证书需手动配置证书
性能轻量,适合中小型应用高性能,适合高并发场景
学习曲线低(适合新手)中高(需熟悉语法)

总结

使用 Caddy 在 Windows 本地部署 WordPress 的流程如下:

  1. 安装 Caddy → 配置 Caddyfile
  2. 启动 PHP-CGI → 处理 PHP 动态请求。
  3. 启动 Caddy → 一键提供 Web 服务和 PHP 支持。

Caddy 的简洁性和自动化特性(如 HTTPS)使其成为本地开发的理想选择,尤其适合希望快速搭建环境且不愿深入配置服务器的用户。如果后续需要迁移到生产环境,Caddy 的配置也几乎无需修改!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值