FrankenPHP аварийно завершает работу при высоких нагрузкахPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 FrankenPHP аварийно завершает работу при высоких нагрузках

Сообщение Anonymous »

FrankenPHP аварийно завершает работу при высоких нагрузках.
FrankenPHP в виртуальной машине, 10 ГБ видеопамяти, 40 ГБ VHD, аварийно завершает работу.
Проблема в том, что при сбое происходит автоматическое завершение работы. Необходимо настроить автоматический перезапуск. и то же самое происходит при переходе на последнюю официальную версию 1.2.5. То есть:
wget https://github.com/dunglas/frankenphp/r ... nux-x86_64
sudo chmod 777 ./frankenphp-linux-x86_64
sudo ./frankenphp-linux-x86_64 run --config caddyfile

free_mem=800001
while [ $free_mem -gt 800000 ]
do
free_mem=cat /proc/meminfo | grep '^MemAvailable' | awk '{ print $2 }'
echo " Free_mem:"$free_mem
while [ $free_mem -lt 800000 ]
do break 3
done
./frankenphp-linux-x86_64 run --config caddyfile
done

сбой
SSH Невозможно подключиться.
перезагрузка ОК
Мы перенесли с ATS на FrankenPHP, исходный код PHP остается прежним, и мы используем те же основные методы для прокси-серверов PHP и онлайн-программ, таких как:
https://en.wikipedia.org/wiki/PHProxy
https://github.com/PHProxy/phproxy
Пример веб-сайта для кандидата:
http:// adaiu.dns.navy/1
Поскольку программа PHP представляет собой необработанный код, она не компилируется, а библиотека, используемая средой PHP, неизвестна, и программисту PHP все равно. . Точно так же, как при написании веб-страницы в Блокноте, вам не нужно беспокоиться о технологии, используемой веб-сервером. Тестирование на совместимость с упомянутым выше прокси-проектом также может решить эту проблему.
Dockerfile для статической сборки shenzhou-app.
FROM dunglas/frankenphp:static-builder
# Copy your app
WORKDIR /go/src/app/dist/app
COPY . .
# Build the static binary
WORKDIR /go/src/app/dist/app
RUN rm -r dist/static-php-cli/watcher
RUN EMBED=dist/app/ . /build-static.sh
Translated with DeepL.com (free version)

caddyfile :
{
frankenphp
order php_server before file_server
}

# Website root directory (adjust path as needed)
:80 {
# Enable compression
encode zstd br gzip

# PHP program location, here please modify according to the actual root directory
root * /tmp/frankenphp_1b73543cc848c8af8018b0cb0a54feee/public/

# Return to empty page
@blank path_regexp blank ^//blank/|^/blank/|^/favicon\.ico$
route @blank {
header Access-Control-Allow-Origin “*”
header Cache-Control “public, max-age=31536000”
respond “” 200
abort
}

# Access the resource cache file directly
@f1 path_regexp f1 ^/files/(\w)(\w\w)(\w{13})-\w-[\w\-]+(\. \w{2,4})$
route @f1 {
rewrite /temp/{http.regexp.f1.1}/{http.regexp.f1.2}/{http.regexp.f1.1}{http.regexp.f1.2}{http.regexp.f1.3}{http.regexp.f1.4}
}
@f2 path_regexp f2 ^/files/\w/\w{10}(\w)(\w\w)(\w{13})\w{6}/[\w/]+(\. \w{2,4})$
route @f2 {
rewrite /temp/{http.regexp.f2.1}/{http.regexp.f2.2}/{http.regexp.f2.1}{http.regexp.f2.2}{http.regexp.f2.3}{http.regexp.f2.4}
}
@tempfiles {
path_regexp tempfiles {
path_regexp tempfiles ^/temp/\w/\w\w/\w{16}\. \w{2,4}$
}
route @tempfiles {
# Don't process any content, pass directly to static file
file_server
abort
}

# If no matching file or directory is found, pass to unified entry
@notFound {
not file
}
route @notFound {
rewrite /index.php?__nonematch__=1
}

# Forbidden directories or files
@forbidden {
__nonematch__=1 } # Forbidden directories or files @forbidden {
not {
path /robots.txt
}
path_regexp forbidden ^/(data|include|temp|plugin)/|\.db$|\.htaccess$|~\w+$|\\.bak$|\.inc$|\\.sh$\\\\.yaml$|\.ini$|\.bat$|\.dat$\\\\.txt$| \.lock$|\.conf$|\.inc\.php$|^/images/enc\.js$
}
respond @forbidden “” 404

# PHP server
php_server
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... high-loads
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»