YUMSERV
article thumbnail
반응형

PHP-FPM을 이용하여 한서버 안에 여러 PHP버전을 설치할 수 있으며, 동시에 사용 가능합니다.

php.ini 파일은 각 버전마다 다르게 설정해주어야 합니다.


※ 설치환경 : CentOS 7.6

※ Apache : 2.4 Mysql : 5.6 PHP : 5.6 7.0 7.2


1. PHP 설치시에는 Configure 옵션 설정

하이라이트로 된 부분은 컴파일 옵션 시에 추가해야 하며, 빨간색 부분은 각 설치환경마다 다르게 설정해주어야 합니다.


# ./configure \

--prefix=/usr/local/php56 \

--enable-fpm \

--with-fpm-user=nobody \

--with-fpm-group=nobody \

--with-config-file-path=/usr/local/php56/etc \

--enable-sigchild \

--with-libxml-dir \

--with-openssl \

--with-zlib \

--with-mysqli \

--with-zlib-dir\

--with-bz2 \

--enable-calendar \

--with-curl \

--enable-dba \

--with-gdbm \

--enable-exif \

--enable-ftp \

--with-gd \

--with-jpeg-dir \

--with-png-dir \

--with-freetype-dir \

--enable-gd-native-ttf \

--with-gettext \

--with-imap=/usr/local/imap-2007f \

--with-imap-ssl \

--with-kerberos \

--enable-mbstring \

--with-mhash \

--with-mcrypt \

--enable-sockets \

--enable-sysvmsg \

--enable-sysvsem \

--enable-sysvshm \

--enable-wddx \

--enable-opcache \

--enable-zip \

--with-pdo-mysql \

--with-snmp \

--enable-intl


# make && make install


# cp -arp php.ini-development /usr/local/php56/etc/php.ini

# cp -arp /usr/local/php56/etc/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf

# cp -arp sapi/fpm/init.d.php-fpm /etc/init.d/php56-fpm

# chmod 700 /etc/init.d/php56-fpm

# chkconfig --add php56-fpm

# chkconfig php56-fpm on


php 7.0 이상의 경우 아래 설정도 추가해주어야 합니다.

# cp -arp /usr/local/php70/etc/php-fpm.d/www.conf.default \

/usr/local/php70/etc/php-fpm.d/www.conf



2. 설정파일 수정

PHP 5.6의 경우는 php-fpm.conf파일을 수정합니다.

PHP 7.0이상 버전의 경우 php-fpm.d/www.conf 파일을 수정합니다.

PHP 5.6은 9000, 7.0은 9001, 7.2는 9002로 지정하였습니다.


PHP 5.6

# vi /usr/local/php56/etc/php-fpm.conf

listen = 127.0.0.1:9000


PHP 7.0

# vi /usr/local/php70/etc/php-fpm.d/www.conf

listen = 127.0.0.1:9001


PHP 7.2

# vi /usr/local/php72/etc/php-fpm.d/www.conf

listen = 127.0.0.1:9002



3. PHP-FPM 시작 후 동작 확인


# service php56-fpm start

Starting php-fpm  done

# service php70-fpm start

Starting php-fpm  done

# service php72-fpm start

Starting php-fpm  done


# netstat -nltp | grep php

tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      15306/php-fpm: mast

tcp        0      0 127.0.0.1:9001          0.0.0.0:*               LISTEN      15347/php-fpm: mast

tcp        0      0 127.0.0.1:9002          0.0.0.0:*               LISTEN      15361/php-fpm: mast



4. 가상호스트 설정 후, index.php 확인


test.xyz 라는 도메인을 이용하여 테스트 진행하였습니다.

가상호스트 설정으로 아래와 같이 설정하였으며, proxy 모듈을 추가해주어야 합니다.


<VirtualHost *:80>

    DocumentRoot "/home/www/php56/"

    ServerName php56.test.xyz

    <IfModule proxy_fcgi_module>

        ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/home/www/php56/$1

    </IfModule>

    ErrorLog "logs/php56-test.xyz-error_log"

    CustomLog "logs/php56-test.xyz-access_log" common

</VirtualHost>



URL로 들어가서 버전별로 확인합니다.




반응형

'LINUX > WEB' 카테고리의 다른 글

SSL 에러 (unable to load certificate)  (0) 2021.07.12
CentOS8 - Apache + Mysql + PHP 소스설치  (0) 2020.01.08
WAS WEB 분리  (1) 2019.06.13
Cronolog 설치  (0) 2019.06.03
awstats 설치 및 설정  (0) 2019.06.03
profile

YUMSERV

@lena04301

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!