Eu gostaria de tentar uma possível solução com você hoje. Edite seu arquivo de configuração. Na linha try_files
, substitua a linha inteira por try_files $uri $uri/ /index.php?$query_string;
Estou tentando configurar um ambiente de desenvolvimento em uma máquina virtual executando o Ubuntu 14.04 LTS usando Nginx e HHVM. Para fazer isso, eu segui o tutorial aqui .
Isso vai bem com uma nova instalação do Laravel. Mas quando eu importo um projeto existente do Laravel 4 e tento abri-lo na minha máquina real (que servirá como o cliente executando o Windows 7), estou recebendo um erro 404 arquivo não encontrado na tela enquanto se conecta ao link . Eu adicionei isso ao arquivo hosts com o endereço IP correto.
A máquina virtual está recebendo a solicitação e responde com um erro 404.
Como resolvo esse erro? Eu sou bem novo no Ubuntu, então não sei exatamente o que está errado.
O projeto está localizado em
/var/www/sav.savrichard.net
A configuração do servidor é a seguinte:
server {
listen 80 default_server;
root /var/www/sav.savrichard.net/public;
index index.html index.htm index.php;
server_name sav.savrichard.dev;
access_log /var/log/nginx/localhost.sav.savrichard.dev-access.log;
error_log /var/log/nginx/localhost.sav.savrichard.dev-error.log error;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; }
error_page 404 /index.php;
include hhvm.conf;
# Deny .htaccess file access
location ~ /\.ht {
deny all;
}
}
E o arquivo hhvm.conf é:
location ~ \.(hh|php)$ {
fastcgi_keep_conn on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Edit 1 (13-06-2014)
Eu tentei fazer uma nova instalação usando um Ubuntu 14.04 VM diferente, mas estou recebendo o mesmo erro ao tentar acessar o diretório raiz através de localhost no navegador. O erro é, como da última vez, 404 arquivo não encontrado.
Edit 2 (13-06-2014)
Como por solicitação do roadmr, aqui estão as entradas nos registros de acesso e erro.
Log de acessos
As entradas são assim:
192.168.174.1 - - [13 / Jun / 2014: 10: 16: 45 -0700] "GET / HTTP / 1.1" 404 49 "-" "Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, como Geco)
Log de erros
Sim, o log de erros está realmente em branco.
Edit 3 (13-06-2014)
Adicionado a mesma entrada para o arquivo host Ubuntu como eu tenho na máquina Windows. O mesmo resultado.
Edit 4 (13-06-2014)
Talvez seja útil notar que o endereço IP local da VM do Ubuntu é 192.168.174.130 e a máquina local que executa o Windows 7 é 192.168.2.105
Eu gostaria de tentar uma possível solução com você hoje. Edite seu arquivo de configuração. Na linha try_files
, substitua a linha inteira por try_files $uri $uri/ /index.php?$query_string;
encontrou uma solução ainda? isso acontece porque arquivos copiados de outro computador dão permissão para arquivos e pastas. você precisa alterar a permissão para arquivos 644 e 755 para pastas, exceto para pasta de armazenamento / aplicativo (Laravel 4) e pasta de armazenamento (para laravel 5) precisa ter permissão 775 .. esta linha abaixo me ajuda .. eu sou bonita com certeza vai te ajudar também..Estou usando o Laravel 4.2, então se você estiver usando o Laravel 5, mude seu caminho para a pasta de armazenamento
sudo find /var/www/project_name \( -type d -exec chmod 755 -- {} + \) -o \( -type f -exec chmod 644 -- {} + \)
sudo chgrp -R www-data /var/www/project_name
sudo chmod -R 775 /var/www/project_name/app/storage