>  기사  >  백엔드 개발  >  nginx php-fpm 설치 방법

nginx php-fpm 설치 방법

藏色散人
藏色散人원래의
2021-05-24 09:10:142102검색

nginx php-fpm 설치 방법: 먼저 PHP 소스 코드 패키지를 다운로드하여 서버에 업로드한 다음 설치 패키지를 릴리스하고 매개변수를 구성한 다음 컴파일을 수행하고 마지막으로 php-fpm.conf를 수정합니다.

nginx php-fpm 설치 방법

이 문서의 운영 환경: CentOS 7.2 시스템, PHP 버전 7.0.5, DELL G3 컴퓨터

Linux에 php 환경을 설치하고 php-fpm 모듈을 지원하도록 Nginx를 구성합니다.

다음 작업이 필요합니다. PHP 설치 예시인 CentOS 7.2 환경을 실행하려면 먼저 PHP 공식 웹사이트 http://php.net/을 열고 탐색 모음에서 다운로드를 클릭하여 다운로드 페이지인 http://php.net/downloads로 들어갑니다. 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 libxml2yum -y install libxml2-devel

보충, 운영 체제 환경이 다르기 때문에 시스템 설치 개발 환경 패키지의 완성도도 다르므로 필요할 때 필요한 선택을 하는 것이 좋습니다. 설치되지 않은 구성요소를 설치하기 위해 모든 명령을 균일하게 실행할 수도 있습니다. 위의 두 명령을 요약하면 다음과 같습니다.

yum -y install opensslyum -y install openssl-develyum -y install curlyum -y install curl-develyum -y install libjpegyum -y install libjpeg-develyum -y install libpngyum -y install libpng-develyum -y install freetypeyum -y install freetype-develyum -y install pcreyum -y install pcre-develyum -y install libxsltyum -y install libxslt-develyum -y install bzip2yum -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-mysqli --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-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --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; 일반적인 PHP 개발에서는 위의 옵션으로 충분합니다. 나중에 필요한 경우 해당 모듈을 수동으로 활성화하도록 선택할 수 있습니다.

  그런 다음 컴파일을 실행합니다.

make

  컴파일 시간이 약간 길어질 수 있습니다. , 컴파일 완료 후 설치 실행:

make install

 php의 기본 설치 위치는 /usr/local/php로 지정되었으며 해당 파일을 구성합니다:

cp php.ini-development /usr/local/php/lib/php.inicp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.confcp sapi/fpm/php-fpm /usr/local/bin

그런 다음 php.ini를 설정합니다. 사용: vim /usr/local/php/lib/php.ini php 구성 파일을 열고 cgi.fix_pathinfo 구성 항목을 찾으세요. 이 항목은 기본적으로 주석 처리되어 있으며 값은 1입니다. 공식 문서에 따르면 , 이는 파일이 존재하지 않는 경우 악성 스크립트 삽입 공격을 피하기 위해 Nginx가 백엔드 PHP-FPM 모듈에 요청을 보내는 것을 방지하므로 이 항목의 주석 처리를 제거하고 0으로 설정해야 합니다. php.ini 구성 파일의 구성 매개변수는 사전 컴파일 구성 매개변수에서 설정할 수 있습니다: --with-config-file-path=/usr/local/php. php.ini 구성 파일을 읽으십시오. 이 매개변수를 추가하지 않으면 기본 위치는 php 설치 디렉토리 아래의 lib 디렉토리입니다. phpinfo() 출력 인터페이스에서도 확인할 수 있습니다. ini가 다른 위치에 있으면 PHP가 이를 읽을 수 없습니다. 그러면 모든 구성 수정 사항이 적용되지 않습니다. 이 점에 유의하세요

  此时首先应该创建web用户:

groupadd www-data
useradd -g www-data www-data

  然后网上一些教程说让修改php-fpm.conf添加以上创建的用户和组,这时候使用 vim /usr/local/php/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/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
vim /usr/local/php/etc/php-fpm.d/www.conf

  默认user和group的设置为nobody,将其改为www-data

  

  修改完成之后,保存并退出,然后执行以下命令启动php-fpm服务:

/usr/local/bin/php-fpm

  启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -tln | grep 9000 可以查看端口使用情况:

  

  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都配置成功了:

  推荐学习:《PHP视频教程

위 내용은 nginx php-fpm 설치 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.