ws01博客 - Caddy
type: channel
link: https://boke.ndjp.net/index.php/tag/Caddy/
items: 用 lnmp环境 + Caddy2 快速部署php动、静态网站
items: ★★★在 Debian 11/12 上安装 PHP 8.2 + Caddy【MySQL 8.0或MariaDB数据库】
items: 【现好像已失效】用 frankenphp+mysql 快速搭建一个高性能的网站-2！
items: docker搭建 简单图床 easyImage2.0
items: Caddy2的安装与使用，轻松实现反向代理和重定向
items: 用 frankenphp+mysql 快速搭建一个高性能的网站-1！
items: Caddy新一代轻量web服务器 配置简单 自动HTTPS 反向代理建站

用 lnmp环境 + Caddy2 快速部署php动、静态网站
type: item
date: 2025-06-19T13:03:00+00:00
description: 用 lnmp环境 + Caddy2 快速部署php动、静态网站 Caddy2 是一个现代、高性能、自动 HTTPS 的 Web 服务器，比 Nginx 更简单，特别适合快速部署 PHP 网站。{dotted startColor="#ff6c6c" endColor="#1989fa"/}一、lnmp环境搭建 1.安装要求: 参考： lnmp环境搭建 CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Aliyun/Amazon/Mint Linux发行版需要5GB以上可用空间，MySQL 5.7,MariaDB 10至少9GB剩余空间,MySQL8.0最新版至少25GB以上,如空间不够且是x86或x86_64架构MySQL可以选择Generic Binaries安装。需要128MB以上内存(128MB小内存VPS,Xen需有SWAP,OpenVZ至少要有128MB以上的vSWAP或突发内存)，注意小内存请勿使用64位系统！安装MySQL 5.6或5.7及MariaDB 10必须1G以上内存，更高版本至少要2G内存!。安装PHP 7及以上版本必须1G以上内存!。VPS或服务器必须设置好可用的yum或apt-get源并确保能正常工作，离线安装需要增加 CheckMirror=n 参数！不要在非常新的Linux发行版上安装旧的PHP/MySQL版本，同理不要在旧的Linux发行版上安装非常新的PHP/MySQL版本。Linux下区分大小写，输入命令时请注意！如有通过yum或apt-get安装的MySQL/MariaDB请自行备份数据等相关文件！CentOS 5、6、8,Debian 6、7、8或更低版本官网已经结束支持无法直接使用，需自行更换vault或archive源！CentOS 6、8请用lnmp 1.9+版本进行安装！Ubuntu 18+,Debian 9+,Mint 19+,Deepin 15.7+及所有新的Linux发行版只能使用1.7+进行安装！PHP 7.1.*以下版本不支持Ubuntu 19+、Debian 10+等等非常新的Linux发行版！阿里云Ubuntu 14.04和22.04系统模版有问题不要用！！！要用的话论坛找解决方法PHP 7.4升级或安装必须CentOS 7+,Debian 8+,Ubuntu 16.04+且必须使用1.7+！！！MySQL 8.0.23以下版本升级或安装必须CentOS 8+,Debian 9+,Ubuntu 16.04+且必须使用1.7+！！！MySQL 8.0.24以上版本升级或安装必须Debian 11+,Ubuntu 20.04+,Fedora 33+,CentOS 9等gcc 10+的版本且必须使用1.9+，不满足要求请选择(Generic Binaries)二进制方式！！！MariaDB 10.*以上版本升级或安装必须CentOS 8+,Debian 10+,Ubuntu 18.04+等cmake版本高于3的系统或自行升级cmake！！！不满足要求使用lnmp 2.0选择(Generic Binaries)二进制方式。2、更新系统sudo apt update && sudo apt upgrade -y3.安装LNMP稳定版如需要安装LNMPA或LAMP，将./install.sh 后面的参数lnmp替换为lnmpa或lamp即可。同时也支持单独安装Nginx或数据库，命令为 ./install.sh nginx 或 ./install.sh db。wget https://soft.lnmp.com/lnmp/lnmp2.2.tar.gz -O lnmp2.2.tar.gz && tar zxf lnmp2.2.tar.gz && cd lnmp2.2 && ./install.sh lnmp输入对应MySQL或MariaDB版本前面的序号，回车进入下一步.如果选择MySQL/MariaDB如果有对应架构的二进制包会提示：”Using Generic Binaries [y/n]:“ 这一步是提示是否使用二进制安装，输入 y 为使用二进制安装，输入 n 为使用源码编译安装。如果没有提示说明当前架构没有对应的二进制安装包。设置MySQL的root密码（为了安全不输入直接回车将会设置为lnmp.org#随机数字）如果输入有错误需要删除时，可以按住Ctrl再按Backspace键进行删除(个别情况下是只需按Backspace键)。询问是否需要启用MySQL InnoDB，InnoDB引擎默认为开启，一般建议开启，直接回车或输入 y ，如果确定确实不需要该引擎可以输入 n，(MySQL 5.7+版本无法关闭InnoDB),输…

