1Panel安装兰空图床:自定义PHP与宿主机调用教程
前言
花了点时间摸索了一下,一个比较能利用好 1panel 功能的方式。部分配置来自企业版自带的文档。我使用的系统为 Debian 12,所以部分命令可能需要自行根据系统进行修改。
如果你还没购买兰空图床,你也可以走 我的 AFF 链接 购买。
安装安装自定义 PHP
步骤:
下载离线包 https://github.com/zhengkunwang223/php/blob/main/php8.zip将 php8.zip 上传到 /opt/1panel/resource/apps/local 并解压。回到应用商店,同步应用列表。
这份离线包可能有一些问题,需要自己解决。例如,shell 脚本使用的是 #!/bin/sh 而非 #!/bin/bash,需要修改。否则扩展会安装失败。
需要安装的扩展有(未去重):
mbstring,xml,curl,zip,imagick,fileinfo,intl,bcmath,gd,opcache,tokenizer,soap,ftp,pdo_pgsql,pcntl
宿主机调用 PHP
由于我们的 PHP 是在 docker 容器中运行的,因此需要先添加一下环境变量,否则可能会出现找不到 PHP 的情况。 编辑 ~/.bashrc 文件:
# 添加别名
alias php='docker exec -it -w /www/sites//index <1Panel-php8> php'
# /www/sites//index 是 1panel 中的映射地址
# <1Panel-php8> 是 PHP 镜像的名称,名称可以从 容器 里面找到,使用 ID 也可以
source ~/.bashrc 刷新以启用这个别名。这样就可以在宿主机使用 php 命令了。
如果需要在脚本中生效,则可能需要修改 lsky 的安装脚本 install.sh,添加以下内容:
#!/bin/bash
shopt -s expand_aliases # 启用别名扩展
source ~/.bashrc # 加载别名定义
创建数据库
在数据库中创建一个新的数据库,例如 lskypro。记得给用户赋予相关权限,如 public schema。如果怕麻烦的话就勾选上管理权限。
安装 LskyPro
在网站中创建新的网站,选择自定义 PHP,选择刚刚安装的 PHP。
在火花后台下载 LskyPro 企业版 v2 的离线包。修改 database/migrations 文件夹内所有的文件,将 json 改为 jsonb,然后重新打包压缩包。
进入网站目录,上传打包好的压缩包并解压。
登录 SSH,进入站点根目录
cd /opt/1panel/apps/openresty/openresty/www/sites/<YourSite>/index
执行以下命令:
chmod +x install.sh
./install.sh
按照提示输入相关信息。
数据库配置:
然后脚本会检测运行用户。基本不会出错,直接回车即可。怕出错可以查看 ID,例如一起看,id debian,检查是否是 1000。
配置伪静态
在 1panel 的网站设置界面,将运行目录设置为 /public ,顺带重新保存一下用户组为 1000,确保文件权限正常。
如图:

然后配置伪静态:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ ^/livewire {
expires off;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .*\.(jpg|jpeg|webp|avif|bmp|gif|png|tif|tiff|jp2|j2k|jpf|jpm|jpg2|j2c|jpc|jpx|heic|heif)$ {
try_files $uri $uri/ /index.php?$query_string;
}
配置队列
进入 PHP 根目录,一般是 /opt/1panel/apps/local/php8/ 。进入 supervisor/supervisor.d 目录,创建一个新的配置文件,例如 lskypro.ini,内容如下:
[program:lsky-pro-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /www/sites//index/artisan queue:work
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/www/sites//index/storage/logs/queue.log
stopwaitsecs=3600
相关配置解释:
保存后一起看博客,执行以下命令重新加载配置:
# 进入PHP容器
docker exec -it <1Panel-php8> bash
# 重启 Supervisor
supervisorctl reread \
&& supervisorctl update \
&& supervisorctl start "lsky-pro-worker:*"
完成
如此,就完成了 LskyPro 企业版 v2 的安装和配置。直接访问网站即可。
参考
Footnotes
PHP 单容器多网站, Xload,Supervisor 临时解决方案
本文转载自互联网,如有侵权,联系删除

