在带有nginx和php fpm的Docker上找不到php fpm www.sock文件
我正在Docker上启动laravel应用程序 我有在带有nginx和php fpm的Docker上找不到php fpm www.sock文件,php,docker,nginx,Php,Docker,Nginx,我正在Docker上启动laravel应用程序 我有connect()到unix:/run/php fpm/www.sock失败(2:没有这样的文件或目录)错误,并且run文件夹中没有php fpm文件夹 为什么没有创建www.sock文件 server.conf server { listen 8080; root /home/app/public_html/public; index index.php;
connect()到unix:/run/php fpm/www.sock失败(2:没有这样的文件或目录)
错误,并且run文件夹中没有php fpm文件夹
为什么没有创建www.sock文件
server.conf
server {
listen 8080;
root /home/app/public_html/public;
index index.php;
charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php-fpm/www.sock; //this crashes
}
location ~ /\.ht {
deny all;
}
}
Dockerfile
FROM centos:8
RUN dnf install nginx -y
RUN yum -y install yum-utils
RUN dnf install -y dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
RUN dnf module reset php
RUN dnf -y module enable php:remi-7.4
RUN dnf install -y php php-cli php-mysqlnd php-zip php-devel php-pdo php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json php-fileinfo php-intl
RUN yum -y install make
RUN yum -y install libmcrypt-devel
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/rhel7/x86_64/city-fan.org-release-2-1.rhel7.noarch.rpm
RUN mkdir -p /usr/local/lib/php/pecl
RUN pecl install mongodb
RUN pecl install mcrypt-1.0.4
RUN rm -v /etc/nginx/nginx.conf
ADD nginx.conf /etc/nginx/
ADD server.conf /etc/nginx/conf.d/
COPY . /home/app/public_html/
COPY mongodb.ini /etc/php.d/
RUN cd /home/app/public_html && composer update
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]
在DockerFile中,您需要添加
php fpm
:
RUN dnf install -y php php-fpm php-cli php-mysqlnd php-zip php-devel php-pdo php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json php-fileinfo php-intl
希望对您有所帮助。在您的Docker文件中,您需要添加
php fpm
:
RUN dnf install -y php php-fpm php-cli php-mysqlnd php-zip php-devel php-pdo php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json php-fileinfo php-intl
希望能帮助你。哦,我的天哪。我添加了php fpm,但这次nginx不提供php文件,而是下载它?@UtkuDalmaz您有任何错误吗?Nope error.log为空,以添加到server.conf:
access\u log您的路径代码>错误\u记录您的路径代码>这些已经添加到nginx.conf了?哦,我的糟糕。我添加了php fpm,但这次nginx不提供php文件,而是下载它?@UtkuDalmaz您有任何错误吗?Nope error.log为空,以添加到server.conf:access\u log您的路径代码>错误\u记录您的路径代码>这些已经添加了nginx.conf?可以安装php pecl mcrypt和php pec mongodb包,而不是从源代码(pecl install…)构建它们,并且您需要启动php fpm。。。。这是另一个守护进程…可以安装php-pecl-mcrypt和php-pec-mongodb包,而不是从源代码(pecl-install…)构建它们,您需要启动php-fpm。。。。这是另一个守护进程。。。