웹사이트 검색

Nginx용 Ubuntu에 Laravel 설치


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 우분투 16.04(Xenial Xerus)
  • 우분투 15.10(Wily Werewolf)

이 페이지에서

  1. 사전 요구 사항\n
  2. Nginx 설치
  3. PHP-FPM 설치
  4. Laravel용 Nginx 구성
  5. PHP-FPM 구성
  6. 작성기 설치
  7. 라라벨 설치
  8. 결론

지난 튜토리얼에서 Apache 기반 Ubuntu 서버용 Laravel 설치에 대해 이미 이야기했습니다. 이 튜토리얼은 Nginx 서버 설치에 Laravel PHP 프레임워크를 설치하는 방법을 보여줍니다.

전제 조건

항상 그렇듯이 진행하기 전에 서버가 제대로 업데이트되었는지 확인해야 합니다.

sudo apt-get update
sudo apt-get upgrade

이 자습서는 Ubuntu 기반 서버 설정이 이미 있다는 가정을 기반으로 합니다. 또한 Git이 설치되어 있는지 확인하십시오. 그렇지 않은 경우 가이드에 따라 수행할 수 있습니다.

Nginx 설치

Nginx 서버 설치는 간단하고 간단합니다. 그렇게 합시다.

sudo apt-get install nginx

PHP-FPM 설치

PHP는 Apache와 같은 방식으로 Nginx에서 작동하지 않습니다. Nginx의 경우 PHP-FPM(PHP-FastCGI Process Manager)이라는 PHP의 FastCGI 구현이 필요합니다. 그런 다음 PHP를 설치하겠습니다. 또한 Laravel이 작동하려면 PHP의 Mcrypt 확장이 필요합니다.

sudo apt-get install php5-fpm php5-cli php5-mcrypt

Laravel용 Nginx 구성

진행하기 전에 설치한 Nginx 서버의 기본 구성을 수행해 보겠습니다. 먼저 라라벨이 설치될 디렉토리를 생성해야 합니다.

sudo mkdir -p /var/www/html/laravel

완료되면 이제 Nginx에게 이것이 우리 사이트가 작동할 위치임을 알려야 합니다. 이를 위해 Nginx에서 virtualhost 항목을 생성해야 합니다. Nginx는 /etc/nginx/sites-available/default에 있는 default라는 파일에 기본 구성을 저장합니다. 그것을 복사하고 파일의 우리 자신의 버전을 만들 수 있습니다.

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/laravel

구성 파일을 편집할 수 있습니다.

sudo nano /etc/nginx/sites-available/laravel

당신은 같은 것을 볼 수 있습니다

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /usr/share/nginx/html;
        index index.html index.htm;

        server_name localhost;

        location / {
                try_files $uri $uri/ =404;
        }
}

가독성을 위해 주석을 제거했습니다. 이 경우 /var/www/html/laravel/public이 되는 루트 위치를 변경해야 합니다. 또한 server_name 변수를 사용할 도메인 이름이나 서버의 IP 주소로 변경해야 합니다.

다음과 같이 보이도록 파일을 편집하십시오.

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/html/laravel/public;
    index index.php index.html index.htm;

    server_name server_domain_or_IP;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

편집 후 파일을 저장합니다. 이제 이 구성 파일을 활성화해야 합니다. 지금까지는 기본 프로필만 활성화되어 있습니다. 이렇게 하려면 /etc/nginx/sites-enabled 디렉토리에 laravel 파일에 대한 심볼릭 링크를 생성해야 합니다. 또한 laravel 설치를 방해하지 않도록 기본 프로필을 비활성화해야 합니다.

sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/ 
sudo rm /etc/nginx/sites-enabled/default

Nginx 서버 구성이 완료되었습니다. 다음 단계는 PHP-FPM을 구성하는 것입니다.

PHP-FPM 구성

이 단계는 간단하며 PHP 구성 파일에서 하나의 변수를 변경해야 합니다. php.ini를 여는 시간

sudo nano /etc/php5/fpm/php.ini

그 안에 다음 텍스트를 찾으십시오.

;cgi.fix_pathinfo=1

;을 제거하여 변수의 주석 처리를 제거하십시오. 처럼 보이도록 값을 1로 변경합니다.

cgi.fix_pathinfo=0

이것은 보안 관점에서 중요한 원본 스크립트를 찾을 수 없는 경우 유사한 이름의 스크립트를 실행하지 않도록 PHP에 지시합니다.

마지막으로 이전에 설치한 mcrypt 확장도 활성화해야 합니다.

sudo php5enmod mcrypt

그게 다야. 이제 PHP-FPM 서비스를 다시 시작하여 변경 사항을 로드하십시오.

sudo service restart php5-fpm

작곡가 설치

Composer는 단일 명령을 통해 다양한 PHP 프레임워크 및 라이브러리를 설치할 수 있는 종속성 관리 도구입니다. 수동 경로를 사용하는 경우 프레임워크를 설치하기 위해 별도로 설치해야 하는 다른 모든 패키지와 종속성을 처리합니다. 많은 시간과 번거로움을 줄일 수 있습니다. Composer를 사용하여 Laravel을 설치합니다.

작곡가를 다운로드합니다. 먼저 홈 디렉토리에 있는지 확인하십시오.

curl -sS https://getcomposer.org/installer | php

이렇게 하면 홈 디렉토리에 composer.phar 파일이 다운로드됩니다. 이제 원하는 경우 php composer.phar [command]와 같은 것을 사용하여 여기에서 실행할 수 있지만 작곡가를 전역적으로 실행하는 것을 선호하므로 쉽게 실행할 수 있도록 더 적절한 위치로 이동해야 합니다.

sudo mv composer.phar /usr/local/bin/composer

이제 어디서나 작곡가를 호출하여 직접 실행할 수 있습니다.

라라벨 설치하기

이제 작곡가를 설치했으므로 라라벨을 설치해야 합니다. 다음 명령으로 설치하십시오.

sudo composer create-project laravel/laravel /var/www/html/laravel --prefer-dist

이렇게 하면 최신 버전의 Laravel(현재 5.2)을 서버에 다운로드하여 설치합니다.

자습서를 마치기 전에 일부 디렉터리에 적절한 권한을 부여해야 합니다.

sudo chgrp -R www-data /var/www/html/laravel
sudo chmod -R 775 /var/www/html/laravel/storage

결론

그게 다야. Laravel 설치가 완료되었습니다. 이제 브라우저에서 http://servername 또는 http://serverip를 실행하십시오. 성공하면 다음 화면이 표시됩니다.