Возникли проблемы с использованием Laravel и nginx с WPN-XM

Я установил WPN-XM, чтобы использовать nginx для проекта Laravel 4.2, но работают только страницы индекса, другие страницы, такие как .../AboutMePage не работает как

Я знаю, что конфигурация Laravel для nginx должна выглядеть следующим образом.conf, но я не знаю, куда его аккуратно вставить.

 # WPN-XM Server Stack 
 # 
 # Nginx Server Setup Example 
 # for an Application based on the Laravel Framework 
 # 
 # Do not forget to add an hosts entry for http://laravel.dev 
 # 
 server 
 { 
     listen       127.0.0.1:80; 
     root         www/laravel/public; 

     # Make site accessible from http://laravel.dev/ 
     server_name laravel.dev; 


     index   index.php index.html; 


     location / { 
         # Request Order: serve request as file, then as directory, 
         # then fall back to displaying a 404. 
         try_files $uri $uri/ /index.php?$query_string; 
     } 


     location ~ \.php$ { 
         try_files $uri /index.php =404; 
         fastcgi_split_path_info ^(.+\.php)(/.+)$; 
         fastcgi_pass   127.0.0.1:9100; 
         fastcgi_index  index.php; 
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
         include fastcgi_params; 
     } 
 } 

1 ответ

Есть несколько вещей, которые кажутся неправильными.

Сначала вы должны использовать абсолютный путь для корневой директивы. Затем вы хотите получить доступ к приложению с помощью http://laravel.dev/ но вы читали, что написано выше: # Do not forget to add an hosts entry for http://laravel.dev Так что если ваш server_name Директива установлена ​​на http://laravel.dev/ вы должны будете добавить 127.0.0.1 laravel.dev в ваш файл hosts. Наконец, папка журнала nginx пуста, потому что журнал ошибок не определен.

Поэтому я бы порекомендовал следующий блок сервера внутри вашего nginx.conf

# WPN-XM Server Stack
#
# Nginx Server Setup Example
# for an Application based on the Laravel Framework
#
# Do not forget to add an hosts entry for http://laravel.dev
#
server {
    listen 127.0.0.1:80;
    root /www/nerds/public; ## Use absolute paths for root directive

    # Make site accessible from http://localhost
    server_name localhost;

    error_log logs/error.log;

    index index.php index.html;


    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root www; ## I let it as default WPN-XM config despite what I said above
    }

    location ~ \.php$ {
       try_files $uri /index.php =404;
       fastcgi_split_path_info ^(.+\.php)(/.+)$;
       fastcgi_pass 127.0.0.1:9100;
       fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       include fastcgi_params;
   }
} 

Этот конфиг предполагает, что:

  • ботаники ваша папка приложения laravel
  • public - это публичный каталог вашего приложения laravel.
  • Вы получаете доступ к приложению, используя http://localhost/. Если вы хотите изменить это, не забудьте изменить файл hosts и server_name директивы.
  • Вы найдете журналы nginx в панели управления WPN-XM
Другие вопросы по тегам