用 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),输入完成，回车进入下一步。注意：选择PHP 7+版本时需要自行确认PHP版本是否与自己的程序兼容。输入要选择的PHP版本的序号，回车进入下一步，选择是否安装内存优化： 一般选择不优化 安装完成如果显示Nginx: OK，MySQL: OK，PHP: OK卸载lnmp一键安装包 在lnmp安装包目录下执行：./uninstall.sh按提示选择当前环境类型，回车确认，会删除lnmp相关程序组件，网站文件会保留，数据库目录会另外备份到 /root 目录下，如有另外需要保存的文件请在卸载前备份。{dotted startColor="#ff6c6c" endColor="#1989fa"/}二、Caddy2的安装1、必要的软件包1sudo apt install -y debian-keyring debian-archive-keyring curl2、必要的软件包2sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https3、Caddy的安全密钥curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg4、下载 Caddy密钥文件curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list5、更新软件包列表sudo apt update6、升级或安装Caddy2sudo apt install -y caddy{dotted startColor="#ff6c6c" endColor="#1989fa"/}三、创建网站目录，并上传静态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 755 /home/html/web/web1网站2sudo mkdir -p /home/html/web/web2 sudo chown -R www-data:www-data /home/html/web/web2 sudo chmod -R 755 /home/html/web/web2网站3sudo mkdir -p /home/html/web/web3 sudo chown -R www-data:www-data /home/html/web/web3 sudo chmod -R 755 /home/html/web/web3网站4sudo mkdir -p /home/html/web/web4 sudo chown -R www-data:www-data /home/html/web/web4 sudo chmod -R 755 /home/html/web/web4网站5sudo mkdir -p /home/html/web/web5 sudo chown -R www-data:www-data /home/html/web/web5 sudo chmod -R 755 /home/html/web/web5网站6sudo mkdir -p /home/html/web/web6 sudo chown -R www-data:www-data /home/html/web/web6 sudo chmod -R 755 /home/html/web/web6可以类似的创建更多网站四、配置 Caddy2 支持 PHP【以下面网站示例，多个网站类似配置，可以不开cf小黃云】example1.com { root * /home/html/web/web1 #安装路径，备注什么网站 php_fastcgi unix//run/php/php-fpm.sock file_server } example2.com { root * /home/html/web/web2 #安装路径，备注什么网站 php_fastcgi unix//run/php/php-fpm.sock file_server } example3.com { reverse_proxy 127.0.0.1:8880 #反代配置，这里输入你想反代的服务器IP和端口 encode gzip } example4.com { redir https://naiyous.com{uri} #重定向配置，这里输入你想设置的重定向 }五、启动并启用 Caddy2.重启Caddy2并设置开机自启sudo systemctl restart caddy sudo systemctl enable caddy其它命令1、Caddy2开机自启systemctl enable caddy2、重启Caddy2systemctl restart caddy3、停止Caddy2systemctl stop caddy
★★★在 Debian 11/12 上安装 PHP 8.2 + Caddy【MySQL 8.0或MariaDB数据库】
★★★在 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 755 /home/html/web/web1 网站2sudo mkdir -p /home/html/web/web2 sudo chown -R www-data:www-data /home/html/web/web2 sudo chmod -R 755 /home/html/web/web2 网站3sudo mkdir -p /home/html/web/web3 sudo chown -R www-data:www-data /home/html/web/web3 sudo chmod -R 755 /home/html/web/web3 网站4sudo mkdir -p /home/html/web/web4 sudo chown -R www-data:www-data /home/html/web/web4 sudo chmod -R 755 /home/html/web/web4 网站5sudo mkdir -p /home/html/web/web5 sudo chown -R www-data:www-data /home/html/web/web5 sudo chmod -R 755 /home/html/web/web5 网站6sudo mkdir -p /home/html/web/web6 sudo chown -R www-data:www-data /home/html/web/web6 sudo chmod -R 755 /home/html/web/web6 可以类似的创建更多网站5、配置 Caddy 支持 PHP【以两个网站为例，多个网站类似配置，安装时不开cf小黃云。安装完后，不使用代理时不打开小黄云，使用 CF 代理 时打开小黄云， SSL/TLS证书必须设置为完全或完全（严格） ,否则网站打不开】example1.com { root * /home/html/web/web1 #安装路径，备注什么网站 php_fastcgi unix//run/php/php-fpm.sock file_server } example2.com { root * /home/html/web/web2 #安装路径，备注什么网站 php_fastcgi unix//run/php/php-fpm.sock file_server } http://[v6 ip]:端口 { root * /home/html/web/web3 #使用v6的 IP+端口 访问，v6 的 ip 必须放在[]中 php_fastcgi unix//run/php/php-fpm.sock file_server } example3.com { reverse_proxy 127.0.0.1:8880 #反代，这里输入你想反代的服务器IP和端口 encode gzip } example4.com { redir https://naiyous.com{uri} #重定向，这里输入你想设置的重定向 } 6、启动并启用 php*-fpm和Caddy，并设置开机自启【后面7、8、9一般不用】，大功告成。sudo systemctl enable php*-fpm sudo systemctl restart php*-fpm sudo systemctl enable caddy sudo systemctl restart caddy7、开启防火墙 ipv4或IPv6 端口（如果启用 UFW，例如要开启8080端口）sudo ufw allow 8080/tcp sudo ufw reload8、开机自启systemctl enable caddy重启Caddy2systemctl restart caddy9、停止Caddy2systemctl stop caddy二、【不用数据库可不安装，比如 WordPress、Typecho要用到】Debian 11 默认的软件源中没有 mysql-server 包，或者没有启用适当的源。Debian 通常推荐使用 MariaDB 替代 MySQLA、使用 MariaDB（兼容 MySQL） 1、 升级等sudo apt update sudo apt install -y mariadb-server sudo systemctl enable mariadb sudo systemctl start mariadb设置 root 密码【一定要修改默认的rootpass123为强密码，至少18位英文、数字加字符】sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootpass123'; FLUSH PRIVILEGES;"2、登录 MariaDB：sudo mysql -u root -p # 然后输入密码：rootpass1233、创建数据库：CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;你也可以：CREATE DATABASE mysite;4、给 root 用户授权（MariaDB 默认 root 用户已拥有所有权限）CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost'; FLUSH PRIVILEGES;5、示例配置（适用于 WordPress/phpMyAdmin 等）配置项 值数据库名 mydb数据库用户名 root（或 myuser）数据库密码 rootpass123（或 mypassword）数据库主机 localhost6、如何在安装程序中填写（例如 WordPress/phpMyAdmin），安装时根据提示进行数据库主机：localhost表前缀：wp_ （或保留默认）数据库用户名： root 数据库名： mydb 数据库密码： rootpass123 B、Oracle 官方源安装了 MySQL Server 8.0 ，和上面的MariaDB（兼容 MySQL）一样1、升级等sudo apt update sudo apt install -y wget lsb-release gnupg2、下载官方源配置包# 下载官方源配置包 wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb3、安装该配置包【安装过程中要设置的 root 密码，记好，后面用到】# 安装该配置包 sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb4、在弹出的菜单中，默认选中 MySQL 8.0，按回车确认5、再更新软件源# 再更新软件源 sudo apt update6、安装 MySQL Server# 安装 MySQL Server sudo apt install -y mysql-server7、登录 MySQL，然后输入你在安装时设置的 root 密码。sudo mysql -u root -p8、创建数据库，mydb 是你的网站或程序要使用的数据库名，可以根据需要修改。CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;9、创建独立的数据库用户并授权CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost'; FLUSH PRIVILEGES;myuser 是你新建的数据库用户名mypassword 是你设置的密码localhost 表示只允许本地连接数据库10、（可选）：查看创建情况SHOW DATABASES; SELECT user, host FROM mysql.user; SHOW GRANTS FOR 'myuser'@'localhost';数据库名 mydb数据库用户名 myuser密码 mypassword主机 localhost11、退出命令，随便一个都行exit; #退出quit; #退出一键部署脚本（保存为 setup_caddy_php.sh）#!/bin/bash set -e green() { echo -e "\033[32m$1\033[0m"; } green "▶ 更新系统..." sudo apt update && sudo apt upgrade -y green "▶ 安装 PHP 和常用扩展..." sudo apt install -y php php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip unzip green "▶ 安装 Caddy..." sudo apt install -y debian-keyring debian-archive-keyring curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.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 sudo apt install -y caddy green "▶ 创建网站目录..." sudo mkdir -p /var/www/html/mysite sudo chown -R www-data:www-data /var/www/html/mysite green "▶ 写入 PHP 测试页..." cat <<EOF | sudo tee /var/www/html/mysite/index.php <?php phpinfo(); ?> EOF green "▶ 配置 Caddy 支持 PHP..." cat <<EOF | sudo tee /etc/caddy/Caddyfile :80 { root * /var/www/html/mysite php_fastcgi unix//run/php/php-fpm.sock file_server } EOF green "▶ 启动并启用 Caddy..." sudo systemctl enable php*-fpm sudo systemctl restart php*-fpm sudo systemctl restart caddy green "✅ 成功部署！请访问 http://你的-VPS-IP 查看 PHP 测试页。"二、使用方法步骤 1：上传并运行脚本nano setup_caddy_php.sh # 粘贴脚本内容 chmod +x setup_caddy_php.sh ./setup_caddy_php.sh或一键命令bash <(curl -fsSL https://raw.githubusercontent.com/wszx123/gongjuxiang/refs/heads/main/setup_caddy_php.sh)或bash <(wget -qO- https://raw.githubusercontent.com/wszx123/gongjuxiang/refs/heads/main/setup_caddy_php.sh)三、使用域名 + 自动 HTTPS（可选）如果你有域名（如 example.com）指向 VPS：编辑 /etc/caddy/Caddyfile 为：example.com { root * /var/www/html/mysite php_fastcgi unix//run/php/php-fpm.sock file_server }重启caddysudo systemctl reload caddyCaddy 会自动申请并配置 Let's Encrypt 证书（HTTPS）。四、总结组件说明Caddy替代 Nginx，自动 HTTPS，配置更简单PHP-FPM处理 PHP 动态请求运行目录/var/www/html/mysite/配置文件/etc/caddy/Caddyfile
【现好像已失效】用 frankenphp+mysql 快速搭建一个高性能的网站-2！
【现好像已失效，问题末解决】用 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 /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-composecd /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
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的安装与使用，轻松实现反向代理和重定向
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！ 本文参考 科技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_time.ini'七、创建数据库docker exec -it mysql mysql -u root -p CREATE DATABASE web1; GRANT ALL PRIVILEGES ON web1.* TO 'kejilion'@'%';八、重启环境cd /home/web && docker-compose restart
Caddy新一代轻量web服务器 配置简单 自动HTTPS 反向代理建站
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