Mencipta bekas menyebabkan PHP-FPM gagal dimulakan
P粉151720173
P粉151720173 2023-11-06 22:37:04
0
2
752

Saya membuat Dockerfile, tetapi apabila saya menjalankannya dan masuk ke dalam bekas, perkhidmatan php8.0-fpm tidak berjalan.

Bagaimana untuk menjadikannya berjalan pada masa binaan? Ambil perhatian bahawa saya menjalankan arahan service php8.0-fpm start dalam Dockerfile, tetapi walaupun begitu ia tidak berjalan.

Bagaimana untuk membuat perkhidmatan php8.0-fpm bermula dengan bekas?

Berikut ialah Dockerfile yang saya buat:

FROM ubuntu:jammy

ENV DEBIAN_FRONTEND=noninteractive

# Instalação Apache e PHP

RUN apt-get update && 
    apt-get install software-properties-common -y && 
    add-apt-repository ppa:ondrej/php -y && 
    apt-get update && 
    apt-get install -y 
    apache2 
    libapache2-mod-php8.0 
    libapache2-mod-php 
    php8.0-fpm 
    libapache2-mod-fcgid 

# Alteração sequência index

COPY /src/dir.conf /etc/apache2/mods-enabled

# Commitando a nova configuração

RUN service apache2 restart
RUN service php8.0-fpm restart

# Inserindo página info.php

COPY /src/info.php /var/www/html

# Alterando módulos de multiprocessamento

RUN service apache2 stop && 
    a2dismod php8.0 && 
    a2dismod php8.1 && 
    a2dismod mpm_prefork && 
    a2enmod mpm_event && 
    a2enconf php8.0-fpm && 
    a2enmod proxy && 
    a2enmod proxy_fcgi && 
    service apache2 restart && 
    service php8.0-fpm start

# Entrypoint para o conteiner iniciar o Apache

ENTRYPOINT ["apache2ctl", "-D", "FOREGROUND"]```


P粉151720173
P粉151720173

membalas semua(2)
P粉463418483

Anda perlu menjalankan php fpm semasa permulaan. Anda boleh melakukan ini jika bash dipasang dalam sistem pengendalian mesin maya anda.

Isyarat berhenti SIGTERM

CMD ["/bin/bash", "-c", "php-fpm8 && sertakan apache anda di sini"]

Panduan lengkap: Cara menyediakan PHP 8, NGINX dan PHP-FPM menggunakan docker

P粉476475551

Saya berjaya menyimpannya dalam bekas, PHP mempunyai sambungan yang dipanggil Supervisor dan selepas pemasangan kami dapat memulakan dua atau lebih perkhidmatan di dalam bekas.

Dockerfile kelihatan seperti ini:

FROM httpd:2.4-alpine

RUN apk update && \
    apk add \
    php \
    php-fpm \
    php-zip \
    composer \
    supervisor

COPY . /usr/local/apache2/htdocs
COPY httpd.conf /usr/local/apache2/conf/httpd.conf
COPY supervisor /etc/supervisor

WORKDIR /usr/local/apache2/htdocs

CMD ["supervisord","-n", "-c", "/etc/supervisor/supervisord.conf"]

Saya mencipta dua fail konfigurasi untuk Penyelia.

apache.conf

[program:apache]
command=httpd -DFOREGROUND
autostart=true
autorestart=true
priority=10
startretries=1
startsecs=1
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

fpm.conf

[program:php-fpm]
command = php-fpm8 --nodaemonize 
autostart=true
autorestart=true
priority=5
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

Pada ketika ini, kedua-dua perkhidmatan dimulakan dan berjalan dengan sempurna!

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan