Пример Laravel-приложения для деплоя можно найти на Гитхабе. Также у нас есть туториал по деплою приложения Laravel в Apps.
При сборке приложения используется следующая среда:
Для запуска приложения по умолчанию используется команда:
php artisan serve --host=0.0.0.0 --port=8000
После деплоя для приложения будет автоматически настроен SSL-сертификат, и оно будет открываться по HTTPS. Однако Laravel по умолчанию может продолжать генерировать ссылки с HTTP, что может вызывать ошибки при выполнении AJAX-запросов или отправке форм.
Чтобы принудительно использовать HTTPS, добавьте в файл app/Providers/AppServiceProvider.php
следующий код:
public function boot()
{
URL::forceScheme('https');
}
Не жизнеспособное приложение! Php artisan serve не подходит для продакшена от слова совсем. Нужен полноценный php-fpm + nginx
Добрый день!
Вы правы, php-fpm предпочтительнее для продакшена. Мы рассмотрим возможность перехода, передали информацию коллегам.
Отличная статья, спасибо вам!
Просьба добавить один нюанс, описанный в вашей статье "туториал по деплою приложения Laravel в Apps." :
Важное замечание В своих проектах, которые вы в будущем будете выкладывать на сервис Timeweb Cloud Apps, обязательно добавляйте следующий код в файл app/Providers/AppServiceProvider.php:
public function boot() { URL::forceScheme('https'); }
После авто установки проекта через Apps поймал ошибку с http и если бы не этот нюанс из другой статьи - потратил бы много времени на устранение ошибки.
Добрый день!
Спасибо за замечание. Это действительно важный нюанс. Добавили информацию в статью, чтобы другие пользователи сразу учитывали этот момент.
Мне кажется нужна немного более развернутая информация для настройки проекта, если все сделать как тут написано - ничего не работает правильно. А как же сборка стилей ? Установка зависимостей node js ?
Добрый день!
Решить ваши задачи можно при помощи команды сборки. Например:
Вот пояснение по командам:
—
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt install nodejs -y
: добавляем репозиторий и устанавливаем Node.js.—
npm install -g npm@10.9.0
: обновляем npm.—
npm install
: устанавливаем зависимости, указанные в package.json.—
npm run build
: запускаем команду сборки проекта. Убедитесь, что в package.json определен скрипт build.