이 글은 주로 자세한 설명을 소개합니다Linux설치 PHP 환경을 설정하고 특정 참조 값이 있는 php-fpm 모듈을 지원하도록 구성합니다. 관심 있는 친구는 이를 참조할 수 있습니다.
다음은 CentOS 7.2를 예로 들어 PHP 운영 환경을 엽니다. 공식 웹사이트에서 다운로드를 클릭하여 다운로드 페이지로 이동하세요. 여기에서 최신 버전의 PHP 7.0.5 소스 코드 패키지를 다운로드하세요:
PHP 설치에는 컴파일이 필요하므로 서버는 gcc 및 g++ 환경이 설치되어 있는지 확인해야 합니다.
먼저 설치 패키지 릴리스:
tar -xvzf php-7.0.5.tar.gz cd php-7.0.5
다음으로 매개변수를 구성합니다. libxml2가 없으면 libxml2-devel이 오류를 보고하므로 libxml2를 업데이트하고 libxml2-devel을 설치해야 합니다.
yum -y install libxml2 yum -y install libxml2-devel
또한 운영 체제 환경이 다르기 때문입니다. , 시스템 설치 개발 환경 패키지의 완성도도 다르므로 운영 체제를 설치할 때 필요한 항목을 선택하는 것이 좋습니다. 이미 제거된 구성 요소를 설치하려면 모든 명령을 한 번에 실행할 수도 있습니다. 버전이 완전히 동일한 경우 위 두 가지를 제외한 명령은 수행되지 않습니다. 또한 요약은 다음과 같습니다.
yum -y install openssl yum -y install openssl-devel yum -y install curl yum -y install curl-devel yum -y install libjpeg yum -y install libjpeg-devel yum -y install libpng yum -y install libpng-devel yum -y install freetype yum -y install freetype-devel yum -y install pcre yum -y install pcre-devel yum -y install libxslt yum -y install libxslt-devel yum -y install bzip2 yum -y install bzip2-devel
기본적으로 위 패키지로 충분합니다. 문제가 발견되면 추가해주세요. 설치가 완료된 후 구성을 실행하세요.
코드는 다음과 같습니다.
./configure --prefix=/usr/local/php --with-curl --with-freetype- dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with- mysql i --with-openssl --with-pcre-regex --with- pdo -mysql --with-pdo- sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-m hash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mb string --enable- opcache --enable-pcntl --enable-shmop --enable- soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip
사실 여기에는 위보다 더 많은 구성 항목이 있습니다. ./configure --help 명령을 사용하면 모든 옵션을 볼 수 있습니다. 여기서 php7에서는 --with-mysql 기본 지원이 더 이상 존재하지 않으며 작업이 mysqli 또는 pdo로 변경되었습니다. 나중에 필요한 경우 해당 모듈을 수동으로 활성화한 다음
컴파일을 수행할 수 있습니다.
make
컴파일이 완료된 후 컴파일 시간이 약간 길어질 수 있습니다. 설치 실행:
make install
php의 기본 설치 위치는 /usr/local/php로 지정되었습니다. 다음으로 해당 파일을 구성합니다:
cp php.ini-development /usr/local/php/lib/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp sapi/fpm/php-fpm /usr/local/bin
를 사용하고 php.ini를 사용합니다. : vim /usr/local/php/lib/php.ini php구성 파일을 열고 cgi.fix_pathinfo 구성 항목을 찾으세요. 이 항목은 기본적으로 주석 처리되어 있습니다. 공식 문서에 따르면 이는 파일이 존재하지 않을 때 Nginx가 백엔드 PHP-FPM 모듈에 요청을 보내는 것을 방지하여 악의적인 스크립트 삽입 공격을 방지하기 위한 것이므로 이 항목의 주석 처리를 제거하고 0으로 설정
설정 후 저장 후 종료
또 주목해야 할 점은 php.ini 구성의 위치입니다. 파일은 사전 컴파일 구성 매개변수에서 설정할 수 있으며 컴파일 매개변수는 다음과 같이 작성할 수 있습니다. --with-config-file-path=/usr/local/php 이 경우 PHP는 지정된 디렉터리로 돌아가서 php.ini 구성 파일을 읽으십시오. 이 매개변수가 추가되지 않으면 기본 위치는 PHP 설치 디렉토리 아래의 lib 디렉토리가 되며, php.ini가 배치된 경우 세부사항을 볼 수도 있습니다. 다른 위치에 있고 PHP가 읽을 수 없으면 모든 구성 수정 사항이 적용되지 않습니다.
먼저 웹 사용자를 만들어야 합니다:
groupadd www-data useradd -g www-data www-data
그런 다음 일부 온라인 자습서에서는 다음과 같이 말합니다. php-fpm.conf를 수정하여 위에서 생성한 사용자 및 그룹을 추가합니다. 이때 vim /usr/local/etc/php-fpm.conf를 사용합니다. 파일을 연 후 공식에서 묻는 위치를 찾을 수 없습니다.
이 때 임의의 위치에 추가하면 php-fpm을 시작할 때 디렉터리에 오류가 발생하므로 사용자를 추가하지 마세요. php-fpm.conf에 그룹을 지정합니다. 이때 php-fpm.conf 마지막 줄로 가면 다음과 같은 내용이 나옵니다. (컴파일 시 --prefix 옵션을 추가하면 위치가 자동으로 지정됩니다. 완료됨, 아래 기본값은 비어 있습니다. 참고):
php-fpm.d 디렉토리의 모든 conf 구성 파일이 여기에 소개되어 있지만 NONE으로 수정해야 합니다. 실제 디렉터리: /usr/local
기본적으로 etc/php-fpm.d/ 아래에 www.conf.defalut라는 구성이 있습니다. 사용자 파일의 경우 다음을 실행합니다. 다음 명령을 사용하여 새 파일을 복사하고 엽니다.
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf vim /usr/local/etc/php-fpm.d/www.conf
기본 사용자 및 그룹 설정은 none입니다. www-data로 변경하세요
After 수정이 완료되면 저장하고 종료한 후 다음 명령을 실행하여 php-fpm 서비스를 시작합니다.
/usr/local/bin/php-fpm
시작 후 php-fpm 서비스는 기본적으로 포트 9000을 사용합니다. netstat -tln | 포트를 보려면:
9000端口正常使用,说明php-fpm服务启动成功
然后执行 vim /usr/local/nginx/nginx.conf
编辑nginx配置文件,具体路径根据实际的nginx.conf配置文件位置编辑,下面主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:
然后配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:
这里面很多都是默认的,root是配置php程序放置的根目录,主要修改的就是fastcgi_param中的/scripts为$document_root
修改完上面的,回到nginx.conf第一行,默认是#user nobody; 这里要去掉注释改为user www-data;或者user www-data www-data;表示nginx服务器的权限为www-data
修改完这些保存并退出,然后重启nginx:
/usr/local/nginx/nginx -s stop /usr/local/nginx/nginx
接下来编辑一个测试的php程序,在nginx下的html目录下创建test.php文件,打印一下php配置:
<?php phpinfo(); ?>
然后打开浏览器输入对应的地址进行访问,看到输出页面,说明nginx和php都配置成功了:
相关文章:
위 내용은 Linux에서 PHP 환경을 설치하고 php-fpm 모듈을 지원하도록 Nginx를 구성하는 방법에 대한 자세한 소개(그림 및 텍스트)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!