★★★在 Debian 11/12 上安装 PHP 8.2 + Caddy【MySQL 8.0或MariaDB数据库】
type: item
date: 2025-06-05T14:55:00+00:00
description: ★★★在 Debian 11/12 上安装 PHP 8.2 + Caddy【MySQL 8.0或MariaDB数据库】 现在已集成到一键工具箱中了，进入后选11，支持 Debian11、12 和 UBT 等系统wget https://raw.githubusercontent.com/wszx123/gongjuxiang/refs/heads/main/toolbox.sh -O toolbox.sh && chmod +x toolbox.sh && ./toolbox.sh特别备注：1、Debian 12 (PHP 8.2) 上，如需要修改 php.ini 配置文件【不修改也可以，修改后可上传更大的文件等】，并重启 PHP 服务找到： /etc/php/8.2/fpm/php.in 修改为 upload_max_filesize = 20M 或更大 100M post_max_size = 80M 或更大 200M 可选：修改执行时间和内存限制（上传大文件推荐加上） max_execution_time = 300 max_input_time = 600 memory_limit = 256M 或更大2、安装 MySQL 8.0 和扩展（推荐）后默认配置是：用 户 名: wszx123_user 密 码: password@123@DDD 数据库名: wszx123_db Caddy 是一个现代、高性能、自动 HTTPS 的 Web 服务器，比 Nginx 更简单，特别适合快速部署 PHP 网站。这是一个一步到位的自动化建站脚本，包括：安装 Caddy（来自官方仓库）安装 PHP-FPM 及扩展创建网站目录配置 Caddy 支持 PHP可自动启用 HTTPS（如果绑定域名） Caddy v2 的默认证书存储位置：/etc/caddy或/var/lib/caddy/.local/share/caddy具体证书文件路径：/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/文件内容：cert.pem → 公钥证书key.pem → 私钥issuer.pem → 中间证书pfx.p12 → PFX 格式（可选）metadata.json → 证书元信息配置反代 3x-ui假设 3x-ui 默认运行在 VPS 的 127.0.0.1:54321，Caddyfile 配置：3xui.yourdomain.com { reverse_proxy 127.0.0.1:54321 }一、在 Debian 11 上用 Caddy + PHP 快速部署动态 PHP 或静态html网站【6个步骤】1、更新系统sudo apt update && sudo apt upgrade -y2、安装 PHP 和常用扩展sudo apt install -y php php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip unzip3、安装 Caddya、必要的软件包1sudo apt install -y debian-keyring debian-archive-keyring curl必要的软件包2sudo apt install -y debian-keyring debian-archive-keyring apt-transport-httpsb、Caddy的安全密钥curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpgc、下载 Caddy密钥文件curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.listd、更新软件包列表sudo apt updatee、升级或安装Caddy2sudo apt install -y caddy4、创建网站目录，并上传静态html或动态php文件【网站文件在 home/html/web/】网站1sudo mkdir -p /home/html/web/web1 sudo chown -R www-data:www-data /home/html/web/web1 sudo chmod -R …

【现好像已失效】用 frankenphp+mysql 快速搭建一个高性能的网站-2！
type: item
date: 2024-12-13T13:56:00+00:00
description: 【现好像已失效，问题末解决】用 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{dotted startColor="#ff6c6c" endColor="#1989fa"/}四、配置Caddyfile，以kjlion.com为例，cf上小云朵随便。nano /…

docker搭建 简单图床 easyImage2.0
type: item
date: 2024-12-11T05:05:00+00:00
description: docker搭建 简单图床 easyImage2.0一、提前安装好docker和docker-composecurl -fsSL https://get.docker.com | sh && ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin二、创建好放置文件夹，一般是： /home/html/easyimage 并进入文件夹cd /home/html/easyimage三、在文件夹下创建好文件 docker-compose.yml 文件，粘贴以下文档，85端口修改为自己的version: '3' services: # easyimage2.0 easyimage: image: ddsderek/easyimage:latest container_name: easyimage restart: unless-stopped ports: - '85:80' volumes: - '/opt/docker/data/easyimage/config:/app/web/config' - '/opt/docker/data/easyimage/i:/app/web/i' environment: - TZ=Asia/Shanghai - PUID=1000 - PGID=1000 - DEBUG=false四、启动docker，根据提示设置，完成即可。docker-compose up -d # 启动命令五、推荐设置1、设置 - 上传设置 - 将上传图片转换格式 webp，图片更小加快显示2、设置 - 上传设置 - 将上传文件的命名方式最好设置为唯一的MD53、设置 - 图床安全 - 登录上传，仅供自己使用，需要登录才能够上传4、设置 - 图床安全 - 游客上传限制。其它根据自己的需要设置。

