LEMP 스택(Linux, Nginx, MySQL, PHP)을 사용하여 Ubuntu에 Laravel 애플리케이션을 배포하는 것은 어려워 보일 수 있지만 단계별로 세분화하면 관리가 용이해집니다. 이 가이드는 서버 설정부터 Laravel 애플리케이션 배포까지의 과정을 안내합니다.
서버가 최신 상태인지 확인하는 것부터 시작하세요.
sudo apt update && sudo apt upgrade -y
Nginx가 귀하의 애플리케이션을 서비스할 것입니다.
sudo apt install nginx -y
설치한 후에는 Nginx를 시작하고 부팅 시 실행할 수 있도록 활성화할 수 있습니다.
sudo systemctl start nginx sudo systemctl enable nginx
브라우저에서 서버의 IP 주소를 방문하여 Nginx가 실행되고 있는지 확인할 수 있습니다.
다음으로 MySQL 데이터베이스 서버를 설치하겠습니다.
sudo apt install mysql-server -y
MySQL 설치 보안:
sudo mysql_secure_installation
루트 비밀번호를 설정하고 안전하지 않은 기본값을 제거하라는 메시지가 표시됩니다.
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: ...)
루트 사용자로 MySQL 콘솔에 로그인합니다.
sudo mysql
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;
새 데이터베이스 사용자가 연결할 수 있는지 확인하세요.
mysql -u laravel_user -p
비밀번호를 묻는 메시지가 나타나면 다음을 입력하세요.
SHOW DATABASES;
목록에 laravel_app이 표시되어야 합니다.
Laravel은 Composer를 종속성 관리자로 사용합니다. 설치 작곡가:
sudo apt install composer -y
Laravel을 설치하려는 디렉토리(예: /var/www/)로 이동합니다.
cd /var/www/ composer create-project --prefer-dist laravel/laravel laravel_app
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
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
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 주소로 바꾸세요.
활성화된 사이트에 대한 심볼릭 링크를 생성하여 새로운 Nginx 구성을 활성화합니다.
sudo ln -s /etc/nginx/sites-available/laravel_app /etc/nginx/sites-enabled/
Nginx 구성을 테스트하여 구문 오류가 없는지 확인하세요.
sudo nginx -t
모든 것이 정상이면 Nginx를 다시 시작하세요.
sudo systemctl reload nginx
Laravel 마이그레이션을 실행하여 데이터베이스를 설정하세요.
cd /var/www/laravel_app php artisan migrate
이제 브라우저에서 서버의 IP나 도메인으로 이동하여 Laravel 애플리케이션에 액세스할 수 있습니다. 기본 Laravel 시작 페이지가 표시됩니다.
도메인이 있는 경우 Let's Encrypt로 사이트를 보호하세요.
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d your_domain
SSL 인증서 설치 지침을 따르세요. Certbot은 HTTP 트래픽을 HTTPS로 리디렉션하도록 Nginx를 자동으로 구성합니다.
큐는 백그라운드에서 이메일 전송, 작업 처리 등의 작업을 처리합니다.
php artisan queue:work
캐시 지우기, 매일 이메일 보내기 등과 같은 작업에 Laravel의 작업 예약 기능을 사용하세요.
sudo crontab -e
다음 줄을 추가하세요.
* * * * * php /var/www/laravel_app/artisan schedule:run >> /dev/null 2>&1
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!