2014-09-07 4 views
5

Я установка следующего ngnix конфигурация для моего Ubuntu 14.04 VPS работает HHVM с ngnix:Проблемных Nginx конфигурация

server { 
listen 80 default_server; 
listen [::]:80 default_server ipv6only=on; 

root /home/lephenix/main_website; 
index.php index.html index.htm; 

# Make site accessible from http://localhost/ 
server_name localhost; 
include hhvm.conf; 

location/{ 
    # First attempt to serve request as file, then 
    # as directory, then fall back to displaying a 404. 
    try_files $uri $uri/ /index.php?q=$uri&$args; 
    # Uncomment to enable naxsi on this location 
    # include /etc/nginx/naxsi.rules 
} 
} 

Проблема заключается в том, что, когда я включаю этот конфиг я получаю сообщение об ошибке от ngnix:

2014/09/07 13:16:01 [emerg] 13584#0: unknown directive "index.php" in /etc/nginx/sites-enabled/default:6 

Я посмотрел, и это кажется правильной структурой для этой конфигурации. Даже когда я удалить index.php, то ошибка меняется:

2014/09/07 13:17:03 [emerg] 13648#0: unknown directive "index.html" in /etc/nginx/sites-enabled/default:6 

Я следовал по следующему руководству для настройки сервера: http://webdevstudios.com/2014/07/17/setting-up-wordpress-nginx-hhvm-for-the-fastest-possible-load-times/

Заранее спасибо за любую помощь

+0

Вау, 'ipv6only'? – Rudie

+0

Да, Руди, линия над ручками IPv4, я верю. –

+0

Ничего себе, я думаю, мне нужно удалить это! – user1781267

ответ

7

Он должен быть :

index index.php index.html index.htm 

Директива - это «индекс».

Кроме того, «try_files» ошибочен. Изменить на:

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

Также гораздо лучше иметь отформатированный файл конфигурации. Это облегчает отладку.

Я подозреваю, что учебник, за которым вы следовали, ошибочен, он определенно недействителен, поскольку директивы должны быть названы первым, прежде чем пытаться присвоить ему что-то.

Возможно, вы заметили записку автору? Было бы здорово, если бы они исправили его, чтобы никто не попадал на него :)

+0

Спасибо за помощь! Так что я положил это, но теперь я получаю сообщение об ошибке http://pastebin.com/w1mnJRKX Ngnix сообщает 2014/09/07 13:42:59 [emerg] 1587 # 0: неизвестная директива «$ args» в/etc/nginx/sites-enabled/default: 15 любых идей? – user1781267

+1

Вы можете проверить конфигурацию nginx с помощью 'nginx -t'. Он должен сказать вам что-то полезное. – Rudie

+0

Я думаю, что вам нужен новый учебник, чтобы следовать :) Nginx собирает «;» в «&» в качестве конца настоящей директивы, поэтому он считает, что $ args является новой директивой. –

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