웹사이트 검색

Ubuntu 20.04에서 Nginx와 함께 Laravel PHP 프레임워크를 설치하는 방법


Laravel은 표현력이 풍부하고 우아한 구문으로 잘 알려진 세계에서 가장 인기 있는 무료 오픈 소스 PHP 프레임워크입니다. Laravel은 접근성이 뛰어나고 강력하며 크고 강력하며 현대적인 애플리케이션에 필요한 최고의 웹 개발 도구 중 일부를 제공합니다.

이 문서에서는 Nginx 웹 서버에서 실행되는 Ubuntu 20.04 서버에 Laravel PHP 프레임워크를 설치하는 방법을 알아봅니다.

전제조건

  • Ubuntu 20.04에서 PhpMyAdmin을 사용하여 LEMP 스택을 설치하는 방법

1단계: 필수 PHP 모듈 설치

위 링크의 가이드에 설명된 대로 Ubuntu 20.04 서버에 LEMP 스택을 설정한 후 다음과 같이 Laravel에 필요한 추가 PHP 확장을 설치해야 합니다.

sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer

2단계: Laravel용 데이터베이스 생성

다음으로, Laravel 애플리케이션을 위한 MySQL 데이터베이스를 생성해야 합니다. 따라서 mysql 셸에 로그인하고 다음과 같이 데이터베이스를 생성하세요.

sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

3단계: Ubuntu 20.04에 Composer 설치

LaravelComposer(PHP의 종속성 관리자)를 활용하여 종속성을 관리합니다. 따라서 Laravel을 사용하기 전에 그림과 같이 Composer가 시스템에 설치되어 있는지 확인하세요.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

4단계: Ubuntu 20.04에 Laravel 설치

Composer를 설치한 후 이를 사용하여 Laravel 파일을 설치합니다. 웹 파일이 저장된 /var/www/html 디렉토리로 이동한 다음 표시된 대로 작성기를 사용하여 Laravel을 설치합니다. example.com을 Laravel 파일이 저장될 디렉터리 이름으로 바꾸는 것을 잊지 마세요.

cd /var/www/html
composer create-project --prefer-dist laravel/laravel example.com

5단계: Ubuntu 20.04에서 Laravel 구성

새로운 Laravel 설치 내용을 나열하려면 다음 ls 명령을 실행하세요. 과거에는 수동으로 생성해야 했던 .env 파일이 자동으로 생성되었음을 알 수 있습니다.

ls -la /var/www/html/example.com/

그런 다음 Laravel 디렉터리에 다음과 같이 적절한 권한을 설정합니다.

sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/

다음으로, Laravel은 애플리케이션 키를 사용하여 사용자 세션 및 기타 암호화된 데이터를 보호합니다. 기본 .env에는 기본 애플리케이션 키가 포함되어 있지만 보안을 위해 laravel 배포를 위해 새 키를 생성해야 합니다.

sudo php artisan key:generate

생성된 키는 APP_KEY 값으로 .env 파일에 추가됩니다. grep 명령을 사용하여 추가된 키를 볼 수 있습니다.

grep -i APP_Key /var/www/html/example.com/.env

또한 다음 스크린샷에 표시된 대로 .env에서 Laravel 데이터베이스 연결 세부정보를 구성해야 합니다.

sudo nano /var/www/html/example.com/.env

6단계: Laravel 애플리케이션을 제공하도록 NGINX 구성

NGINX가 새 애플리케이션을 제공하려면 /etc/nginx/sites-available/ 디렉토리 아래 NGINX 구성 내에서 서버 블록을 생성해야 합니다.

sudo nano /etc/nginx/sites-available/example.com.conf

아래 구성에서 Laravel 애플리케이션의 공개 디렉터리에 대한 루트 지시문을 업데이트하고 표시된 대로 www.example.com을 웹 사이트의 도메인 이름으로 바꾸세요.

또한 fastcgi_pass 지시문이 PHP-FPM이 요청을 수신하는 매체를 가리켜야 한다고 설정합니다(예: fastcgi_pass unix:/run/php/php7.4 -fpm.sock):

server{
        server_name www.example.com;
        root        /var/www/html/example.com/public;
        index       index.php;

        charset utf-8;
        gzip on;
        gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

파일을 저장한 다음 /etc/nginx/sites-available/example.com.conf에서 /etc/nginx/sites-enabled/로의 링크를 생성하여 Laravel 사이트 구성을 활성화합니다. 디렉토리. 게다가 기본 서버 블록 구성을 제거합니다.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

그런 다음 서비스를 다시 시작하기 전에 다음 명령을 실행하여 NGINX 구성 구문이 올바른지 확인하세요.

sudo nginx -t
sudo systemctl restart nginx

7단계: 웹 브라우저에서 Laravel 애플리케이션에 접근하기

이 단계에서는 Laravel 배포가 제대로 작동하는지, 브라우저에서 액세스할 수 있는지 테스트해야 합니다. 더미 도메인인 example.com을 사용하려면 로컬 컴퓨터의 /etc/hosts 파일을 사용하여 로컬 DNS를 생성해 보겠습니다.

다음 명령을 실행하여 Laravel 서버의 IP 주소를 가져와 /etc/hosts 파일에 추가하세요(설정에 따라 값을 바꾸세요).
$IP 광고
$echo "192.168.56.11 example.com" | sudo tee -a /etc/hosts

이제 로컬 컴퓨터에서 웹 브라우저를 열고 다음 주소를 사용하여 탐색하십시오.

http://www.example.com/

이제 Laravel이 설치되었으므로 웹 애플리케이션이나 사이트 구축을 시작할 수 있습니다. 자세한 내용은 Laravel 설명서를 참조하세요.