2016-12-08 2 views
0

Я пытаюсь настроить свой nginx-сервер для обслуживания php-файлов.Nginx обслуживает php-файлы как «не найден»

Я установил php 7.1 (с fpm), используя варево. php -v и phpfpm -v дает мне хорошую версию.

Мой Nginx конфигурации выглядит следующим образом:

server { 
    listen  80; 
    server_name localhost; 

    access_log /Library/Logs/nginx/access.log main; 

    location/{ 
     root /Users/tomek/Sites; 
     index index.html index.htm index.php; 
     try_files $uri $uri/ /index.php?$args; 
    } 

    #error_page 404    /404.html; 

    # redirect server error pages to the static page /50x.html 
    # 
    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
     root html; 
    } 

    location ~ \.php$ { 
    fastcgi_pass 127.0.0.1:9000; 

    fastcgi_split_path_info ^(.+\.php)(/.+)$; 
    fastcgi_index index.php; 
    include fastcgi_params; 
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; 
    } 
} 

Что я должен делать?

ответ

2

Проблема, вероятно, из-за:

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

Вот файл конфигурации Nginx образца я использую на моем сервере, и он должен работать нормально для вас тоже:

server { 
    listen 80; 
    server_name _ default_server; 

    root /usr/share/nginx/html/; 

    # Main Settings 
    location/{ 
     root /usr/share/nginx/YOUR_PHP_FOLDER; 
     index index.php; 

     try_files $uri $uri/ /index.php$is_args$args; 

     location ~ \.php$ { 
      fastcgi_pass 127.0.0.1:9000; 
      fastcgi_index index.php; 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
      include  fastcgi_params; 
      fastcgi_read_timeout 300; 
     } 

     location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { 
      expires 365d; 
      gzip_vary on; 
     } 
    } 

    # Handle Not Found Page 
    error_page 404    /404.html; 

    # Handle Server Errors 
    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
     root /usr/share/nginx/html; 
    } 

    # Disable Apache .htaccess 
    location ~ /\.ht { 
     deny all; 
    } 
} 
Смежные вопросы