update document.
This commit is contained in:
parent
bd1994a61f
commit
1d9de1c635
21
LICENSE.txt
Normal file
21
LICENSE.txt
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2024 rainerosion
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
139
README.MD
139
README.MD
@ -1,4 +1,141 @@
|
||||
# CaddyServer with PHP-FPM
|
||||
|
||||
# This is a simple Docker image to run CaddyServer with PHP-FPM.
|
||||
This is a simple Docker image to run CaddyServer with PHP-FPM.
|
||||
|
||||
## Usage
|
||||
|
||||
The following examples use images that have already been built; you can build your own images as described below.
|
||||
|
||||
### Single Container
|
||||
|
||||
- Configure your Caddyfile and place it in a folder on your host. Exapmle:
|
||||
|
||||
```plaintext
|
||||
{
|
||||
email admin@rainss.cn
|
||||
}
|
||||
example.com:80 {
|
||||
encode gzip
|
||||
root * /www/websites
|
||||
php_fastcgi localhost:9000
|
||||
file_server
|
||||
}
|
||||
```
|
||||
|
||||
- Run the container with the following command. Example:
|
||||
|
||||
```bash
|
||||
docker run -d -p 80:80 -p 443:443 -v /path/to/your/Caddyfile:/etc/caddy/Caddyfile -v /path/to/your/site:/www/websites --name caddyserver-php-fpm rainautos/caddyserver-php-fpm
|
||||
```
|
||||
|
||||
### Docker Compose [Multi-container]
|
||||
|
||||
You can use Docker Compose to run CaddyServer with PHP-FPM. For example:
|
||||
|
||||
- Configure your Caddyfile and Using the following command to create a container.
|
||||
|
||||
- Caddyfile
|
||||
|
||||
```plaintext
|
||||
{
|
||||
email admin@rainss.cn
|
||||
}
|
||||
example.com:80 {
|
||||
encode gzip
|
||||
root * /www/websites
|
||||
# notice: php-fpm is the name of the container
|
||||
php_fastcgi php-fpm:9000
|
||||
file_server
|
||||
}
|
||||
```
|
||||
|
||||
#### Using Dockerfile
|
||||
|
||||
```bash
|
||||
version: '3'
|
||||
services:
|
||||
webservice:
|
||||
container_name: caddy
|
||||
image: caddy:latest
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ${PWD}/Caddyfile:/etc/caddy/Caddyfile
|
||||
- ${PWD}/config:/config
|
||||
- ${PWD}/data:/data
|
||||
- ${PWD}/websites:/www/websites
|
||||
depends_on:
|
||||
- php-cgi
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- website
|
||||
php-cgi:
|
||||
container_name: php-fpm
|
||||
build:
|
||||
context: ./php-fpm/8.2
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- ${PWD}/websites:/www/websites
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- website
|
||||
networks:
|
||||
website:
|
||||
driver: bridge
|
||||
```
|
||||
|
||||
#### Using Repository Image
|
||||
|
||||
```bash
|
||||
```yaml
|
||||
version: '3'
|
||||
services:
|
||||
webservice:
|
||||
container_name: caddy
|
||||
image: caddy:latest
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "443:443/udp"
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime
|
||||
- ${PWD}/Caddyfile:/etc/caddy/Caddyfile
|
||||
- ${PWD}/opt/caddy/config:/config
|
||||
- ${PWD}/opt/caddy/data:/data
|
||||
- ${PWD}/websites:/www/websites
|
||||
depends_on:
|
||||
- php-cgi
|
||||
restart: always
|
||||
networks:
|
||||
- website
|
||||
php-cgi:
|
||||
container_name: php-fpm
|
||||
image: rainautos/php-fpm:8.1.15
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime
|
||||
- ${PWD}/websites:/www/websites
|
||||
restart: always
|
||||
networks:
|
||||
- website
|
||||
networks:
|
||||
website:
|
||||
driver: bridge
|
||||
```
|
||||
## Build images
|
||||
|
||||
You can find the Dockerfiles in the `supervisor` or `php-fpm` folder to build the images.
|
||||
|
||||
### Build Caddy + PHP-FPM image
|
||||
|
||||
```bash
|
||||
cd caddy-with-php/supervisor
|
||||
docker build -t rainautos/caddyserver-php-fpm:latest .
|
||||
```
|
||||
|
||||
### Build PHP-FPM image
|
||||
|
||||
```bash
|
||||
cd php-fpm/8.3
|
||||
docker build -t rainautos/php-fpm:latest .
|
||||
```
|
||||
@ -1,6 +0,0 @@
|
||||
:80 {
|
||||
encode gzip
|
||||
root * /www/websites/public
|
||||
php_fastcgi 127.0.0.1:9000
|
||||
file_server
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
if [ "${1}" = "-D" ]; then
|
||||
exec /usr/bin/supervisord -n -c /etc/supervisord.conf
|
||||
else
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
# first arg is `-f` or `--some-option`
|
||||
#if [ "${1#-}" != "$1" ]; then
|
||||
# set -- php-fpm "$@"
|
||||
#fi
|
||||
#
|
||||
#exec "$@"
|
||||
@ -5,6 +5,7 @@ LABEL maintainer="rainerosion <admin@rainss.cn>"
|
||||
|
||||
ENV XDG_CONFIG_HOME /config
|
||||
ENV XDG_DATA_HOME /data
|
||||
ENV CADDY_VERSION 2.7.6
|
||||
|
||||
# build dependencies
|
||||
ENV BUILD_DEPS \
|
||||
@ -82,26 +83,25 @@ RUN set -eux; \
|
||||
echo "<?php phpinfo();" > /usr/share/caddy/info.php; \
|
||||
apkArch="$(apk --print-arch)"; \
|
||||
case "$apkArch" in \
|
||||
x86_64) binArch='amd64'; checksum='b74311ec8263f30f6d36e5c8be151e8bc092b377789a55300d5671238b9043de5bd6db2bcefae32aa1e6fe94c47bbf02982c44a7871e5777b2596fdb20907cbf' ;; \
|
||||
armhf) binArch='armv6'; checksum='88756642ca412db3a8da7a40b518861a6f524a8ac704021e8451d3cb38746f24243b1e561f4eec07e1575200d06bfd098783d2b7ee7ee07a971aed1c677da6e6' ;; \
|
||||
armv7) binArch='armv7'; checksum='118776e879c280556abb7c03ff7c0081eda23c2aee0472aef176f733785e9501defaeaf334cd2443e31294809beafaea831d2e695aa68045160082aa3a966e2f' ;; \
|
||||
aarch64) binArch='arm64'; checksum='62252ade5e8dcec13a66154ee1978d959370be049cce52e7c4edefff14ef70bbb21630e3735092719bc3c31214e89dff99e55970ff0adec8ac0a94c6415b059a' ;; \
|
||||
ppc64el|ppc64le) binArch='ppc64le'; checksum='65d27fe53f5e4fa79f3476f8902071c907aab74db1a2616342be3714d4252219fbb53b174ef588e20c51e7cfac84376c7a0a608091c2fe83b31dbf59dabeb237' ;; \
|
||||
s390x) binArch='s390x'; checksum='c562190962a2db0248a4190616dd2ebaa02df2cf62f1a2c71f9d9de18af2a297df8000a06a11e8d3929dfd64f0c081d1e61961687ca220007459f2dbd0be2c81' ;; \
|
||||
x86_64) binArch='amd64' ;; \
|
||||
armhf) binArch='armv6' ;; \
|
||||
armv7) binArch='armv7' ;; \
|
||||
aarch64) binArch='arm64' ;; \
|
||||
ppc64el|ppc64le) binArch='ppc64le' ;; \
|
||||
s390x) binArch='s390x' ;; \
|
||||
*) echo >&2 "error: unsupported architecture ($apkArch)"; exit 1 ;;\
|
||||
esac; \
|
||||
wget -O /tmp/caddy.tar.gz "https://github.com/caddyserver/caddy/releases/download/v2.7.6/caddy_2.7.6_linux_${binArch}.tar.gz"; \
|
||||
echo "$checksum /tmp/caddy.tar.gz" | sha512sum -c; \
|
||||
wget -O /tmp/caddy.tar.gz "https://github.com/caddyserver/caddy/releases/download/v${CADDY_VERSION}/caddy_${CADDY_VERSION}_linux_${binArch}.tar.gz"; \
|
||||
tar x -z -f /tmp/caddy.tar.gz -C /usr/bin caddy; \
|
||||
rm -f /tmp/caddy.tar.gz; \
|
||||
setcap cap_net_bind_service=+ep /usr/bin/caddy; \
|
||||
chmod +x /usr/bin/caddy; \
|
||||
caddy version; \
|
||||
# docker-php-ext-configure gd --enable-gd --with-jpeg --with-webp --with-freetype; \
|
||||
# docker-php-ext-install -j $(nproc) $PHP_EXTENSIONS; \
|
||||
# pecl install -o -f redis; \
|
||||
# pecl install memcached imagick; \
|
||||
# docker-php-ext-enable redis memcached imagick; \
|
||||
docker-php-ext-configure gd --enable-gd --with-jpeg --with-webp --with-freetype; \
|
||||
docker-php-ext-install -j $(nproc) $PHP_EXTENSIONS; \
|
||||
pecl install -o -f redis; \
|
||||
pecl install memcached imagick; \
|
||||
docker-php-ext-enable redis memcached imagick; \
|
||||
apk del .build-deps; \
|
||||
curl --tlsv1 -v -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer;
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
# reverse_proxy localhost:8080
|
||||
|
||||
# Or serve a PHP site through php-fpm:
|
||||
# php_fastcgi localhost:9000
|
||||
php_fastcgi localhost:9000
|
||||
}
|
||||
|
||||
# Refer to the Caddy docs for more information:
|
||||
@ -2,5 +2,5 @@
|
||||
set -e
|
||||
# php-fpm daemonize
|
||||
php-fpm -D
|
||||
# start caddy
|
||||
# execute cmd
|
||||
exec "$@"
|
||||
122
caddy-with-php/supervisor/Dockerfile
Normal file
122
caddy-with-php/supervisor/Dockerfile
Normal file
@ -0,0 +1,122 @@
|
||||
FROM caddy:alpine as caddy-build
|
||||
|
||||
FROM php:8.3-fpm-alpine3.19
|
||||
LABEL maintainer="rainerosion <admin@rainss.cn>"
|
||||
|
||||
ENV XDG_CONFIG_HOME /config
|
||||
ENV XDG_DATA_HOME /data
|
||||
ENV CADDY_VERSION 2.7.6
|
||||
|
||||
# build dependencies
|
||||
ENV BUILD_DEPS \
|
||||
libzip-dev \
|
||||
icu-dev \
|
||||
postgresql-dev \
|
||||
libpng-dev \
|
||||
libwebp-dev \
|
||||
libjpeg-turbo-dev \
|
||||
curl-dev \
|
||||
sqlite-dev \
|
||||
oniguruma-dev \
|
||||
libmemcached-dev \
|
||||
zlib-dev \
|
||||
imagemagick-dev \
|
||||
freetype-dev
|
||||
# runtime dependencies
|
||||
ENV RUN_DEPS \
|
||||
autoconf \
|
||||
g++ \
|
||||
make \
|
||||
libzip \
|
||||
icu \
|
||||
postgresql-libs \
|
||||
libpng \
|
||||
libwebp \
|
||||
libjpeg-turbo \
|
||||
curl \
|
||||
sqlite-libs \
|
||||
oniguruma \
|
||||
libmemcached \
|
||||
shadow \
|
||||
zlib \
|
||||
imagemagick \
|
||||
freetype \
|
||||
ca-certificates \
|
||||
libcap \
|
||||
mailcap \
|
||||
supervisor
|
||||
# php extensions
|
||||
ENV PHP_EXTENSIONS \
|
||||
zip \
|
||||
intl \
|
||||
exif \
|
||||
pdo_mysql \
|
||||
pdo_pgsql \
|
||||
mysqli \
|
||||
pgsql \
|
||||
gd \
|
||||
curl \
|
||||
session \
|
||||
pdo_sqlite \
|
||||
fileinfo \
|
||||
mbstring \
|
||||
bcmath
|
||||
# set default uid and gid for www-data
|
||||
ARG UID=1000
|
||||
ARG GUID=1000
|
||||
# fpm user
|
||||
ARG USER=www-data
|
||||
# web server and php-fpm
|
||||
RUN set -eux; \
|
||||
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories; \
|
||||
apk update; \
|
||||
apk add --no-cache $RUN_DEPS; \
|
||||
usermod -u $UID -o $USER; \
|
||||
groupmod -g $GUID -o $USER; \
|
||||
apk add --no-cache --virtual .build-deps $BUILD_DEPS; \
|
||||
mkdir -p \
|
||||
/config/caddy \
|
||||
/data/caddy \
|
||||
/etc/caddy \
|
||||
/usr/share/caddy \
|
||||
/etc/supervisor/conf.d \
|
||||
/srv ; \
|
||||
wget -O /etc/caddy/Caddyfile "https://p.iblog.site/https://github.com/caddyserver/dist/raw/cd39178d252a610fee6aa8465c787d9c780007a2/config/Caddyfile"; \
|
||||
wget -O /usr/share/caddy/index.html "https://p.iblog.site/https://github.com/caddyserver/dist/raw/cd39178d252a610fee6aa8465c787d9c780007a2/welcome/index.html"; \
|
||||
echo "<?php phpinfo();" > /usr/share/caddy/info.php; \
|
||||
apkArch="$(apk --print-arch)"; \
|
||||
case "$apkArch" in \
|
||||
x86_64) binArch='amd64' ;; \
|
||||
armhf) binArch='armv6' ;; \
|
||||
armv7) binArch='armv7' ;; \
|
||||
aarch64) binArch='arm64' ;; \
|
||||
ppc64el|ppc64le) binArch='ppc64le' ;; \
|
||||
s390x) binArch='s390x' ;; \
|
||||
*) echo >&2 "error: unsupported architecture ($apkArch)"; exit 1 ;;\
|
||||
esac; \
|
||||
wget -O /tmp/caddy.tar.gz "https://github.com/caddyserver/caddy/releases/download/v${CADDY_VERSION}/caddy_${CADDY_VERSION}_linux_${binArch}.tar.gz"; \
|
||||
tar x -z -f /tmp/caddy.tar.gz -C /usr/bin caddy; \
|
||||
rm -f /tmp/caddy.tar.gz; \
|
||||
setcap cap_net_bind_service=+ep /usr/bin/caddy; \
|
||||
chmod +x /usr/bin/caddy; \
|
||||
caddy version; \
|
||||
docker-php-ext-configure gd --enable-gd --with-jpeg --with-webp --with-freetype; \
|
||||
docker-php-ext-install -j $(nproc) $PHP_EXTENSIONS; \
|
||||
pecl install -o -f redis; \
|
||||
pecl install memcached imagick; \
|
||||
docker-php-ext-enable redis memcached imagick; \
|
||||
apk del .build-deps; \
|
||||
curl --tlsv1 -v -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer;
|
||||
|
||||
COPY listener.php /srv/listener.php
|
||||
COPY supervisord.conf /etc/supervisord.conf
|
||||
COPY conf /etc/supervisor/conf.d/
|
||||
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
EXPOSE 2019
|
||||
EXPOSE 443/udp
|
||||
|
||||
WORKDIR /srv
|
||||
|
||||
CMD ["supervisord","-n","-c","/etc/supervisord.conf"]
|
||||
10
caddy-with-php/supervisor/conf/caddy.conf
Normal file
10
caddy-with-php/supervisor/conf/caddy.conf
Normal file
@ -0,0 +1,10 @@
|
||||
[program:caddy]
|
||||
command=caddy run --config /etc/caddy/Caddyfile --adapter caddyfile
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
numprocs=1
|
||||
autostart=true
|
||||
autorestart=true
|
||||
startsecs=0
|
||||
redirect_stderr=true
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
7
caddy-with-php/supervisor/conf/listener.conf
Normal file
7
caddy-with-php/supervisor/conf/listener.conf
Normal file
@ -0,0 +1,7 @@
|
||||
[eventlistener:subprocess-stopped]
|
||||
command=php /srv/listener.php
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
numprocs=1
|
||||
events=PROCESS_STATE_EXITED,PROCESS_STATE_STOPPED,PROCESS_STATE_FATAL
|
||||
autostart=true
|
||||
autorestart=unexpected
|
||||
10
caddy-with-php/supervisor/conf/php-fpm.conf
Normal file
10
caddy-with-php/supervisor/conf/php-fpm.conf
Normal file
@ -0,0 +1,10 @@
|
||||
[program:php-fpm]
|
||||
command=php-fpm --nodaemonize
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
numprocs=1
|
||||
autostart=true
|
||||
autorestart=true
|
||||
startsecs=0
|
||||
redirect_stderr=true
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
26
caddy-with-php/supervisor/config/Caddyfile
Normal file
26
caddy-with-php/supervisor/config/Caddyfile
Normal file
@ -0,0 +1,26 @@
|
||||
# The Caddyfile is an easy way to configure your Caddy web server.
|
||||
#
|
||||
# Unless the file starts with a global options block, the first
|
||||
# uncommented line is always the address of your site.
|
||||
#
|
||||
# To use your own domain name (with automatic HTTPS), first make
|
||||
# sure your domain's A/AAAA DNS records are properly pointed to
|
||||
# this machine's public IP, then replace ":80" below with your
|
||||
# domain name.
|
||||
|
||||
:80 {
|
||||
# Set this path to your site's directory.
|
||||
root * /usr/share/caddy
|
||||
|
||||
# Enable the static file server.
|
||||
file_server
|
||||
|
||||
# Another common task is to set up a reverse proxy:
|
||||
# reverse_proxy localhost:8080
|
||||
|
||||
# Or serve a PHP site through php-fpm:
|
||||
php_fastcgi localhost:9000
|
||||
}
|
||||
|
||||
# Refer to the Caddy docs for more information:
|
||||
# https://caddyserver.com/docs/caddyfile
|
||||
394
caddy-with-php/supervisor/config/index.html
Normal file
394
caddy-with-php/supervisor/config/index.html
Normal file
@ -0,0 +1,394 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Caddy works!</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="icon" href="data:,">
|
||||
<style>
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
background: #f1f4f5;
|
||||
font-family: Inter, sans-serif;
|
||||
font-size: 20px;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2f79ff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.stack {
|
||||
width: 70%;
|
||||
max-width: 1150px;
|
||||
margin: 25px 0 150px 25px;
|
||||
display: flex;
|
||||
align-content: flex-start;
|
||||
}
|
||||
|
||||
.paper {
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
width: 100%;
|
||||
|
||||
background: white;
|
||||
border-radius: 3px;
|
||||
box-shadow: 1px 2px 4px 1px rgba(0, 0, 0, .15);
|
||||
padding: 100px;
|
||||
}
|
||||
|
||||
#paper1 {
|
||||
top: 45px;
|
||||
left: 50px;
|
||||
}
|
||||
|
||||
#paper2 {
|
||||
top: 20px;
|
||||
left: -100%;
|
||||
}
|
||||
|
||||
#paper3 {
|
||||
top: 25px;
|
||||
transform: rotate(-4deg);
|
||||
left: -200%;
|
||||
}
|
||||
|
||||
#caddy {
|
||||
max-width: 300px;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
#caddy .caddy-color {
|
||||
fill: #005e7e;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 20px;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
h1 .emoji {
|
||||
font-size: 150%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
h1 .lang {
|
||||
margin-right: 1.25em;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 28px;
|
||||
margin-top: 1.5em;
|
||||
}
|
||||
|
||||
p,
|
||||
ol,
|
||||
ul {
|
||||
color: #333;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 1.5em 0;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul {
|
||||
margin: .5em 0 .5em 2em;
|
||||
}
|
||||
|
||||
ol li,
|
||||
ul li {
|
||||
margin-left: 1em;
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
|
||||
li ol {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
|
||||
code {
|
||||
color: #000;
|
||||
font-family: Menlo, monospace;
|
||||
background: #f0f0f0;
|
||||
border-radius: 2px;
|
||||
padding: 4px 8px;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
.warn {
|
||||
color: #dd0000;
|
||||
}
|
||||
|
||||
footer {
|
||||
color: #777;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
max-width: 600px;
|
||||
margin: 0 auto 50px;
|
||||
}
|
||||
|
||||
#disclaimer {
|
||||
font-size: 14px;
|
||||
margin-top: 20px;
|
||||
display: inline-block;
|
||||
border-top: 1px solid #ccc;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
@media (max-width: 1100px) {
|
||||
.stack {
|
||||
width: 85%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 800px) {
|
||||
.stack {
|
||||
margin: 0 0 50px 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.paper {
|
||||
padding: 50px;
|
||||
}
|
||||
|
||||
#paper1,
|
||||
#paper2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#paper3 {
|
||||
left: 0;
|
||||
transform: none;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
#caddy {
|
||||
max-width: 300px;
|
||||
margin-bottom: 45px;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="stack">
|
||||
<div class="paper" id="paper1"></div>
|
||||
<div class="paper" id="paper2"></div>
|
||||
<div class="paper" id="paper3">
|
||||
<a href="https://caddyserver.com/" title="Caddy Web Server">
|
||||
<svg id="caddy" viewBox="0 0 379 114" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;">
|
||||
<g transform="matrix(1,0,0,1,-35.5985,-67.948)">
|
||||
<g transform="matrix(1.16548,0,0,1.10195,-124,-68.27)">
|
||||
<g id="Light-Logo" serif:id="Light Logo"
|
||||
transform="matrix(0.858013,0,0,0.907485,-3243.42,-1469.17)">
|
||||
<g id="Logo" transform="matrix(1,0,0,1,21.4759,36.7359)">
|
||||
<g id="Icon">
|
||||
<g>
|
||||
<g
|
||||
transform="matrix(-0.191794,-0.715786,0.715786,-0.191794,4329.14,4673.64)">
|
||||
<path
|
||||
d="M3901.56,610.734C3893.53,610.261 3886.06,608.1 3879.2,604.877C3872.24,601.608 3866.04,597.093 3860.8,591.633C3858.71,589.457 3856.76,587.149 3854.97,584.709C3853.2,582.281 3851.57,579.733 3850.13,577.066C3845.89,569.224 3843.21,560.381 3842.89,550.868C3842.57,543.321 3843.64,536.055 3845.94,529.307C3848.37,522.203 3852.08,515.696 3856.83,510.049L3855.79,509.095C3850.39,514.54 3846.02,520.981 3842.9,528.125C3839.84,535.125 3838.03,542.781 3837.68,550.868C3837.34,561.391 3839.51,571.425 3843.79,580.306C3845.27,583.38 3847.03,586.304 3849.01,589.049C3851.01,591.806 3853.24,594.39 3855.69,596.742C3861.75,602.568 3869,607.19 3877.03,610.1C3884.66,612.867 3892.96,614.059 3901.56,613.552L3901.56,610.734Z"
|
||||
style="fill:rgb(31,136,192);" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(-0.191794,-0.715786,0.715786,-0.191794,4329.14,4673.64)">
|
||||
<path
|
||||
d="M3875.69,496.573C3879.62,494.538 3883.8,492.897 3888.2,491.786C3892.49,490.704 3896.96,490.124 3901.56,490.032C3903.82,490.13 3906.03,490.332 3908.21,490.688C3917.13,492.147 3925.19,495.814 3932.31,500.683C3936.13,503.294 3939.59,506.335 3942.81,509.619C3947.09,513.98 3950.89,518.816 3953.85,524.232C3958.2,532.197 3960.96,541.186 3961.32,550.868C3961.61,558.748 3960.46,566.345 3957.88,573.322C3956.09,578.169 3953.7,582.753 3950.66,586.838C3947.22,591.461 3942.96,595.427 3938.27,598.769C3933.66,602.055 3928.53,604.619 3923.09,606.478C3922.37,606.721 3921.6,606.805 3920.93,607.167C3920.42,607.448 3920.14,607.854 3919.69,608.224L3920.37,610.389C3920.98,610.432 3921.47,610.573 3922.07,610.474C3922.86,610.344 3923.55,609.883 3924.28,609.566C3931.99,606.216 3938.82,601.355 3944.57,595.428C3947.02,592.903 3949.25,590.174 3951.31,587.319C3953.59,584.168 3955.66,580.853 3957.43,577.348C3961.47,569.34 3964.01,560.422 3964.36,550.868C3964.74,540.511 3962.66,530.628 3958.48,521.868C3955.57,515.775 3951.72,510.163 3946.95,505.478C3943.37,501.962 3939.26,498.99 3934.84,496.562C3926.88,492.192 3917.87,489.76 3908.37,489.229C3906.12,489.104 3903.86,489.054 3901.56,489.154C3896.87,489.06 3892.3,489.519 3887.89,490.397C3883.3,491.309 3878.89,492.683 3874.71,494.525L3875.69,496.573Z"
|
||||
style="fill:rgb(31,136,192);" />
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g transform="matrix(-3.37109,-0.514565,0.514565,-3.37109,4078.07,1806.88)">
|
||||
<path
|
||||
d="M22,12C22,10.903 21.097,10 20,10C19.421,10 18.897,10.251 18.53,10.649C18.202,11.006 18,11.481 18,12C18,13.097 18.903,14 20,14C21.097,14 22,13.097 22,12Z"
|
||||
style="fill:none;fill-rule:nonzero;stroke:rgb(31,136,192);stroke-width:1.05px;" />
|
||||
</g>
|
||||
<g transform="matrix(-5.33921,-5.26159,-3.12106,-6.96393,4073.87,1861.55)">
|
||||
<path
|
||||
d="M10.315,5.333C10.315,5.333 9.748,5.921 9.03,6.673C7.768,7.995 6.054,9.805 6.054,9.805L6.237,9.86C6.237,9.86 8.045,8.077 9.36,6.771C10.107,6.028 10.689,5.444 10.689,5.444L10.315,5.333Z"
|
||||
style="fill:rgb(31,136,192);" />
|
||||
</g>
|
||||
</g>
|
||||
<g id="Padlock" transform="matrix(3.11426,0,0,3.11426,3938.31,1737.25)">
|
||||
<g>
|
||||
<path
|
||||
d="M9.876,21L18.162,21C18.625,21 19,20.625 19,20.162L19,11.838C19,11.375 18.625,11 18.162,11L5.838,11C5.375,11 5,11.375 5,11.838L5,16.758"
|
||||
style="fill:none;stroke:rgb(34,182,56);stroke-width:1.89px;stroke-linecap:butt;stroke-linejoin:miter;" />
|
||||
<path d="M8,11L8,7C8,4.806 9.806,3 12,3C14.194,3 16,4.806 16,7L16,11"
|
||||
style="fill:none;fill-rule:nonzero;stroke:rgb(34,182,56);stroke-width:1.89px;" />
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g transform="matrix(5.30977,0.697415,-0.697415,5.30977,3852.72,1727.97)">
|
||||
<path
|
||||
d="M22,12C22,11.659 21.913,11.337 21.76,11.055C21.421,10.429 20.756,10 20,10C18.903,10 18,10.903 18,12C18,13.097 18.903,14 20,14C21.097,14 22,13.097 22,12Z"
|
||||
style="fill:none;fill-rule:nonzero;stroke:rgb(31,136,192);stroke-width:0.98px;" />
|
||||
</g>
|
||||
<g transform="matrix(4.93114,2.49604,1.11018,5.44847,3921.41,1726.72)">
|
||||
<path
|
||||
d="M8.902,6.77C8.902,6.77 7.235,8.253 6.027,9.366C5.343,9.996 4.819,10.502 4.819,10.502L5.52,11.164C5.52,11.164 6.021,10.637 6.646,9.951C7.749,8.739 9.219,7.068 9.219,7.068L8.902,6.77Z"
|
||||
style="fill:rgb(31,136,192);" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Wordmark" transform="matrix(1.54159,0,0,2.8744,2710.6,709.804)">
|
||||
<g id="y" transform="matrix(0.50291,0,0,0.281607,905.533,304.987)">
|
||||
<path
|
||||
d="M192.152,286.875L202.629,268.64C187.804,270.106 183.397,265.779 180.143,263.391C176.888,261.004 174.362,257.99 172.563,254.347C170.765,250.705 169.866,246.691 169.866,242.305L169.866,208.107L183.21,208.107L183.21,242.213C183.21,245.188 183.896,247.822 185.268,250.116C186.64,252.41 188.465,254.197 190.743,255.475C193.022,256.754 195.501,257.393 198.182,257.393C200.894,257.393 203.393,256.75 205.68,255.463C207.966,254.177 209.799,252.391 211.178,250.105C212.558,247.818 213.248,245.188 213.248,242.213L213.248,208.107L226.545,208.107L226.545,242.305C226.545,246.707 225.378,258.46 218.079,268.64C215.735,271.909 207.835,286.875 207.835,286.875L192.152,286.875Z"
|
||||
style="fill:rgb(47,47,47);fill-rule:nonzero;" />
|
||||
</g>
|
||||
<g id="add" transform="matrix(0.525075,0,0,0.281607,801.871,304.987)">
|
||||
<g transform="matrix(116.242,0,0,116.242,161.846,267.39)">
|
||||
<path
|
||||
d="M0.276,0.012C0.227,0.012 0.186,0 0.15,-0.024C0.115,-0.048 0.088,-0.08 0.069,-0.12C0.05,-0.161 0.04,-0.205 0.04,-0.254C0.04,-0.305 0.051,-0.35 0.072,-0.39C0.094,-0.431 0.125,-0.463 0.165,-0.487C0.205,-0.51 0.254,-0.522 0.31,-0.522C0.366,-0.522 0.413,-0.51 0.452,-0.486C0.491,-0.463 0.521,-0.431 0.542,-0.39C0.562,-0.35 0.573,-0.305 0.573,-0.256L0.573,-0L0.458,-0L0.458,-0.095L0.456,-0.095C0.446,-0.076 0.433,-0.058 0.417,-0.042C0.401,-0.026 0.381,-0.013 0.358,-0.003C0.335,0.007 0.307,0.012 0.276,0.012ZM0.307,-0.086C0.337,-0.086 0.363,-0.093 0.386,-0.108C0.408,-0.123 0.426,-0.144 0.438,-0.17C0.45,-0.195 0.456,-0.224 0.456,-0.256C0.456,-0.288 0.45,-0.317 0.438,-0.342C0.426,-0.367 0.409,-0.387 0.387,-0.402C0.365,-0.417 0.338,-0.424 0.308,-0.424C0.276,-0.424 0.249,-0.417 0.226,-0.402C0.204,-0.387 0.186,-0.366 0.174,-0.341C0.162,-0.315 0.156,-0.287 0.156,-0.255C0.156,-0.224 0.162,-0.195 0.174,-0.169C0.186,-0.144 0.203,-0.123 0.226,-0.108C0.248,-0.093 0.275,-0.086 0.307,-0.086Z"
|
||||
style="fill:rgb(47,47,47);fill-rule:nonzero;" />
|
||||
</g>
|
||||
<g transform="matrix(116.242,0,0,116.242,226.592,267.39)">
|
||||
<path
|
||||
d="M0.306,0.012C0.265,0.012 0.229,0.006 0.196,-0.008C0.163,-0.021 0.135,-0.039 0.112,-0.064C0.089,-0.088 0.071,-0.117 0.059,-0.151C0.046,-0.185 0.04,-0.222 0.04,-0.263C0.04,-0.315 0.051,-0.36 0.072,-0.399C0.093,-0.437 0.122,-0.468 0.159,-0.489C0.196,-0.511 0.239,-0.522 0.287,-0.522C0.311,-0.522 0.333,-0.518 0.355,-0.511C0.377,-0.504 0.396,-0.493 0.413,-0.48C0.431,-0.466 0.445,-0.451 0.455,-0.433L0.456,-0.433L0.456,-0.73L0.571,-0.73L0.571,-0.261C0.571,-0.205 0.56,-0.156 0.537,-0.115C0.515,-0.074 0.484,-0.043 0.444,-0.021C0.405,0.001 0.358,0.012 0.306,0.012ZM0.306,-0.086C0.335,-0.086 0.361,-0.093 0.384,-0.107C0.406,-0.122 0.423,-0.141 0.436,-0.167C0.448,-0.192 0.455,-0.221 0.455,-0.255C0.455,-0.288 0.448,-0.317 0.436,-0.343C0.423,-0.368 0.406,-0.388 0.383,-0.402C0.361,-0.417 0.335,-0.424 0.305,-0.424C0.276,-0.424 0.251,-0.417 0.228,-0.402C0.206,-0.387 0.188,-0.368 0.175,-0.342C0.163,-0.317 0.156,-0.288 0.156,-0.255C0.156,-0.222 0.163,-0.193 0.175,-0.167C0.188,-0.142 0.206,-0.122 0.229,-0.108C0.251,-0.093 0.277,-0.086 0.306,-0.086Z"
|
||||
style="fill:rgb(47,47,47);fill-rule:nonzero;" />
|
||||
</g>
|
||||
<g transform="matrix(116.242,0,0,116.242,290.293,267.39)">
|
||||
<path
|
||||
d="M0.306,0.012C0.265,0.012 0.229,0.006 0.196,-0.008C0.163,-0.021 0.135,-0.039 0.112,-0.064C0.089,-0.088 0.071,-0.117 0.059,-0.151C0.046,-0.185 0.04,-0.222 0.04,-0.263C0.04,-0.315 0.051,-0.36 0.072,-0.399C0.093,-0.437 0.122,-0.468 0.159,-0.489C0.196,-0.511 0.239,-0.522 0.287,-0.522C0.311,-0.522 0.333,-0.518 0.355,-0.511C0.377,-0.504 0.396,-0.493 0.413,-0.48C0.431,-0.466 0.445,-0.451 0.455,-0.433L0.456,-0.433L0.456,-0.73L0.571,-0.73L0.571,-0.261C0.571,-0.205 0.56,-0.156 0.537,-0.115C0.515,-0.074 0.484,-0.043 0.444,-0.021C0.405,0.001 0.358,0.012 0.306,0.012ZM0.306,-0.086C0.335,-0.086 0.361,-0.093 0.384,-0.107C0.406,-0.122 0.423,-0.141 0.436,-0.167C0.448,-0.192 0.455,-0.221 0.455,-0.255C0.455,-0.288 0.448,-0.317 0.436,-0.343C0.423,-0.368 0.406,-0.388 0.383,-0.402C0.361,-0.417 0.335,-0.424 0.305,-0.424C0.276,-0.424 0.251,-0.417 0.228,-0.402C0.206,-0.387 0.188,-0.368 0.175,-0.342C0.163,-0.317 0.156,-0.288 0.156,-0.255C0.156,-0.222 0.163,-0.193 0.175,-0.167C0.188,-0.142 0.206,-0.122 0.229,-0.108C0.251,-0.093 0.277,-0.086 0.306,-0.086Z"
|
||||
style="fill:rgb(47,47,47);fill-rule:nonzero;" />
|
||||
</g>
|
||||
</g>
|
||||
<g id="c"
|
||||
transform="matrix(-0.0716462,0.31304,-0.583685,-0.0384251,1489.76,-444.051)">
|
||||
<path
|
||||
d="M2668.11,700.4C2666.79,703.699 2666.12,707.216 2666.12,710.766C2666.12,726.268 2678.71,738.854 2694.21,738.854C2709.71,738.854 2722.3,726.268 2722.3,710.766C2722.3,704.111 2719.93,697.672 2715.63,692.597L2707.63,699.378C2710.33,702.559 2711.57,706.602 2711.81,710.766C2712.2,717.38 2706.61,724.52 2697.27,726.637C2683.9,728.581 2676.61,720.482 2676.61,710.766C2676.61,708.541 2677.03,706.336 2677.85,704.269L2668.11,700.4Z"
|
||||
style="fill:rgb(46,46,46);" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="R" transform="matrix(0.497016,0,0,0.497016,2390.38,823.152)">
|
||||
<g transform="matrix(1,0,0,1,-0.10786,0.450801)">
|
||||
<g transform="matrix(12.1247,0,0,12.1247,3862.61,1929.9)">
|
||||
<path
|
||||
d="M0.073,-0L0.073,-0.7L0.383,-0.7C0.428,-0.7 0.469,-0.69 0.506,-0.67C0.543,-0.651 0.572,-0.623 0.594,-0.588C0.616,-0.553 0.627,-0.512 0.627,-0.465C0.627,-0.418 0.615,-0.377 0.592,-0.342C0.569,-0.306 0.539,-0.279 0.501,-0.259L0.57,-0.128C0.574,-0.12 0.579,-0.115 0.584,-0.111C0.59,-0.107 0.596,-0.106 0.605,-0.106L0.664,-0.106L0.664,-0L0.587,-0C0.56,-0 0.535,-0.007 0.514,-0.02C0.493,-0.034 0.476,-0.052 0.463,-0.075L0.381,-0.232C0.375,-0.231 0.368,-0.231 0.361,-0.231C0.354,-0.231 0.347,-0.231 0.34,-0.231L0.192,-0.231L0.192,-0L0.073,-0ZM0.192,-0.336L0.368,-0.336C0.394,-0.336 0.417,-0.341 0.438,-0.351C0.459,-0.361 0.476,-0.376 0.489,-0.396C0.501,-0.415 0.507,-0.438 0.507,-0.465C0.507,-0.492 0.501,-0.516 0.488,-0.535C0.475,-0.554 0.459,-0.569 0.438,-0.579C0.417,-0.59 0.394,-0.595 0.369,-0.595L0.192,-0.595L0.192,-0.336Z"
|
||||
style="fill:rgb(46,46,46);fill-rule:nonzero;" />
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,0.278569,0.101881)">
|
||||
<circle cx="3866.43" cy="1926.14" r="8.923"
|
||||
style="fill:none;stroke:rgb(46,46,46);stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<h1>
|
||||
<!-- English --> <span class="lang">Congratulations!</span>
|
||||
<!-- Japanese --> <span class="lang">おめでとう!</span>
|
||||
<!-- Spanish --> <span class="lang">Felicidades!</span>
|
||||
<!-- Chinese --> <span class="lang">恭喜!</span>
|
||||
<!-- Hindi --> <span class="lang">बधाई हो!</span>
|
||||
<!-- Russian --> <span class="lang">Поздравляю!</span>
|
||||
<!-- Ukrainian --> <span class="lang">Вітаю!</span>
|
||||
<span class="emoji">🎊</span>
|
||||
</h1>
|
||||
|
||||
<p>
|
||||
Your web server is working. Now make it work for you. 💪
|
||||
</p>
|
||||
<p>
|
||||
Caddy is ready to serve your site over HTTPS:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Point your domain's A/AAAA DNS records at this machine.</li>
|
||||
<li>Upload your site's files to <code>/var/www/html</code>.
|
||||
<li>
|
||||
Edit your Caddyfile at <code>/etc/caddy/Caddyfile</code>:
|
||||
<ol>
|
||||
<li>Replace <code>:80</code> with your domain name</li>
|
||||
<li>Change the site root to <code>/var/www/html</code></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Reload the configuration: <code>systemctl reload caddy</code></li>
|
||||
<li>Visit your site!</li>
|
||||
</ol>
|
||||
<h2>If that worked 🥳</h2>
|
||||
<p>
|
||||
Awesome! You won't have to look at this slanted page anymore.
|
||||
</p>
|
||||
<p>
|
||||
Remember, Caddy can do a lot more than serve static files. It's also a powerful reverse proxy and
|
||||
application platform. You can use the Caddyfile to enable any other features you need. Or you could use
|
||||
Caddy's API to configure it programmatically.
|
||||
</p>
|
||||
<p>
|
||||
Everything you need to know is either in the <a href="https://caddyserver.com/docs/">📖 Caddy
|
||||
documentation</a> or the manual for your OS/platform. Have fun!
|
||||
</p>
|
||||
|
||||
<h2>If that didn't work 😶</h2>
|
||||
<p>
|
||||
It's okay, you can fix it! First check the following things:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Service status: <code>systemctl status caddy</code></li>
|
||||
<li>Logs: <code>journalctl --no-pager -u caddy</code></li>
|
||||
<li>Are your site's files readable by the caddy user and group? <code>ls -la /var/www/html</code></li>
|
||||
<li>Is the caddy home directory writeable? <code>ls -la /var/lib/caddy</code></li>
|
||||
<li>Ensure your domain's A and/or AAAA records point to your machine's public IP address:
|
||||
<code>dig example.com</code></li>
|
||||
<li>Are your ports 80 and 443 externally reachable, and is Caddy able to bind to them? Check your
|
||||
firewalls, port forwarding, and other network configuration.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<b class="warn">WAIT!</b> Before trying again, switch to <a
|
||||
href="https://letsencrypt.org/docs/staging-environment/">Let's Encrypt's staging environment</a> to
|
||||
avoid being accidentally <a href="https://letsencrypt.org/docs/rate-limits/">rate limited</a>. Once you
|
||||
get everything else working, it's safe to switch back.
|
||||
</p>
|
||||
<p>
|
||||
Depending on your DNS provider, it may take a while for the DNS records to propagate. Even when
|
||||
everything is configured properly, automated challenges to obtain TLS certificates usually take several
|
||||
seconds, but may take up to several minutes or hours.
|
||||
<p>
|
||||
If you still need help, we have a <a href="https://caddy.community/">great community</a>! First <a
|
||||
href="https://caddy.community/search">try a search</a>, and if your question is original, go ahead
|
||||
and ask it! Remember to pay it forward and help others too. 😁
|
||||
</p>
|
||||
<p>
|
||||
Visit Caddy on:
|
||||
<b><a href="https://github.com/caddyserver/caddy" title="Caddy on GitHub">GitHub</a></b>
|
||||
or
|
||||
<b><a href="https://twitter.com/caddyserver" title="@caddyserver on Twitter">Twitter</a></b>
|
||||
or
|
||||
<b><a href="https://caddy.community/" title="Caddy forums">Our Forum</a></b>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
© Copyright The Caddy Authors
|
||||
|
||||
<div id="disclaimer">
|
||||
The Caddy project is not responsible for the content, disposition, or behavior of this Web
|
||||
property, which is independently owned and maintained. For inquiries, please contact the site owner or
|
||||
hosting provider.
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
18
caddy-with-php/supervisor/listener.php
Normal file
18
caddy-with-php/supervisor/listener.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
$stdIn = STDIN;
|
||||
$stdOut = STDOUT;
|
||||
fwrite($stdOut, "READY\n");
|
||||
while (true) {
|
||||
if (false == ($line = trim(fgets($stdIn)))) {
|
||||
sleep(1);
|
||||
continue;
|
||||
}
|
||||
$match = null;
|
||||
if (preg_match('/eventname:(.*?) /', $line, $match)) {
|
||||
if (in_array($match[1], ['PROCESS_STATE_EXITED', 'PROCESS_STATE_STOPPED', 'PROCESS_STATE_FATAL'])) {
|
||||
exec('kill -15 ' . file_get_contents('/run/supervisord.pid'));
|
||||
}
|
||||
}
|
||||
fwrite($stdOut, "RESULT 2\nOK");
|
||||
fwrite($stdOut, "READY\n");
|
||||
}
|
||||
17
caddy-with-php/supervisor/supervisord.conf
Normal file
17
caddy-with-php/supervisor/supervisord.conf
Normal file
@ -0,0 +1,17 @@
|
||||
[unix_http_server]
|
||||
file=/tmp/supervisor.sock
|
||||
chmod=0777
|
||||
|
||||
[supervisord]
|
||||
nodaemon=true
|
||||
logfile=/tmp/supervisord.log
|
||||
pidfile=/tmp/supervisord.pid
|
||||
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
[supervisorctl]
|
||||
serverurl=unix:///tmp/supervisor.sock
|
||||
|
||||
[include]
|
||||
files = /etc/supervisor/conf.d/*.conf
|
||||
Loading…
Reference in New Issue
Block a user