«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Простое развертывание Laravel в Ubuntu: руководство для начинающих со стеком LEMP

Простое развертывание Laravel в Ubuntu: руководство для начинающих со стеком LEMP

Опубликовано 1 ноября 2024 г.
Просматривать:156

Easy Laravel Deployment on Ubuntu: A Beginner

Развертывание приложения Laravel в Ubuntu со стеком LEMP (Linux, Nginx, MySQL, PHP) может показаться сложной задачей, но пошаговое развертывание делает задачу выполнимой. Это руководство проведет вас через весь процесс от настройки сервера до развертывания приложения Laravel.

Предпосылки:

  • У вас должен быть сервер Ubuntu (локальный или облачный, например, AWS, DigitalOcean).
  • Базовое знакомство с терминалом.
  • доменное имя (необязательно, но рекомендуется).

Часть 1. Настройка стека LEMP

Шаг 1. Обновите систему

Для начала убедитесь, что ваш сервер обновлен.

sudo apt update && sudo apt upgrade -y

Шаг 2. Установите Nginx

Nginx будет обслуживать ваше приложение.

sudo apt install nginx -y

После установки вы можете запустить Nginx и включить его при загрузке:

sudo systemctl start nginx
sudo systemctl enable nginx

Вы можете убедиться, что Nginx работает, посетив IP-адрес вашего сервера в браузере.

Шаг 3: Установите MySQL

Далее мы установим сервер базы данных MySQL.

sudo apt install mysql-server -y

Защитите установку MySQL:

sudo mysql_secure_installation

Вам будет предложено установить пароль root и удалить небезопасные настройки по умолчанию.

Шаг 4. Установите PHP

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: ...)

Часть 2. Настройка MySQL для Laravel

Шаг 1: Войдите в MySQL

Войдите в консоль MySQL как пользователь root:

sudo mysql

Шаг 2. Создайте базу данных

Создайте новую базу данных и пользователя для приложения 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;

Шаг 3. Проверьте базу данных

Убедитесь, что новый пользователь базы данных может подключиться:

mysql -u laravel_user -p

Вам будет предложено ввести пароль, затем введите:

SHOW DATABASES;

Вы должны увидеть laravel_app в списке.


Часть 3: Установка Laravel

Шаг 1: Установите Composer

Laravel использует Composer в качестве менеджера зависимостей. Установить Composer:

sudo apt install composer -y

Шаг 2. Создайте проект Laravel

Перейдите в каталог, в который вы хотите установить Laravel (например, /var/www/):

cd /var/www/
composer create-project --prefer-dist laravel/laravel laravel_app

Шаг 3. Установите разрешения для каталога

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

Шаг 4. Настройте файл .env.

В корне проекта 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

Часть 4. Настройка Nginx для Laravel

Шаг 1. Создайте новый блок сервера Nginx.

Мы создадим файл конфигурации 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-адресом сервера.

Шаг 2. Включите конфигурацию Nginx

Включите новую конфигурацию Nginx, создав символическую ссылку на сайты с поддержкой:

sudo ln -s /etc/nginx/sites-available/laravel_app /etc/nginx/sites-enabled/

Шаг 3. Проверьте и перезагрузите Nginx

Проверьте конфигурацию Nginx и убедитесь в отсутствии синтаксических ошибок:

sudo nginx -t

Если все в порядке, перезапустите Nginx:

sudo systemctl reload nginx

Часть 5: Заключительные шаги

Шаг 1. Запустите миграцию Laravel

Запустите миграцию Laravel, чтобы настроить базу данных:

cd /var/www/laravel_app
php artisan migrate

Шаг 2. Доступ к приложению

Теперь вы сможете получить доступ к приложению Laravel, перейдя по IP-адресу или домену вашего сервера в браузере. Вы увидите страницу приветствия Laravel по умолчанию.

Шаг 3. Включите HTTPS (необязательно, но рекомендуется)

Если у вас есть домен, защитите свой сайт с помощью Let's Encrypt:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain

Следуйте инструкциям по установке сертификата SSL. Certbot автоматически настроит Nginx для перенаправления HTTP-трафика на HTTPS.


Часть 6. Необязательно: настройка очереди и планировщика Laravel

Очередь Ларавел:

Очереди обрабатывают такие задачи, как отправка электронных писем или обработка заданий, в фоновом режиме.

  1. Настройте драйвер очереди (например, Redis или базу данных).
  2. Запустите обработчик очереди Laravel:
   php artisan queue:work

Планировщик Ларавел:

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

  1. Добавьте запись cron Laravel в свой crontab:
   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!

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/mdarifulhaque/easy-laravel-deployment-on-ubuntu-a-beginners-guide-with-lemp-stack-155a?1 Если есть какие-либо нарушения, свяжитесь с Study_golang. @163.com удалить
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3