Caddy2的安装与使用，轻松实现反向代理和重定向
type: item
date: 2024-11-21T11:46:00+00:00
description: Caddy2的安装与使用，轻松实现反向代理和重定向本文转载自： 奶油之家 1、Caddy2中文官方资料： 进入 2、关闭防火墙【好像不关也没关系】sudo ufw disable3、安装Caddy2安装必要的软件包sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https获取Caddy的安全密钥curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg从指定的 URL 下载 Caddy 的官方 GPG 密钥文件curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list更新软件包列表sudo apt update安装Caddy2sudo apt install caddy{dotted startColor="#ff6c6c" endColor="#1989fa"/}4、测试：创建静态页面进入/etc/caddy，打开Caddyfile，清空文件内容，然后输入下面的代码【/var/www/html是静态页面文件夹，也可以修改为自己熟悉的文件夹，如/home/html等】解析好的域名 { root * /var/www/html file_server }创建静态mkdir -p /var/www/html进入/var/www/html文件夹并创建文件index.html打开index.html，输入下面的代码【也可以是你自己的 html 代码】 自由之家 欢迎来到我们的网站 5、Caddy2相关命令 ，每更改完后请执行 重启Caddy2# 启动Caddy2 systemctl start caddy # 开机自启 systemctl enable caddy # 重启Caddy2 systemctl restart caddy # 停止Caddy2 systemctl stop caddy # 重载配置Caddy配置文件（修改配置文件后执行） systemctl reload caddy # 查看Caddy2运行状态 systemctl status caddy6、Caddy2的应用 ，实际应用时可以举一反三设置反代解析好的域名 { reverse_proxy 127.0.0.1:8080 #这里输入你想反代的服务器IP和端口 encode gzip }设置重定向解析好的域名 { redir https://naiyous.com{uri} }

用 frankenphp+mysql 快速搭建一个高性能的网站-1！
type: item
date: 2024-04-26T11:37:00+00:00
description: 用 frankenphp+mysql 快速搭建一个高性能的网站-1！ 本文参考 科技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、安装wordpresscd /home/web/html/ && mkdir web1 && cd web1 wget -O latest.zip https://cn.wordpress.org/latest-zh_CN.zip unzip latest.zip rm latest.zipecho "define('FS_METHOD', 'direct'); define('WP_REDIS_HOST', 'redis'); define('WP_REDIS_PORT', '6379');" >> /home/web/html/web1/wordpress/wp-config-sample.php2、安装typechocd /home/web/html/ && mkdir web2 && cd web2 cd /home/web/html/web2/ && mkdir typecho && cd typecho wget https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip unzip typecho.zip rm typecho.zipecho "define('FS_METHOD', 'direct'); define('TYPECHO_REDIS_HOST', 'redis'); define('TYPECHO_REDIS_PORT', '6379');" >> /home/web/html/web2/typecho/typecho-config-sample.php四、配置Caddyfile，以kjlion.com为例nano /home/web/caddy/Caddyfile{ 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 }五、启动环境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六、安装PHP扩展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_t…

Caddy新一代轻量web服务器 配置简单 自动HTTPS 反向代理建站
type: item
date: 2024-04-24T03:26:00+00:00
description: Caddy新一代轻量web服务器 配置简单 自动HTTPS 反向代理建站Caddy 2是一款功能强大、企业级、开源 Web 服务器，具有用 Go 编写的自动 HTTPS。本文转自： 科技lion 一、docker一键安装curl -fsSL https://get.docker.com | sh && ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin二、创建Caddyfile和index.htmlmkdir -p /home/web/{caddy,html} touch /home/web/caddy/Caddyfile touch /home/web/html/index.html三、配置index.htmlhttps://github.com/kejilion/Website_source_code/blob/main/index.htmlnano /home/web/html/index.html四、配置Caddyfilenano /home/web/caddy/Caddyfile五、配置IP访问的静态页面【因上传软件原因， 可能出现乱码用不了 ，如安装后不起作用， 可把Caddyfile文件下载到本地编辑后再上传 】http:// { root * /usr/share/caddy encode gzip file_server }配置带域名的静态页面，下面都以“kjlion.com”为例kjlion.com { root * /usr/share/caddy encode gzip file_server }配置带域名的反向代理wp.kjlion.com { reverse_proxy 127.0.0.1:8080 encode gzip }配置带域名的重定向b.kjlion.com { redir https://baidu.com{uri} }配置带域名的php动态站点wp.kjlion.com { root * /usr/share/caddy/wordpress encode gzip php_fastcgi php:9000 file_server }六、部署caddydocker run -d --name caddy -p 80:80 -p 443:443 -p 443:443/udp -v /home/web/caddy/:/etc/caddy/ -v /home/web/html/:/usr/share/caddy/ --restart=always caddy:latest七、重启caddydocker restart caddy