2013-12-08 2 views
0

Я новичок в конфигурациях NGINX, так что несите меня. Ниже моя конфигурация, которая отлично работает для всего сайта:Конфигурация Nginx Wordpress, файл PHP в каталоге тем не передан FastCGI

server { 
listen ...; 
server_name funkyoslo.no; 

#charset koi8-r; 
#access_log /var/log/nginx/log/host.access.log main; 

location/{ 
    root /usr/share/nginx/funkyoslo.webbr.org/html; 
    index index.php index.html index.htm; 
    try_files $uri $uri/ /index.php?q=$uri&$args; 
} 
error_page 500 502 503 504 /50x.html; 
location = /50x.html { 
    root /usr/share/nginx/funkyoslo.webbr.org/html/; 
} 
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
location ~ \.php$ { 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/funkyoslo.webbr.org/html/$fastcgi_script_name; 
    include  fastcgi_params; 
} 
} 

Однако я пытаюсь загрузить файл /wp-content/themes/funkyoslo/load-songs.php, и это дает мне внутренний сервер 500 ошибка. Я проверил журналы ошибок, и, очевидно, файл не передается в FastCGI.

Я попытался добавить следующий блок к чему не привели:

location ~ .*/wp-content/themes/funkyoslo/.*\.php$ { 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/funkyoslo.webbr.org/html/wp-content/themes/funkyoslo/$fastcgi_script_name; 
    include   fastcgi_params; 
} 

Любая помощь очень ценится!

ответ

0

Посмотрите, что я не знаю, что не так с вашим конфигом, но попробуйте это и, надеюсь, он должен работать, это минимальная конфигурация.

Примечание:

  • Удален индекс к уровню блока сервера, проверьте link знать, почему
  • Удален корень уровня блока сервера, проверьте link знать, почему
  • Удалены все дополнительные конфигурации от уровня блока php, в ходе испытаний я понял, что мне нужны только те два, которые я написал.
  • Добавлено http:// в fastcgi_pass, я не знаю, действительно ли это требуется, но я привык писать это так.

Edit: Хорошо, по-видимому, я не нужен http://, я только что проверил.

-

server { 
    listen 80; 
    server_name funkyoslo.no; 
    root /usr/share/nginx/funkyoslo.webbr.org/html; 
    error_page 500 502 503 504 /50x.html; 
    index index.php index.html index.htm; 
    location/{ 
     try_files $uri $uri/ /index.php$request_uri; 
    } 
    location ~ \.php$ { 
     include fastcgi_params; 
     fastcgi_pass http://127.0.0.1:9000; 
    } 
} 
+0

Это дает мне следующие ошибки: [Экстрен] 8088 # 0: неверный хост в вверх по течению «http://127.0.0.1:$ [ошибка] 8109 # 0: * 1 rewrite или internal redirection wh $ –

+0

Добавление: 'fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;' казалось, помогло в корневом каталоге, но проблема с /wp-content/themes/funkyoslo/load-songs.php сохраняется. –

+0

Nevermind, он работает сейчас! Видимо, в моем PHP-файле произошла ошибка (из-за разных php.ini на моем компьютере и VPS), которая была обнаружена в журналах ошибок PHP-FPM. Я не смог ее обнаружить, так как загрузка AJAX была Givin g me 500 Внутренняя ошибка сервера. Я не думаю, что с моей начальной конфигурацией было что-то не так, хотя теперь вы предоставили мне гораздо лучшую настройку, спасибо! :) –

 Смежные вопросы

  • Нет связанных вопросов^_^