"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Ubuntu에서 쉬운 Laravel 배포: LEMP 스택을 사용한 초보자 가이드

Ubuntu에서 쉬운 Laravel 배포: LEMP 스택을 사용한 초보자 가이드

2024-11-01에 게시됨
검색:497

Easy Laravel Deployment on Ubuntu: A Beginner

LEMP 스택(Linux, Nginx, MySQL, PHP)을 사용하여 Ubuntu에 Laravel 애플리케이션을 배포하는 것은 어려워 보일 수 있지만 단계별로 분석하면 관리하기 쉽습니다. 이 가이드는 서버 설정부터 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

브라우저에서 서버의 IP 주소를 방문하여 Nginx가 실행 중인지 확인할 수 있습니다.

3단계: MySQL 설치

다음으로 MySQL 데이터베이스 서버를 설치하겠습니다.

sudo apt install mysql-server -y

MySQL 설치 보안:

sudo mysql_secure_installation

루트 비밀번호를 설정하고 안전하지 않은 기본값을 제거하라는 메시지가 표시됩니다.

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부: Laravel용 MySQL 구성

1단계: MySQL에 로그인

루트 사용자로 MySQL 콘솔에 로그인합니다.

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를 종속성 관리자로 사용합니다. 설치 작곡가:

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부: Laravel용 Nginx 구성

1단계: 새 Nginx 서버 블록 생성

Laravel 프로젝트를 위한 Nginx 구성 파일을 생성하겠습니다.

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단계: 애플리케이션에 액세스

이제 브라우저에서 서버의 IP나 도메인으로 이동하여 Laravel 애플리케이션에 액세스할 수 있습니다. 기본 Laravel 시작 페이지가 표시됩니다.

3단계: HTTPS 활성화(선택 사항이지만 권장됨)

도메인이 있는 경우 Let's Encrypt로 사이트를 보호하세요.

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

안내에 따라 SSL 인증서를 설치하세요. Certbot은 HTTP 트래픽을 HTTPS로 리디렉션하도록 Nginx를 자동으로 구성합니다.


6부: 선택 사항: Laravel 대기열 및 스케줄러 설정

라라벨 대기열:

큐는 이메일 전송, 백그라운드 작업 처리 등의 작업을 처리합니다.

  1. 큐 드라이버(예: Redis 또는 데이터베이스)를 설정합니다.
  2. Laravel 대기열 작업자를 실행합니다.
   php artisan queue:work

라라벨 스케줄러:

캐시 지우기, 매일 이메일 보내기 등과 같은 작업에 Laravel의 작업 예약 기능을 사용하세요.

  1. crontab에 Laravel cron 항목을 추가하세요.
   sudo crontab -e

다음 줄을 추가하세요:

   * * * * * php /var/www/laravel_app/artisan schedule:run >> /dev/null 2>&1

결론:

LEMP 스택을 사용하여 Ubuntu 서버에 Laravel 애플리케이션을 성공적으로 배포했습니다. 여기에서 계속해서 애플리케이션을 개발하고 보안을 유지하며 성능을 모니터링할 수 있습니다.

문제가 발생하면 /var/log/nginx/error.log에서 Nginx 오류 로그를 확인하거나 /var/www/laravel_app/storage/logs/laravel.log에서 Laravel 로그를 확인하세요.

이러한 단계를 통해 완전한 실습 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