【现好像已失效】用 frankenphp+mysql 快速搭建一个高性能的网站-2!

【现好像已失效】用 frankenphp+mysql 快速搭建一个高性能的网站-2!

wszx01
2024-12-13 / 5 评论 / 9 阅读

【现好像已失效,问题末解决】用 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 web1
echo "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.php

3、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.php

4、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.php

5、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.php

6、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/Caddyfile

GPT建议配置。建议:简化 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.yml

2、编辑yml文件【可编辑好后上传】

nano /home/web/docker-compose.yml

3、启动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 redis

2、下面的最大上传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
0

评论 (5)

取消
  1. 头像
    qacyilsitj
    Windows 10 · Google Chrome

    新项目准备上线,寻找志同道合的合作伙伴

    回复
  2. 头像
    slijdyiwez
    Windows 10 · Google Chrome

    做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com

    回复
  3. 头像
    usyfcglofj
    Windows 10 · Google Chrome

    新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com

    回复
  4. 头像
    akafmesyih
    Windows 10 · Google Chrome

    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

    回复
  5. 头像
    ogcihwbnkh
    Windows 10 · Google Chrome

    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

    回复
您是第 205225 位访客