给php-fpm服务配置软链接 作者: 毕世平 时间: 2026-08-25 分类: 默认分类 前言:在使用秋大的[lcmp一键安装脚本](https://lamp.sh/12.html "lcmp一键安装脚本")配置完网络环境之后,当vps重启或者升级(重启)php服务的时候,会发现网站无法访问了。 秋大的`lcmp.sh`脚本默认选择的是`php8.4`版本,所以本文以这个版本为例添加相关的服务文件,以解决“当VPS重启,无法访问网站”这个问题。 ## 1.caddy默认配置文件 当完成`lcmp.sh`脚本安装后,它会自动在`/etc/caddy/conf.d`放置一个`default.conf`作为默认配置文件,下面是它的默认配置: # 以下是/etc/caddy/conf.d/default.conf默认配置文件 :80 { header { Strict-Transport-Security "max-age=31536000; preload" X-Content-Type-Options nosniff X-Frame-Options SAMEORIGIN } root * /data/www/default encode gzip zstd php_fastcgi unix//run/php/php-fpm.sock file_server { index index.html } log { output file /var/log/caddy/access.log { roll_size 32mb roll_keep 3 roll_keep_for 7d } } } **说明**:从此配置文件可以看出,`caddy`找`php`服务是通过`php_fastcgi unix://run/php/php-fpm.sock`这种方式访问,`php`后面没有紧跟版本号,但是`php8.4-fpm.service`在`/run/php`目录下创建的是`php8.4-fpm.sock`这个文件,详见下图:  **说明**:因此我们可以手动创建一条软连接,`php-fpm.sock`指向`php8.4-fpm.sock`,这样`caddy`就能正常跟`php`通讯了,命令是`sudo ln -s /run/php/php8.4-fpm.sock /run/php/php-fpm.sock`,这样网站即可恢复访问了。 ## 2.配置php8.4-fpm.service服务 每次vps重启,可能都需要创建这条软连接,因为`/run`所在文件系统类型是`tmpfs`,所以上面手动的方法难免有些麻烦。于是,个人通过询问Gemini,加上实操,发现下面一种方法可以解决这个问题:  # 配置php服务 sudo systemctl edit php8.4-fpm.service # 在两行注释之间,添加下面内容(可以根据版本号做相应修改) [Service] ExecStartPre=/bin/sh -c '[ ! -L /run/php/php-fpm.sock ] && ln -s /run/php/php8.4-fpm.sock /run/php/php-fpm.sock || true' # 重载 sudo systemctl daemon-reload # 重启服务 sudo lcmp restart 或者 sudo systemctl restart php8.4-fpm ## 3.结语 实测最新版本的`php8.4.24`已经解决这个问题,本文不再需要,但是配置了不冲突。本文难免有错误,欢迎留言指正。 ## 参考链接: - [LCMP一键安装脚本](https://lamp.sh/12.html "LCMP一键安装脚本") - [秋水大佬LCMP项目地址](https://github.com/teddysun/lcmp "秋水大佬LCMP项目地址") 标签: none