클라우드 서버에서 PHP를 지원하도록 nginx를 구성하는 방법은 무엇입니까?
[root@redhat7 ~]# wget /get/php-7.1.2.tar.gz/from/this/mirror
[root@redhat7 ~]# tar xzvf php -7.1.2.tar.gz
[root@redhat7 ~]# cd php-7.1.2/
[root@redhat7 ~]# ./configure --prefix= /usr/local/php --enable-fpm
[root@redhat7 php-7.1.2]# make&&make install
PHP가 성공적으로 컴파일 및 설치되었는지 확인
[root@redhat7 php-7.1.2]# php -v
PHP 7.1.2 (fpm-fcgi) (빌드 날짜: 2017년 4월 14일 20:21:53)
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
컴파일 및 설치 후 PHP에는 다음이 없습니다. php.ini 구성 파일을 이제 /usr/local/lib/php.ini에 복사하세요. php.ini 파일은 일반적으로 /usr/local/lib/ 및 /etc 디렉터리에 있습니다. /p>
[root@localhost php-7.1.2]# cp php.ini-production /usr/local/lib/php.ini
[root@redhat7 php]# /usr/ local/php/sbin /php-fpm
[14-Apr-2017 20:59:49] 오류: '/usr/local/php/etc/php-fpm.conf 구성 파일을 열지 못했습니다. ': 해당 파일이나 디렉터리가 없습니다 (2)
[14-Apr-2017 20:59:49] 오류: '/usr/local/php/etc/php-fpm.conf 구성 파일을 로드하지 못했습니다. conf'
[14-Apr-2017 20:59:49] 오류: FPM 초기화 실패
php-fpm을 시작할 때 구성 파일 /usr/local이 발견되었습니다. /php/etc/php-fpm.conf가 없습니다.
이번에는 구성의 /usr/local/php/etc/php-fpm.conf.default 템플릿만 복사하면 됩니다. 해당 /usr/local /php/etc/php-fpm.conf에 php를 설치할 때 제공되는 파일
[root@redhat7 etc]# /usr/local/php/sbin/php-fpm
p>
[14-Apr- 2017 21:14:32] 경고: /usr/local/의 포함 패턴 '/usr/local/php/etc/php-fpm.d/﹡.conf'와 일치하는 항목이 없습니다. php/etc/php-fpm.conf 125행.
[14-Apr-2017 21:14:32] 오류: 구성 파일에 풀 섹션을 하나 이상 지정해야 합니다.
[14-Apr -2017 21:14:32] 오류: 구성 사후 처리에 실패했습니다.
[14-Apr-2017 21:14:32] 오류: FPM 초기화 실패
[root@ redhat7 등]# cp php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@redhat7 등]# cp /usr/local/php/etc/ php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
[root@redhat7 etc]# /etc/init.d/ php-fpm
[14-Apr-2017 21:23:02] 오류: 주소 '127.0.0.1:9000'에 대한 청취 소켓을 바인딩할 수 없습니다: 주소 이미 사용 중 (98)
[14-Apr-2017 21:23:02] 오류: FPM 초기화 실패
[root@redhat7 etc]# netstat -nldp|grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3721/php-fpm: maste
[root@redhat7 php-7.1.2]# cp sapi/fpm /init.d.php-fpm /etc /init.d/php-fpm
[root@redhat7 php-7.1.2]# chmod a+x /etc/init.d/php-fpm
[root@ redhat7 php-7.1.2]# ll /etc/init.d/php-fpm
-rwxr-xr-x 1 루트 루트 2401 4월 14일 21: 26 /etc/init.d/php -fpm
[root@redhat7 php-7.1.2]# /etc/init.d/php-fpm start
php 시작- fpm [14-Apr-2017 21: 28:09] 오류: 주소 '127.0.0.1:9000'에 대한 수신 소켓을 바인딩할 수 없습니다: 주소가 이미 사용 중입니다(98)
[14-Apr-2017 21:28:09] 오류: FPM 초기화 실패
실패
[root@redhat7 php-7.1.2]# netstat -nldp |grep 9000
tcp 0 0 127.0.0.1:9000 0.0 .0.0:* LISTEN 3721/php-fpm: 마스터
[root@redhat7 php-7.1.2]# kill 3721
[root @redhat7 php-7.1.2]# netstat -nldp |grep 9000
[root@redhat7 php-7.1.2]# /etc/init.d/php-fpm start
php-fpm 시작 완료
[root@redhat7 php-7.1.2]# 서비스 php-fpm 상태
php-fpm(pid 3927)이 실행 중입니다... p>
[root@redhat7 php-7.1.2]# chkconfig --php-fpm 추가
[root@redhat7 php-7.1.2]# chkconfig php-fpm --level 345 켜기
nginx 지원 PHP 구성
nginx 구성 파일 수정, PHP 파일 구문 분석 지원, 위치를 추가할 위치를 찾아 마지막에 다음 위치 추가
위치 ~ .php$ {
root /usr/share/nginx/html; #php의 루트 디렉터리를 지정합니다.
fastcgi_pass 127.0.0.1:9000; php-fpm의 기본 포트는 9000입니다.
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}