如何利用Ai建立新的WordPress站点

Ds V4 flash:

思考

我们已安装MariaDB并完成安全配置。下一步是安装PHP及必要的扩展,以支持WordPress。按照前面规划的LEMP栈,需安装PHP-FPM及相关模块。

好的,第三步完成。


第四步:安装 PHP 及 WordPress 所需扩展

WordPress 是用 PHP 编写的,我们需要安装 PHP-FPM 以及一系列常用扩展。

在终端输入以下命令(复制整段一次性粘贴即可):

bash

sudo apt install php-fpm php-mysql php-xml php-mbstring php-curl php-zip php-gd php-intl php-bcmath php-imagick php-cli -y

安装完成后,确认 PHP 版本:

bash

php -v

你应该会看到类似 PHP 8.3.x 的版本信息(Ubuntu 24.04 默认源提供的是 PHP 8.3)。


验证 PHP-FPM 是否正常运行

bash

systemctl status php8.3-fpm

(如果版本不是 8.3,请用 php8.4-fpm 等对应名称)
应该看到 active (running) 绿色字样。


完成上述操作后,告诉我 “第四步完成”,我们下一步将配置 Nginx 使其能够处理 PHP 请求。

这里,我直接发运行结果,这样如果里面有出错信息它也可以自己判断出来。

我:root@zhu:~# systemctl status php8.3-fpm
● php8.3-fpm.service – The PHP 8.3 FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php8.3-fpm.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-05-08 08:34:40 UTC; 40s ago
Docs: man:php-fpm8.3(8)
Process: 926623 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.3/fpm/pool.d/www.conf 83 (code=exited, status=0/SUCCESS)
Main PID: 926618 (php-fpm8.3)
Status: “Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec”
Tasks: 3 (limit: 1068)
Memory: 13.1M (peak: 14.3M)
CPU: 207ms
CGroup: /system.slice/php8.3-fpm.service
├─926618 “php-fpm: master process (/etc/php/8.3/fpm/php-fpm.conf)”
├─926621 “php-fpm: pool www”
└─926622 “php-fpm: pool www”

May 08 08:34:39 zhu.gd systemd[1]: Starting php8.3-fpm.service – The PHP 8.3 FastCGI Process Manager…
May 08 08:34:40 zhu.gd systemd[1]: Started php8.3-fpm.service – The PHP 8.3 FastCGI Process Manager.

Ds V4 flash:

思考

我们确认第四步已完成。终端显示PHP-FPM处于active (running),很好。接下来应配置Nginx以处理PHP。但用户尚未明确说“第四步完成”,只是贴了状态。按照约定,需用户确认后再继续。建议回复:确认PHP-FPM运行正常,第四步完成。然后提示下一步:配置Nginx站点。

很好,PHP-FPM 已经正常运行,说明第四步安装成功。

请确认一下:你现在的终端已经回到 root@zhu:~# 提示符了吗? 如果是,就可以告诉我 “第四步完成”,然后我们进入第五步——配置 Nginx 让它可以处理 PHP 请求。

我要笑死,它还会给我确认完成。六百六十六了

我:好的,完成了

Ds V4 flash:

思考

我们确认了第四步完成,现在开始第五步:配置 Nginx 来支持 WordPress。需要创建一个Nginx配置文件。可以给出具体命令。

太好了。现在进行 第五步:配置 Nginx 使其能运行 PHP(WordPress)


第五步:为 WordPress 创建 Nginx 配置

我们会新建一个 Nginx 配置文件,告诉 Nginx 如何处理 WordPress 的请求。

  1. 先删除默认的站点配置(避免冲突)
    bash
    sudo rm /etc/nginx/sites-enabled/default
  2. 创建新的 WordPress 配置文件
    bash
    sudo nano /etc/nginx/sites-available/wordpress

    在打开的编辑器中,将以下内容完整复制粘贴进去(注意:用 Ctrl+Shift+V 粘贴到终端中):

    nginx server {
    listen 80;
    server_name _; # 暂时用下划线,后面再改为你的域名
    root /var/www/wordpress;
    index index.php index.html index.htm;
    client_max_body_size 20M;
    location / { try_files $uri $uri/ /index.php?$args; }
    location ~ \.php$ { include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
    }
    location ~ /\.ht {
    deny all;
    }
    }
  3. 保存并退出
    • Ctrl+X
    • Y 确认保存
    • Enter 退出
  4. 启用这个配置(创建软链接):
    bash
    sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
  5. 测试 Nginx 配置是否正确
    bash
    sudo nginx -t

    应该看到 syntax is oktest is successful
  6. 重新加载 Nginx:bashsudo systemctl reload nginx

完成标志:没有错误信息,终端回到 root@zhu:~#

完成后告诉我 “第五步完成”,下一步我们将下载并安装 WordPress。

复制到wordpress有排版偏差,实际上代码行还是很友好的,而且按照它的步骤做没问题。而且关键的地方它也会标记不同颜色。

这时也来到了我服务器的一个大问题,其实我在安装前没有重置服务器,里面有其它程序,所以跑重新加载Nginx出现问题了。

我:root@zhu:~# sudo systemctl reload nginx
nginx.service is not active, cannot reload.
终端回到 root@zhu:~#。

Ds V4 flash:

思考

我们注意到执行 sudo systemctl reload nginx 返回 “nginx.service is not active, cannot reload.”,说明 nginx 没有运行。需要先启动 nginx。之前测试过 nginx -t 应该是成功的,但服务没启动。请执行 sudo systemctl start nginx,然后再 sudo systemctl status nginx 确认 active。然后可以继续。同时提醒用户检查配置是否正确。

