В этой статье мы узнаем, как настроить экземпляр AWS EC2 для подготовки к развертыванию вашего проекта Laravel.
Предпосылки
- Аккаунт AWS
- Экземпляр AWE EC2 (Elastic Cloud Computing) Linux (Ubuntu)
- Ваш проект Laravel
Процесс развертывания
Войдите в свой инстанс EC2, используя ssh как root.
Обновите свои библиотеки
$apt update
Веб-сервер Apache
Чтобы установить apache в ubuntu, запустите:
$apt install apache2
Теперь, когда мы успешно установили Apache, мы можем изменить его содержимое в /var/www/html
.
Тест веб-сервера Apache
Скопируйте свой общедоступный IP-адрес и получите доступ к нему через ваш любимый веб-браузер:
Установите PHP и сопутствующие пакеты
$apt-get install php -y $apt-get install php7.4-cli php7.4-common php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-intl php7.4-mysql php7.4-xml php7.4-zip -y
Протестируйте php, распечатав его версию:
$php -v
Результат должен быть примерно таким:
Установить Композитор
$php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" $php composer-setup.php $php -r "unlink('composer-setup.php');" $mv composer.phar /usr/local/bin/composer
Установить нпм
$apt install npm
Установить и настроить сервер Mysql
$apt-get install mysql-server
Далее определим новый пароль для пользователя «root»:
$mysql mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_new_password';
Чтобы войти в mysql
$mysql -p
И введите свой пароль.
Создание базы данных
mysql> CREATE DATABASE db_name; mysql> SHOW DATABASES;
Конфигурация проекта
Используя git, клонируйте свой репозиторий в /var/www/html/app
.
Если какая-либо из следующих операций не имеет разрешений для запуска, обновите разрешения папки:
$chmod 777 -R app
Установите зависимости проекта:
$npm i $composer u
Из вашей локальной среды скопируйте файл .env в папку на сервере. И настройте информацию о базе данных следующим образом:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=db_name DB_USERNAME=root DB_PASSWORD=my_new_password
Перезапустите Апач:
$service apache2 restart
И получить доступ к вашему приложению из веб-браузера.
Ошибка, которую вы можете получить
Маршруты API: 404 не найдено
В файле /etc/apache2/apache2.conf
добавьте следующий код:
<Directory
/var/www/html/app/public> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
В файле /etc/apache2/sites-enabled/000-default.conf
измените корневой путь документа на путь вашего проекта:
DocumentRoot /var/www/html/app/public
И включите режим перезаписи apache2:
sudo a2enmod rewrite
Перезапустите apache, чтобы применить изменения:
sudo service apache2 restart
Теперь вы можете получить доступ к своему приложению Laravel в корне общедоступного IP-адреса, предоставленного AWS EC2.
Я надеюсь, что это может быть полезно. Наслаждаться!
Дополнительные материалы на plainenglish.io