1. root 권한으로 작업
먼저, remi 리포에서 php7.2 버전을 설치합니다.
yum install php72 php72-php-common php72-php-fpm
yum install php72-php-mysql php72-php-gd php72-php-mbstring php72-php-mcrypt php72-php-xml php72-magickwand php72-php-pecl-zip php72-pecl-imagick
기존 php 버전과 충돌이 되지않드록 디렉토리를 생성하고 퍼미션을 조정합니다.
mkdir /var/run/php72-fpm
mkdir /var/lib/php72
mkdir /var/lib/php72/nginx-session
mkdir /var/lib/php72/nginx-wsdlcache
mkdir /var/lib/php72/nginx-opcache
cd /var/lib/php72
chmod 770 *
chown root.nginx *
nginx 에서 php-fpm 연결 부분을 생성된 디렉토리쪽으로 지정합니다.
(생략)
root /home/gslee/html/laravel56/public;
(생략)
location ~ \.php$ {
try_files $uri =404;
fastcgi_keep_conn on;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php72-fpm/laravel56.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
이제부터 부분이 핵심이라고 할 수 있습니다. php 7.2.x 용 php-fpm 설정 파일을 생성하고 php72-php-fpm 을 실행합니다.
vi /etc/opt/remi/php72/php-fpm.d/laravel56.conf
[laravel56]
listen = /var/run/php72-fpm/laravel56.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
user = gslee
group = nginx
pm = dynamic
pm.max_children = 5
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 2
chdir = /home/gslee/html/laravel56
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php72/nginx-session
php_value[soap.wsdl_cache_dir] = /var/lib/php72/nginx-wsdlcache
php_value[opcache.file_cache] = /var/lib/php72/nginx-opcache
systemctl restart nginx
systemctl start php72-php-fpm
2. 설치 계정에서 작업
php72 의 alias 를 지정합니다.
vi .bash_profile
(생략)
alias php='/usr/bin/php72'
라라벨 설치를 위해서 coposer 를 로컬 경로에 설치합니다.
curl -sS https://getcomposer.org/installer | php
라라벨을 설치합니다.
php composer.phar create-project --prefer-dist laravel/laravel laravel56
브라우저에서 확인합니다.
php 버전이 맞지 않아 laravel 명령어 또는 composer 가 실행되지 않을 경우, .bash_profile 의 PATH 에서 $HOME/.config/composer/vendor/bin 를 맨 앞에 지정합니다. 그런 다음 .config/composer/vendor/bin 에서 ln -s /usr/bin/php72 php 를 실행합니다. 이렇게함으로 스크립트 #!/usr/bin/env php 가 php72 를 가리키도록 할 수 있습니다.(Laravel 5.8 기준)
기본 php 를 변경하는 방법은, 아래 명령을 루트 권한으로 실행한 후 재접속하면 됩니다.
scl enable php72 bash
yum 의 기본 php 를 변경하려면 다음을 실행합니다. 이때 info 명령어로 현재 php 의 버전을 확인할 수 있습니다.
yum info php
yum-config-manager --enable remi-php72
yum 또는 dnf 업데이트시 www.conf 가 버전별로 설치되면서, 포트 9000 에서 충돌이 발생합니다. 따라서 www.conf 파일의 모든 설정을 사용하지 않는 형태로 생성두어 충돌을 방지하여야합니다.
'서버 > 리눅스' 카테고리의 다른 글
간단한 보안 검사하기 (0) | 2019.05.30 |
---|---|
CentOS7, 아마존 리눅스 Let's Encrypt 무료 인증서 사용하기 (0) | 2018.06.18 |
CentOS7 nginx 에서 http/2 적용하기 (0) | 2017.08.29 |
cron hourly 오류 메일이 계속 수신될 경우... (0) | 2016.08.10 |
RoundCube 웹메일 설치하기 - nginx, php-fpm, CentOS 7 (0) | 2016.05.27 |
댓글