Я пытаюсь настроить среду разработки на виртуальной машине под управлением Ubuntu 14.04 LTS использование Nginx и HHVM. Чтобы сделать это, я следовал учебному руководству здесь.
Это подходит к новой установке Laravel. Но когда я импортирую существующий проект Laravel 4 и пытаюсь открыть это на своей фактической машине (который будет служить клиентом, запускающим Windows 7), я получаю 404 Файла Не Найденная ошибка на экране при соединении с http://sav.savrichard.dev. Я действительно добавлял это к файлу hosts с корректным IP-адресом.
Виртуальная машина получает запрос и отвечает 404 ошибками.
Как я решаю эту ошибку? Я довольно плохо знаком с Ubuntu, таким образом, я не абсолютно уверен что случилось.
Проект расположен в
/var/www/sav.savrichard.net
Конфигурация сервера следующие:
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;
}
}
И 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;
}
Отредактируйте 1 (13-06-2014)
Я пытался сделать новую установку с помощью другой Ubuntu 14.04 VM, но я получаю ту же ошибку при попытке получить доступ к корневому каталогу через localhost в браузере. Ошибка, как прошлый раз, 404 Файла, Не Найденные.
Отредактируйте 2 (13-06-2014)
Как запросом roadmr, вот записи в доступе и журналах ошибок.
Журнал доступа
Чтение записей как это:
192.168.174.1 - [13/Jun/2014:10:16:45 - 0700] "ДОБИРАЮТСЯ / HTTP/1.1" 404 49 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, как Геккон)
Журнал ошибок
Да, журнал ошибок является на самом деле пробелом.
Отредактируйте 3 (13-06-2014)
Добавленный та же запись в Ubuntu размещает файл, как я имею в машине Windows. Тот же результат.
Отредактируйте 4 (13-06-2014)
Возможно, полезно отметить, что локальный IP-адрес VM Ubuntu 192.168.174.130, и локальная машина, запускающая Windows 7, 192.168.2.105
найденный решением уже? это происходит, потому что скопированные файлы от другого компьютера дают разрешение 600 для файлов и папок. необходимо изменить разрешение для файлов 644 и 755 для папок, за исключением папки приложения/устройства хранения данных (Laravel 4), и папка устройства хранения данных (для laravel 5) должна иметь 775 разрешений.. эта строка ниже помогает мне.. Я вполне уверен, это поможет Вам также.. Я использую Laravel 4.2, поэтому если Вы используете Laravel 5, изменяете Ваш путь для папки устройства хранения данных
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
Я хотел бы попробовать возможное решение Вами сегодня. Отредактируйте свой конфигурационный файл. В try_files
замена строки целая строка с try_files $uri $uri/ /index.php?$query_string;