> 백엔드 개발 > PHP 튜토리얼 > Ubuntu에서 쉬운 Laravel 배포: LEMP 스택을 사용한 초보자 가이드

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

Mary-Kate Olsen
풀어 주다: 2024-09-20 06:55:32
원래의
639명이 탐색했습니다.

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
로그인 후 복사

Conclusion:

You’ve successfully deployed a Laravel application on an Ubuntu server using the LEMP stack. From here, you can continue to develop your application, secure it, and monitor it for performance.

If you encounter any issues, check the Nginx error logs at /var/log/nginx/error.log or Laravel logs at /var/www/laravel_app/storage/logs/laravel.log.

With these steps, you've completed a full hands-on Laravel deployment!

위 내용은 Ubuntu에서 쉬운 Laravel 배포: LEMP 스택을 사용한 초보자 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