Linux에서 PHP 환경을 설치하고 php-fpm 모듈을 지원하도록 Nginx를 구성하는 방법에 대한 자세한 소개(그림 및 텍스트)

黄舟
풀어 주다: 2023-03-06 21:36:01
원래의
2253명이 탐색했습니다.

이 글은 주로 자세한 설명을 소개합니다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都配置成功了:

相关文章:

Mac默认使用自己安装的php

centos6.7安装php7的详细介绍

详细介绍CentOS7编译安装PHP7的示例代码(图)

위 내용은 Linux에서 PHP 환경을 설치하고 php-fpm 모듈을 지원하도록 Nginx를 구성하는 방법에 대한 자세한 소개(그림 및 텍스트)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