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

Сценарий таков, что я разработал приложение Laravel на своем локальном хосте. Все нормально работает. Теперь мне нужно запустить его в онлайн. Я просто пытаюсь понять, какие шаги (конфигурация, безопасность и т. Д.) Мне следует предпринять, прежде чем я подключу его к сети.

Я перечисляю несколько шагов:

1) Измените файл .env, чтобы среда указывала на рабочий режим с помощью APP_ENV=production.

2) Избегайте показа ошибок прямо на страницах, так как это может раскрыть внутренности приложения. Вместо этого включите ведение журнала ошибок.

3) Используйте кеширование для более быстрого взаимодействия с пользователем. 4) Создайте красивую страницу 404, которая не найдена.

Что еще я должен предпринять, чтобы перевести приложение из режима разработки в рабочий режим?


person Istiaque Ahmed    schedule 09.01.2020    source источник


Ответы (3)


  1. Apply changes to .env file:
    • APP_ENV=production
    • APP_DEBUG=false
  2. Make sure that you are optimizing Composer's class autoloader map (docs):
    • composer dump-autoload --optimize
    • или при установке: composer install --optimize-autoloader --no-dev
    • или во время обновления: composer update --optimize-autoloader
  3. Оптимизация загрузки конфигурации:

    • php artisan config:cache
  4. Оптимизация загрузки маршрута

    • php artisan route:cache
  5. Compile all of the application's Blade templates:
    • php artisan view:cache
  6. Кэшируйте файлы начальной загрузки фреймворка:

    • php artisan optimize
  7. (Необязательно) Компиляция ресурсов (docs):

    • npm run production
  8. (Необязательно) Создайте ключи шифрования, необходимые для Laravel Passport (docs):

    • php artisan passport:keys
  9. (Необязательно) Запустите планировщик задач Laravel, добавив следующую запись Cron (docs):

    • * * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
  10. (Необязательно) Установите, настройте и запустите Supervisor (документы):

  11. (Optional) Create a symbolic link from public/storage to storage/app/public (docs):
    • php artisan storage:link

person Hafez Divandari    schedule 09.01.2020
comment
php artisan optimize не нужен с Laravel 5.5 - person Amir Asyraf; 09.01.2020
comment
Текущая оптимизация @AmirAsyraf аналогична вызову config:cache и route:cache, однако я предпочел упомянуть об этом из-за возможных изменений поведения в будущем. - person Hafez Divandari; 09.01.2020

конфигурация

  • установите app_debug в false
  • убедитесь, что вы устанавливаете правильные разрешения для папки

Безопасность

  • используйте сертификат ssl -> вы можете выполнить настройку с помощью nginx или apache для того же
  • перенаправить все запросы на https после настройки ssl
  • установить очень надежный пароль базы данных
  • если в вашем приложении есть API, используйте регулирование API
person Chirag Chaudhari    schedule 09.01.2020
comment
что вы имеете в виду, используя дросселирование API? - person Fernando Torres; 23.02.2021
comment
@FernandoTorres, пожалуйста, обратитесь по этой ссылке - laravel.com/docs /8.x/routing#attaching-rate-limiters-to-routes - person Chirag Chaudhari; 09.03.2021

Есть несколько шагов, которые вы можете проверить

  1. Установите стек LEMP или LAMP.
  2. Вы можете проверить / добавить PHP и зависимости для Laravel
  3. Проверьте функциональность своего сайта
  4. Оптимизировать размер изображения
  5. Дополнение Google Analytics и SEO
  6. Проверить валидацию w3
  7. Оптимизация скорости страницы
person Md Asaduzzaman    schedule 09.01.2020
comment
кроме 5 и, возможно, 7, все остальные точки должны быть протестированы на localhost, верно? - person Istiaque Ahmed; 09.01.2020