caddy搭建静态+PHP+伪静态Web服务器

首先用Docker环境搭建
docker-compose.yml

services:
  web:
    container_name: caddy
    image: caddy
    network_mode: host
    volumes:
      - ./root:/root
      - ./etc/caddy:/etc/caddy
      - /root/docker:/root/docker
      - /users:/users
    restart: unless-stopped
    storage_opt:
      size: 100M
  php:
    container_name: php74fpm
    image: php74fpm
    network_mode: host
    volumes:
      - ./root:/root
      - ./etc/php-fpm.d/zz-docker.conf:/usr/local/etc/php-fpm.d/zz-docker.conf
      - /root/docker:/root/docker
      - /users:/users
    restart: unless-stopped
    storage_opt:
      size: 100M
    command: php-fpm

Caddyfile

feieryun-api.hk4.anan.cc {
        handle_path /* {
                @phpFiles {
                        path */
                        path *.php
                }
                root @phpFiles /root/docker/feieryun/firadio-yun-php/appbase/api/wwwroot
                php_fastcgi @phpFiles unix//root/php-fpm.sock {
                        try_files {path} {path}/index.php =404
                }
        }
        handle_path /* {
                root /root/docker/feieryun/firadio-yun-php/appbase/api/wwwroot
                php_fastcgi unix//root/php-fpm.sock
                @notExist not file
                rewrite @notExist /index.php/{path}
        }
        handle_path /* {
                root /root/www
                file_server
                encode
        }
}

zz-docker.conf

[global]
daemonize = no

[www]
listen = /root/php-fpm.sock
listen.mode = 0666

下面是在Windows环境下

feieryun-v2.hk2.anan.cc {
	handle_path /AdminLTE/* {
		root C:\data\service\caddy\www\AdminLTE
		file_server
		encode
	}
	handle_path /static/* {
		root C:\data\service\caddy\www\v2.feieryun.cn\wwwroot\static
		file_server
		encode
	}
	handle_path /* {
		@phpFiles {
			path */
			path *.php
		}
		root @phpFiles C:\data\service\caddy\www\v2.feieryun.cn\sitebase\firadio
		php_fastcgi @phpFiles 127.0.0.1:9000 {
			try_files {path} {path}/index.php =404
		}
	}
	handle_path /* {
		root C:\data\service\caddy\www\v2.feieryun.cn\sitebase\firadio
		php_fastcgi 127.0.0.1:9000
		@notExist not file
		rewrite @notExist /index.php/{path}
	}
	handle_path /* {
		root C:\data\service\caddy\www\v2.feieryun.cn\sitebase\firadio
		file_server
		encode
	}
}

posted on 2025-10-07 01:53  项希盛  阅读(26)  评论(0)    收藏  举报