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
LEMP 스택을 사용하여 Ubuntu 서버에 Laravel 애플리케이션을 성공적으로 배포했습니다. 여기에서 계속해서 애플리케이션을 개발하고 보안을 유지하며 성능을 모니터링할 수 있습니다.
문제가 발생하면 /var/log/nginx/error.log에서 Nginx 오류 로그를 확인하거나 /var/www/laravel_app/storage/logs/laravel.log에서 Laravel 로그를 확인하세요.
이러한 단계를 통해 완전한 실습 Laravel 배포가 완료되었습니다!
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3