Amazon Lightsail에 Laravel 애플리케이션 배포
소개
Amazon Lightsail은 AWS에서 제공하는 고정 월별 VPS 서비스입니다. 선택한 OS를 설치하면 거의 모든 애플리케이션을 실행할 수 있습니다. 이 애플리케이션에서는 내가 가장 좋아하는 백엔드 프레임워크 중 하나인 Laravel을 배포하는 방법을 보여줍니다. 여러분 대부분이 들어보셨을 것입니다. 배포해 보겠습니다.
저는 Laravel을 좋아하지 않습니다/알지 못합니다
Laravel을 좋아하지 않거나 알지 못한다면 완전히 괜찮습니다. Laravel은 제가 시연하기 위해 선택한 프레임워크일 뿐이지만 모든 앱이 될 수 있습니다. Node.js, Python, Django, Fast API, Ruby on Rails 또는 기타 앱이 될 수 있습니다. 아이디어는 동일하지만 일부 배포 단계는 다를 수 있습니다.
전제 조건
배포하려면 Laravel 앱이 필요합니다. 없는 경우 걱정하지 마십시오. 인터넷에서 찾을 수 있는 최선Laravel (v9) app이 필요합니다(말장난 의도).
Laravel 앱을 배포해 보겠습니다. 📦👉☁️
Amazon Lightsail 인스턴스 생성
(A) 올바른 것을 선택하지 않은 경우 선택한 AWS 리전 및 가용 영역(AZ)을 변경합니다. (B) Linux/Unix 플랫폼을 선택합니다. (C) OS로 Ubuntu(20.04 LTS)를 선택합니다. 청사진은 OS 전용이어야 합니다. (D) 계획을 선택합니다. (E) 이름을 지정하고 (F) 페이지 하단에서 인스턴스 만들기 버튼을 누릅니다.
고정 IP 할당
읽기how to assign a Static IP to an Amazon Lightsail Instance .
SSH를 사용하여 인스턴스에 연결
ℹ️ I described in detail How to connect to an Amazon Lightsail instance using SSH.
# Change "path/to/keyfile.pem" with your key file name
chmod 400 path/to/keyfile.pem
#format
ssh -i "path/to/keyfile.pem" <username>@<ip_address>
# Should look like this with your own value
# ssh -i "LightsailDefaultKey-us-east-1.pem" [email protected]
yes
를 입력하면 로그인됩니다. 필요한 스크립트 설치
서버가 생성되고 비어 있습니다. 필요한 항목에 따라 원하는 스크립트를 설치할 수 있습니다. 이 데모에서는 Laravel을 사용할 것입니다. 다른 앱/스택이 있어도 따라갈 수 있습니다.
sudo apt-get update
sudo apt install curl git unzip -y
저는 최신 PHP 8.1을 좋아합니다. Ubuntu 20.04에서는 아직 공식적으로 사용할 수 없습니다. PHP 리포지토리를 활성화하여 PHP 8.1을 설치합니다.
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt install php8.1-fpm php8.1-cli php8.1-mysql php8.1-curl php-xml php-mbstring -y
php --version
명령을 사용하여 PHP 버전을 확인하십시오. 다음과 같은 내용이 표시되어야 합니다.# Download the bin file
curl -sS https://getcomposer.org/installer | php
# Move it to correct path
sudo mv composer.phar /usr/local/bin/composer
# Make it executeable
sudo chmod +x /usr/local/bin/composer
sudo apt install nginx -y
# go to www directory
cd /var/www/html
# clone the git repo
sudo git clone https://github.com/HarunRay/laravel-to-lightsail.git
# go to application directory
cd laravel-to-lightsail
# copy .env.example file
cp .env.example .env
# Install dependencies
sudo composer install
sudo vim /etc/nginx/sites-available/laravel
이 코드를 붙여넣습니다.
52.201.59.133
를 자신의 IP 주소로 변경하고 저장합니다.server {
listen 80;
listen [::]:80;
server_name 52.201.59.133;
root /var/www/html/laravel-to-lightsail/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
이제 다음을 실행합니다.
# link nginx config
sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
sudo systemctl start nginx
sudo systemctl enable nginx
# Go to your laravel app directory
cd /var/www/html/laravel-to-lightsail/
# Add files & folder www-data user & group
sudo chown -R www-data:www-data .
# Add your ubuntu to group
sudo usermod -a -G www-data ubuntu
# Set file(s) permission
sudo find . -type f -exec chmod 644 {} \;
# Set folder(s) permission
sudo find . -type d -exec chmod 755 {} \;
# Set cache directory permission
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
sudo php artisan key:generate
.env
파일 업데이트파일 열기
sudo vim /var/www/html/laravel-to-lightsail/.env
이제 이 값을 변경하십시오.
APP_ENV=production
# Change IP to yours
APP_URL=http://52.201.59.133
이제 공용 IP 주소로 이동합니다. 내 것은
http://52.201.59.133
입니다. 이 시작 페이지가 표시되어야 합니다.축하합니다. Laravel 앱이 Amazon Lightsail 인스턴스에서 시작되었습니다. 🚀
결론
다음 기사에서는 데이터베이스, 로드 밸런서 및 Redis(Elasticache)를 구성할 것입니다. 저를 팔로우하고 my newsletter을 구독하세요 .
Reference
이 문제에 관하여(Amazon Lightsail에 Laravel 애플리케이션 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-builders/deploy-laravel-application-to-amazon-lightsail-5e8g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)