Развертывание приложения Laravel в Ubuntu со стеком LEMP (Linux, Nginx, MySQL, PHP) может показаться сложной задачей, но пошаговое развертывание делает задачу выполнимой. Это руководство проведет вас через весь процесс от настройки сервера до развертывания приложения Laravel.
Для начала убедитесь, что ваш сервер обновлен.
sudo apt update && sudo apt upgrade -y
Nginx будет обслуживать ваше приложение.
sudo apt install nginx -y
После установки вы можете запустить Nginx и включить его при загрузке:
sudo systemctl start nginx sudo systemctl enable nginx
Вы можете убедиться, что Nginx работает, посетив IP-адрес вашего сервера в браузере.
Далее мы установим сервер базы данных MySQL.
sudo apt install mysql-server -y
Защитите установку MySQL:
sudo mysql_secure_installation
Вам будет предложено установить пароль root и удалить небезопасные настройки по умолчанию.
Laravel требует PHP, поэтому давайте установим его вместе с некоторыми необходимыми расширениями:
sudo apt install php-fpm php-mysql php-cli php-xml php-mbstring php-curl php-zip -y
Проверьте установку PHP:
php -v
Вы должны увидеть что-то вроде:
PHP 7.x.x (cli) (built: ...)
Войдите в консоль MySQL как пользователь root:
sudo mysql
Создайте новую базу данных и пользователя для приложения Laravel:
CREATE DATABASE laravel_app; CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON laravel_app.* TO 'laravel_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
Убедитесь, что новый пользователь базы данных может подключиться:
mysql -u laravel_user -p
Вам будет предложено ввести пароль, затем введите:
SHOW DATABASES;
Вы должны увидеть laravel_app в списке.
Laravel использует Composer в качестве менеджера зависимостей. Установить Composer:
sudo apt install composer -y
Перейдите в каталог, в который вы хотите установить Laravel (например, /var/www/):
cd /var/www/ composer create-project --prefer-dist laravel/laravel laravel_app
Laravel требует, чтобы некоторые каталоги были доступны для записи веб-сервером:
sudo chown -R www-data:www-data /var/www/laravel_app sudo chmod -R 775 /var/www/laravel_app/storage sudo chmod -R 775 /var/www/laravel_app/bootstrap/cache
В корне проекта Laravel откройте файл .env и настройте параметры базы данных:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_app DB_USERNAME=laravel_user DB_PASSWORD=strong_password
Мы создадим файл конфигурации Nginx для проекта Laravel.
sudo nano /etc/nginx/sites-available/laravel_app
Добавьте в файл следующую конфигурацию:
server { listen 80; server_name your_domain_or_ip; root /var/www/laravel_app/public; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.x-fpm.sock; # Change this to the correct PHP version. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
Замените your_domain_or_ip фактическим именем домена или IP-адресом сервера.
Включите новую конфигурацию Nginx, создав символическую ссылку на сайты с поддержкой:
sudo ln -s /etc/nginx/sites-available/laravel_app /etc/nginx/sites-enabled/
Проверьте конфигурацию Nginx и убедитесь в отсутствии синтаксических ошибок:
sudo nginx -t
Если все в порядке, перезапустите Nginx:
sudo systemctl reload nginx
Запустите миграцию Laravel, чтобы настроить базу данных:
cd /var/www/laravel_app php artisan migrate
Теперь вы сможете получить доступ к приложению Laravel, перейдя по IP-адресу или домену вашего сервера в браузере. Вы увидите страницу приветствия Laravel по умолчанию.
Если у вас есть домен, защитите свой сайт с помощью Let's Encrypt:
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d your_domain
Следуйте инструкциям по установке сертификата SSL. Certbot автоматически настроит Nginx для перенаправления HTTP-трафика на HTTPS.
Очереди обрабатывают такие задачи, как отправка электронных писем или обработка заданий, в фоновом режиме.
php artisan queue:work
Используйте функцию планирования задач Laravel для таких задач, как очистка кеша, отправка ежедневных электронных писем и т. д.
sudo crontab -e
Добавьте следующую строку:
* * * * * php /var/www/laravel_app/artisan schedule:run >> /dev/null 2>&1
Вы успешно развернули приложение Laravel на сервере Ubuntu, используя стек LEMP. Отсюда вы можете продолжить разработку своего приложения, защитить его и контролировать производительность.
Если у вас возникнут какие-либо проблемы, проверьте журналы ошибок Nginx по адресу /var/log/nginx/error.log или журналы Laravel по адресу /var/www/laravel_app/storage/logs/laravel.log.
Выполняя эти шаги, вы завершили полное практическое развертывание Laravel!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3