2015-02-08 3 views
5

Я попытался найти этот вопрос раньше, но, похоже, нигде там, где он подробно объясняется, в основном только части проблемы, такие как app/storage, не были установлены, поэтому веб-сервер может напишите файл, но моя проблема кажется больше и более фундаментальной, я надеюсь, что кто-то может подробно объяснить, как это должно быть настроено, желательно без необходимости устанавливать разрешение на 777.PHP-FPM + разрешение Laravel + Nginx + Ubuntu

Так мой стек Ubuntu 14,04, PHP 5.6 с PHP-FPM потому что я использую Nginx 1.4.6 и я использую Laravel 4,2 в рамках, вл и один больше я использую Git как мой инструмент для управления версиями. Так что это необходимо шаг за шагом, чтобы следующее:

  1. Установка первоначального проекта, Git и Nginx:

    Так, насколько я знаю, Nginx настроен использовать имя пользователя www-data по умолчанию право? Означает ли это, что я должен назначить своего пользователя, например. kevin группе www-data? Когда я инициализирую git, создаю проект, используя композитор, настрою публичный/закрытый ключ SSH, мне нужно принадлежать к группе www-data или мне нужно быть sudo или что? На моем сервере производства я попытался использовать sudo для настройки всего, так как это упростило сделать все, что было выше, но это лучшая практика?

  2. Создание app/storage запись для веб-сервера:

    Я думаю, что это вторая и наиболее важным для Laravel, потому что если это не работает Laravel не будет работать, мое знание, что эта папка должна быть доступна для записи на веб-сервере (nginx), поэтому мне нужно установить это на sudo chown -R www-data:www-data app/storage и sudo chmod -R 664 app/storage правильно? Но почему-то это не работает все время, потому что во время моего развития иногда он скажет, что кеш представления нельзя записать в папку app/storage, поэтому в конце я должен установить его на 777 или 775, если я ' m повезло.

  3. Общая папка или место моих активов

    Здесь у меня есть некоторое несоответствие тоже, я поставил его в конце концов к 777, чтобы гарантировать, что все мои файлы могут быть доступны Nginx. Иногда nginx скажет мне, что какое-то изображение в моей папке с ресурсами кажется запрещенным, и оно будет возвращать только HTTP 200, если я либо установил значение 777, либо изменил группу на www-data:www-data, мне нужно изменить разрешение или группу для каждого изображения что я создал из Gimp, Photoshop, или когда я скачал из Dropbox или из моего письма, когда мой графический дизайнер разрабатывает новые значки?

  4. Файл Загрузить

    Так где-то около того времени, люди будут иметь возможность загружать, например, их фотографию, или когда я отправляю блог я могу загрузить фотографию, это означает, что в какой-то момент сценарий загрузки файла переместит файл из папки /tmp в мою папку public, возможно, потребуется только записать его в подкаталог в public или, возможно, иногда ему необходимо создать папку на основе определенного id и переместить файл в каталог, в большинстве случаев времени я получаю сообщение об ошибке, что каталог не может быть доступен для записи или некоторая ошибка разрешения как таковая во время выполнения скрипта. Означает ли это, что процесс PHP должен быть запущен с определенным разрешением? Или это означает, что каталог должен иметь определенное разрешение? Означает ли эта проблема связь с службой Nginx или относится к процессу PHP ?

    У меня есть опыт, чтобы использовать пакеты, такие как roumen/sitemap или jlapp/swaggervel, они, кажется, используют один и тот же фасад File, но почему-то они не имеют каких-либо проблем с разрешения, я пытаюсь воспроизвести их поведение кода, но я попал в проблему выше.

  5. очереди, Artisan, другой командной строки на основе выполняется скрипт

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

Спасибо, если кто-нибудь может это объяснить. Я думаю, что если я это выясню, я создам сообщение в блоге или что-то еще, оцените его, ребята! : D

+0

О, еще одна вещь, пожалуйста, не согласитесь с Homestead -.- –

ответ

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