FrankenPHP 是构建在Caddy Web 服务器之上的现代 PHP 应用程序服务器。
notion image

部署教程

docker安装

shell

curl -fsSL https://get.docker.com | sh && ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin
Shell

创建目录结构

shell

mkdir -p /home/web/{caddy,html,,mysql} touch /home/web/caddy/Caddyfile
Shell

下载源码

shell

cd /home/web/html/ && mkdir web1 && cd web1 wget -O latest.zip https://cn.wordpress.org/latest-zh_CN.zip unzip latest.zip rm latest.zip
Shell

shell

echo "define('FS_METHOD', 'direct'); define('WP_REDIS_HOST', 'redis'); define('WP_REDIS_PORT', '6379');" >> /home/web/html/web1/wordpress/wp-config-sample.php
Shell

配置Caddyfile

shell

nano /home/web/caddy/Caddyfile
Shell

shell

{ frankenphp order mercure after encode order vulcain after reverse_proxy order php_server before file_server order php before file_server } kjlion.com { root * public/web1/wordpress encode zstd gzip php_server }
Shell

启动环境

shell

wget -O /home/web/docker-compose.yml https://raw.githubusercontent.com/kejilion/docker/main/docker-compose-frankenphp.yml nano /home/web/docker-compose.yml cd /home/web && docker-compose up -d
Shell

安装PHP扩展

shell

docker exec -it web install-php-extensions mysqli gd intl zip opcache docker exec -it web install-php-extensions exif imagick redis docker exec web sh -c 'echo "upload_max_filesize=50M \n post_max_size=50M" > /usr/local/etc/php/conf.d/uploads.ini' docker exec web sh -c 'echo "memory_limit=256M" > /usr/local/etc/php/conf.d/memory.ini' docker exec web sh -c 'echo "max_execution_time=1200" > /usr/local/etc/php/conf.d/max_execution_time.ini' docker exec web sh -c 'echo "max_input_time=600" > /usr/local/etc/php/conf.d/max_input_time.ini'
Shell

创建数据库

shell

docker exec -it mysql mysql -u root -p CREATE DATABASE web1; GRANT ALL PRIVILEGES ON web1.* TO 'kejilion'@'%';
Shell

重启环境

shell

cd /home/web && docker-compose restart
Shell
部署完成!
Caddy新一代轻量web服务器draw在线绘图图工具搭建
Loading...
hexo