Ubuntu 20.04(Amazon EC2 서버)에 Multi-PHP 버전을 설치하는 방법

6152 단어 phpubuntuawsec2
때로는 서로 다른 애플리케이션이 필요하지만(여러 PHP 버전이 실행 중임) 단일 서버에 있어야 합니다. 따라서 이 블로그에서는 단계별로 수행하고 원하는 PHP 버전을 정의하도록 NGINX를 구성할 것입니다.
AWS EC2 서버와 OS를 Ubuntu 20.04로 사용하겠습니다. 하지만 원하는 기계에서도 할 수 있습니다.

1단계: 먼저 PHP 저장소 추가



기본적으로 Ubuntu 20.04는 PHP 버전 7.4와 함께 제공됩니다. 따라서 여러 PHP 버전을 설치하려면 시스템에 PHP 리포지토리를 추가해야 합니다.

apt-get install software-properties-common gnupg2 -y


모든 종속성이 설치되면 다음 명령을 사용하여 PHP 리포지토리를 추가합니다.

add-apt-repository ppa:ondrej/php


이제 다음 명령으로 리포지토리를 업데이트합니다.

apt-get update -y


2단계: 여러 버전의 PHP 설치(7.2, 7.4, 8.0 및 8.1)



여러 PHP 버전을 설치하려면 다음 명령을 사용합니다.
  • PHP 7.2용

  • apt-get install php7.2 php7.2-fpm php7.2-cli -y
    


  • PHP 7.4용

  • apt-get install php7.4 php7.4-fpm php7.4-cli -y
    


  • PHP 8.0용

  • apt-get install php8.0 php8.0-fpm php8.0-cli -y
    


  • PHP 8.1의 경우

  • apt-get install php8.1 php8.1-fpm php8.1-cli -y
    


    이 시점에서 모든 PHP 버전이 시스템에 설치됩니다.

    명령줄의 기본 PHP 버전 설정



    그 전에 먼저 다음 명령으로 PHP가 실행 중인 CLI의 현재 버전을 확인하십시오.

    php --version
    


    다음 출력이 표시되어야 합니다.

    PHP 8.0.5 (CLI) (built: May 3, 2021 11:30:57) ( NTS )
    Copyright (c) The PHP Group
    Zend Engine v4.0.5, Copyright (c) Zend Technologies
       with Zend OPcache v8.0.5, Copyright (c), by Zend Technologies
    


    보시다시피 PHP8.0은 기본 PHP 명령줄 버전입니다. 이제 아래 명령을 사용하여 기본 명령줄 PHP 버전을 PHP 7.4로 설정합니다.

    update-alternatives --config php
    


    아래와 같이 기본 PHP 버전을 설정하라는 메시지가 표시됩니다.

    There are 3 choices for the alternative php (providing /usr/bin/php).
    
      Selection    Path             Priority   Status
    ------------------------------------------------------------
    * 0            /usr/bin/php8.0   80        auto mode
      1            /usr/bin/php7.2   72        manual mode
      2            /usr/bin/php7.4   74        manual mode
      3            /usr/bin/php8.0   80        manual mode
    
    Press "enter" to keep the current choice[*], or type selection number: 2
    update-alternatives: using /usr/bin/php7.4 to provide /usr/bin/php (php) in manual mode
    


    이제 원하는 버전을 선택하고 "Enter"를 눌러 기본 버전을 설정하십시오.
    이제 다음 명령을 사용하여 기본 PHP 버전을 확인하십시오.

    php --version
    


    이제 CLI에서 실행 중인 7.4 버전이 표시됩니다.

    4단계: Nginx를 사용하여 여러 PHP 버전 간 전환



    Nginx 가상 호스트와 PHP-FPM을 구성하여 여러 PHP 버전 간에 쉽게 전환할 수 있습니다.
    PHP-FPM(Fast CGI Process Manager)은 모든 규모의 사이트, 특히 사용량이 많은 사이트에 유용한 몇 가지 추가 기능이 있는 대체 PHP Fast CGI 구현입니다.
    먼저 다음 명령을 사용하여 Nginx 서버 패키지를 설치합니다.

    apt-get install nginx -y
    


    다음으로 Nginx 서버에서 사용하는 PHP 버전을 테스트해야 합니다.
    이렇게 하려면 nginx 웹 루트 디렉터리에 info.php 파일을 만듭니다.

    nano /var/www/html/info.php
    


    편집기 안에 다음 줄을 추가합니다.

    <?php phpinfo(); ?>
    


    파일을 저장하고 닫습니다.

    중요 포인트


  • 이제 동일한 서버에서 다른 PHP 버전을 사용하려면 아래와 같이 NGINX 기본 가상 호스트 구성 파일을 편집해야 합니다.

  • nano /etc/nginx/sites-enabled/default
    


    그런 다음 모든 행을 제거하고 다음 행을 추가하십시오.

    server { # php/fastcgi
            listen       80;
            server_name _;
            root /var/www/html/;
            index info.php;
            access_log /var/log/nginx/access_log;
            error_log /var/log/nginx/error_log;
            location ~ \.php$ {
                    try_files $uri =404;
                    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    include fastcgi_params;
            }
    }
    


    다음 출력이 표시되어야 합니다.

     nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
      nginx: configuration file /etc/nginx/nginx.conf test is successful
    


    그런 다음 NGINX를 다시 시작하여 변경 사항을 적용합니다.

    sysytemctl restart nginx
    


    마지막으로 웹 브라우저를 열고 서버 IP(공개 IPv4 주소)를 사용하여 info.php 페이지에 액세스합니다.
    다음 명령을 통해 서버의 공용 IP를 얻을 수 있습니다.

    curl icanhazip.com
    




  • 우리의 경우 nginx 서버에서 PHP 버전 7.4와 같은 다른 버전을 사용하려면 아래와 같이 Nginx 기본 가상 호스트 구성 파일을 편집하십시오.

  • nano /etc/nginx/sites-enabled/default
    


    이제 다음 줄을 찾으십시오.

    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    


    f=below 명령으로 바꿉니다.

    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    


    파일을 저장하고 닫은 다음 Nginx를 다시 시작하여 변경 사항을 적용합니다.

    systemctl restart nginx
    


    이제 Enter 키를 누르면 PHP 버전 7.4가 실행되는 것을 볼 수 있습니다http://your-server-ip/info.php.


    요약: 이 블로그의 목표는 LAMP 또는 LEMP 스택에서 서로 다른 PHP 버전으로 여러 웹 애플리케이션을 호스트하는 데 도움을 주는 것입니다.

    좋은 웹페이지 즐겨찾기