I can't config Nginx
with php-fpm
correctly. When I get any php script, I get Nginx 404 Not found
error in browser:
File not found.
In my php-fpm logs I get:
172.17.42.1 - 28/Apr/2015:09:15:15 +0000 "GET /index.php" 404
for any php script call and in Nginx logs I get:
[error] 28105#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.168.66.66:9000", host: "localhost"
My Nginx vitualhost config is:
server {
listen 80;
root /var/www/html;
index index.html;
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.168.66.66:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
I had spinning php-fpm Docker image from official php repository, that run by:
docker run -it -p 127.168.66.66:9000:9000 php:fpm
The docker ps
command show next info:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dbf9f7d1c6f9 php:fpm "php-fpm" 8 seconds ago Up 7 seconds 127.168.66.66:9000->9000/tcp serene_curie
What's wrong with my config?
P.S. Any static files (css, js, images) works on Nginx.
Also, need to share files to the php:fpm
docker container too. The answer is to run docker php:fpm
image with volume too:
docker run -it -p 127.168.66.66:9000:9000 -v /var/www/html/:/var/www/html/ php:fpm
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With