Procházet zdrojové kódy

[php] Add Caddy server (#7689)

* [php] Add Caddy server

* Remove nginx
Joan Miquel před 2 roky
rodič
revize
dd3c92144e

+ 23 - 0
frameworks/PHP/php/benchmark_config.json

@@ -137,6 +137,29 @@
       "notes": "With php-fpm pools",
       "versus": "php"
     },
+    "caddy": {
+      "json_url": "/json.php",
+      "plaintext_url": "/plaintext.php",
+      "db_url": "/dbraw.php",
+      "query_url": "/dbquery.php?queries=",
+      "fortune_url": "/fortune.php",
+      "update_url": "/updateraw.php?queries=",
+      "port": 8080,
+      "approach": "Realistic",
+      "classification": "Platform",
+      "database": "MySQL",
+      "framework": "PHP",
+      "language": "PHP",
+      "flavor": "PHP8.1",
+      "orm": "Raw",
+      "platform": "FPM/FastCGI",
+      "webserver": "caddy",
+      "os": "Linux",
+      "database_os": "Linux",
+      "display_name": "PHP-caddyserver",
+      "notes": "",
+      "versus": "php"
+    },
     "eloquent": {
       "db_url": "/eloquent/db-eloquent.php",
       "query_url": "/eloquent/db-eloquent.php?queries=",

+ 4 - 0
frameworks/PHP/php/deploy/caddy/Caddyfile

@@ -0,0 +1,4 @@
+:8080 {
+    root * /php
+    php_fastcgi unix//var/run/php/php-fpm.sock
+}

+ 30 - 0
frameworks/PHP/php/php-caddy.dockerfile

@@ -0,0 +1,30 @@
+FROM ubuntu:22.04
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
+RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php > /dev/null && \
+    apt-get update -yqq > /dev/null && apt-get upgrade -yqq 
+
+RUN apt-get install -yqq git unzip curl \
+    php8.1 php8.1-common php8.1-cli php8.1-fpm php8.1-mysql > /dev/null
+
+COPY deploy/conf/* /etc/php/8.1/fpm/
+
+# Install Caddyserver
+RUN apt-get install -y debian-keyring debian-archive-keyring apt-transport-https > /dev/null \
+    && curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg \
+    && curl -sf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list \
+    && apt-get update > /dev/null && apt-get install caddy > /dev/null
+
+ADD ./ /php
+WORKDIR /php
+
+RUN if [ $(nproc) = 2 ]; then sed -i "s|pm.max_children = 1024|pm.max_children = 512|g" /etc/php/8.1/fpm/php-fpm.conf ; fi;
+
+RUN chmod -R 777 /php
+
+EXPOSE 8080
+
+CMD service php8.1-fpm start && \
+    caddy run --config deploy/caddy/Caddyfile