你的 Nginx 服务当前没有运行,所以无法重载。请按以下步骤启动它:

bash

sudo systemctl start nginx
sudo systemctl enable nginx   # 设置开机自启
sudo systemctl status nginx   # 确认状态为 active (running)

如果启动失败,可能是之前的 LibreChat 或其他进程占用了 80 端口。可以用 sudo netstat -tlnp | grep :80 查看。如果端口被占用,需要停止冲突的服务或修改 Nginx 监听端口。

先执行上面的命令,然后告诉我结果。如果成功启动,我们再继续第五步后面的操作。

还是失败

我:Job for nginx.service failed because the control process exited with error code.
See “systemctl status nginx.service” and “journalctl -xeu nginx.service” for details.

Ds V4 flash:

思考

我们收到了启动失败的信息。需要检查具体的错误原因。用户应该运行 systemctl status nginx.service 查看详细信息。或者先测试配置 sudo nginx -t 看是否有语法错误。可能之前删除默认配置后新配置有问题。需要指导用户检查。
建议用户运行:
sudo nginx -t
查看输出。如果有错误,根据错误修正。可能 /var/www/wordpress 目录尚未创建(在配置中root指向了该目录,但目录不存在会导致Nginx启动失败)。可以创建目录:sudo mkdir -p /var/www/wordpress
按步骤处理。

启动失败通常是因为配置文件有误或者必要的目录不存在。我们先排查:

  1. 测试 Nginx 配置是否正确
    bash
    sudo nginx -t

    把输出结果完整发给我。
  2. 常见原因:配置文件中 root /var/www/wordpress; 这个目录还不存在。可以先创建它:
    bash
    sudo mkdir -p /var/www/wordpress
  3. 检查端口是否被占用(比如 LibreChat 可能占用了 80):
    bash
    sudo netstat -tlnp | grep :80

请先运行 sudo nginx -t,看看报什么错。把结果贴出来,我再帮你解决。

这里我运行了1、2、3的命令行,并把反馈发回去。

我:root@zhu:~# sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@zhu:~# sudo mkdir -p /var/www/wordpress
root@zhu:~# sudo netstat -tlnp | grep :80
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 913346/python3
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 900621/docker-proxy
tcp6 0 0 :::80 :::* LISTEN 900627/docker-proxy

Ds V4 flash:

思考

我们看到了问题:80端口被一个docker-proxy占用了,说明有一个Docker容器在监听80端口。这很可能是之前安装的LibreChat或其他Docker服务。Nginx无法启动因为80端口已被占用。
解决方案:停止并移除那个Docker容器(如果不再需要),或者更改Nginx监听其他端口(但WordPress通常需要80/443)。既然用户说LibreChat已经荒废了,我们选择停止并清除相关Docker容器。
需要执行以下操作:
列出所有运行中的容器,找到占用80端口的那个:
sudo docker ps
停止该容器:
sudo docker stop <容器ID或名称>
可能还需要禁止其开机自启或直接删除。
但用户可能不熟悉Docker命令。我们给出简单指令。
另外,注意8000端口也有一个python3进程在监听,那个可能是别的服务,暂时不管。
建议用户执行:
bash
sudo docker ps –filter “publish=80”


然后根据输出的容器ID停止和移除。
或者更激进一点:停止所有Docker容器(如果用户确定不需要):
bash
sudo docker stop $(sudo docker ps -q)


但最好让用户确认。
现在回复用户,告知原因:端口80被Docker容器占用,需要停止该容器。然后给出具体命令。

问题找到了:80端口被一个Docker容器占用了(之前安装的LibreChat或其他服务)。所以Nginx无法启动。

既然LibreChat已经荒废,我们可以直接停止并删除这个Docker容器。

解决方案(停止并删除占用80端口的容器)

  1. 查看占用80端口的容器
    bash
    sudo docker ps
    记录下对应容器的 CONTAINER ID(前几位即可)。
  2. 停止该容器(假设ID是 900621,实际以你看到的为准):
    bash
    sudo docker stop 900621
  3. 删除它(可选,建议删除以免下次重启又启动)
    bash
    sudo docker rm 900621

如果你不想保留任何Docker容器,可以直接停止所有容器:

bash

sudo docker stop $(sudo docker ps -q)
  1. 再次启动Nginx
    bash
    sudo systemctl start nginx
    sudo systemctl enable nginx
    sudo systemctl status nginx

完成这些后,再用浏览器访问 http://你的IP地址,应该能看到Nginx欢迎页。


如果不想碰Docker,也可以用另一种临时办法:让Nginx监听其他端口(比如8080),但后面WordPress需要80端口来对外服务,所以还是解决Docker冲突更彻底。

请先运行 sudo docker ps,把结果发给我,我帮你确认要停止哪个容器。

后续还有安装wordpress,配置wordpress的文件。其实大同小异了,可见ai极大的拉低了很多工作的门槛,例如以前我要配置一个wordpress,我需要花不少时间去看nginx,DB,php,wordpress的教程,英语的、晦涩的命令行,还有不同情况下的问题排查。

而有了AI,我只需要把我接收到的提醒发给deepseek,它就会分析并且查阅它知识库甚至网上的信息。找出正确解决问题的命令,并且还会验证结果是否达成。

最后,完成任务之后,我发了一个感谢般的句子,因为每天都无数人问上面类似的问题。反复枯燥的重复劳动会降低积极性,后续还有不少维护或者遇到问题要继续保持对话。所以要用语言奖励它。

我:太棒了,我看见UI了,终于可以摆脱黑白的命令行,你给了我莫大的鼓舞。我成功了。

页: 1 2 3

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注