【现好像已失效,问题末解决】用 frankenphp+mysql 快速搭建一个高性能的网站-2!
本文参考 科技lion大佬
FrankenPHP 是构建在Caddy Web 服务器之上的现代 PHP 应用程序服务器。
一、docker安装
curl -fsSL https://get.docker.com | sh && ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin二、创建目录结构
mkdir -p /home/web/{caddy,html,,mysql}
touch /home/web/caddy/Caddyfile三、下载源码
1、web1网站
一次安装
cd /home/web/html/ && mkdir web1 && cd web1
echo "define('FS_METHOD', 'direct'); define('WSZXWEB_REDIS_HOST', 'redis'); define('WSZXWEB_REDIS_PORT', '6379');" >> /home/web/html/web1/web1-config-sample.php分两次安装
cd /home/web/html/ && mkdir web1 && cd web1echo "define('FS_METHOD', 'direct'); define('WSZXWEB_REDIS_HOST', 'redis'); define('WSZXWEB_REDIS_PORT', '6379');" >> /home/web/html/web1/web1-config-sample.php上传php文件【下面的 WSZXIMG 修改用大写,另一个网站从上一步增加web2并进入,下一步也要修改,6379不修改】
2、web2网站
cd /home/web/html/ && mkdir web2 && cd web2
echo "define('FS_METHOD', 'direct'); define('WSZXWEBB_REDIS_HOST', 'redis'); define('WSZXWEBB_REDIS_PORT', '6379');" >> /home/web/html/web2/web2-config-sample.php3、web3网站
cd /home/web/html/ && mkdir web3 && cd web3
echo "define('FS_METHOD', 'direct'); define('WSZXWEBBB_REDIS_HOST', 'redis'); define('WSZXWEBBB_REDIS_PORT', '6379');" >> /home/web/html/web3/web3-config-sample.php4、web4网站
cd /home/web/html/ && mkdir web4 && cd web4
echo "define('FS_METHOD', 'direct'); define('WSZXWEBBBB_REDIS_HOST', 'redis'); define('WSZXWEBBBB_REDIS_PORT', '6379');" >> /home/web/html/web4/web4-config-sample.php5、web5网站
cd /home/web/html/ && mkdir web5 && cd web5
echo "define('FS_METHOD', 'direct'); define('WSZXWEBBBBB_REDIS_HOST', 'redis'); define('WSZXWEBBBBB_REDIS_PORT', '6379');" >> /home/web/html/web5/web5-config-sample.php6、web6网站【内存大的可以继续安装web7、web8等】
cd /home/web/html/ && mkdir web6 && cd web6
echo "define('FS_METHOD', 'direct'); define('WSZXWEBBBBBB_REDIS_HOST', 'redis'); define('WSZXWEBBBBBB_REDIS_PORT', '6379');" >> /home/web/html/web6/web6-config-sample.php四、配置Caddyfile,以kjlion.com为例,cf上小云朵随便。
nano /home/web/caddy/CaddyfileGPT建议配置。建议:简化 Caddyfile,仅使用必要配置,示例如下:
{
frankenphp
encode zstd gzip
}
kjlion.com {
root * /app/public/web1
php_server
}
原来配置:
{
frankenphp
order mercure after encode
order vulcain after reverse_proxy
order php_server before file_server
order php before file_server
}
1.kjlion.com {
root * public/web1 #备注什么网站
encode zstd gzip
php_server
}
2.kjlion.com {
root * public/web2 #备注什么网站
encode zstd gzip
php_server
}五、启动环境
1、下载必需的yml文件
wget -O /home/web/docker-compose.yml https://raw.githubusercontent.com/wszx123/gongjuxiang/refs/heads/main/.github/workflows/docker-compose-frankenphp.yml2、编辑yml文件【可编辑好后上传】
nano /home/web/docker-compose.yml3、启动docker-compose
cd /home/web && docker-compose up -d六、安装PHP扩展,最好分两次
1、安装时间有些长,不急。
docker exec -it web install-php-extensions mysqli gd intl zip opcache
docker exec -it web install-php-extensions exif imagick redis2、下面的最大上传100M可修改为50M或200M等,内存256M也可修改为128M或512M等
docker exec web sh -c 'echo "upload_max_filesize=100M \n post_max_size=100M" > /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'七、创建数据库, 不用数据库的可不安装 【备注1:enter password:是上一步启动环境中设置的MYSQL_ROOT_PASSWORD: webroot,备注2:上一步的 MYSQL_USER: kejilion 名称与这一步中的TO 'kejilion'@'%'; 的名称要一致】
docker exec -it mysql mysql -u root -p
CREATE DATABASE web1;
GRANT ALL PRIVILEGES ON web1.* TO 'kejilion'@'%';八、重启环境,重新安装另一网站要重启
cd /home/web && docker-compose restart
新项目准备上线,寻找志同道合的合作伙伴
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com