>백엔드 개발 >PHP 문제 >php5.6 php-fpm 컴파일 및 설치 방법

php5.6 php-fpm 컴파일 및 설치 방법

藏色散人
藏色散人원래의
2021-12-17 11:16:353310검색

php5.6 php-fpm 컴파일 및 설치 방법: 1. php 종속성 패키지를 설치하고 php5.6.36 버전을 다운로드합니다. 2. 소프트웨어 설치 디렉터리를 "/usr/local/php"로 지정합니다. PHP를 구성하고 구문 분석할 수 있습니다.

php5.6 php-fpm 컴파일 및 설치 방법

이 기사의 운영 환경: ubuntu16.04 시스템, php5.6.36 버전, Dell G3 컴퓨터.

php5.6 php-fpm nginx 설치 및 구성

오늘은 php 버전 기반의 웹사이트를 발견하고, 인터넷에 접속해서 정보를 수집하고 설치해보았습니다.
1. 먼저 PHP 종속성 패키지를 설치하세요.

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers gd gd2 gd-devel gd2-devel perl-CPAN pcre-devel

2. php5.6.36 버전 다운로드

http://php.net/get/php-5.6.36.tar.gz/from/a/mirror

php-fpm 구성 요소 설명

LNMP 환경의 nginx는 php를 지원하지 않으며, php 관련 요청을 처리하려면 fastcgi 플러그인이 필요합니다. PHP에서는 이 기능을 제공하기 위해 php-fpm 구성 요소가 필요합니다. php5.3.3 이전 버전에서는 php-fpm이 패치 패키지 형태로 존재했는데, php5.3.3 이후에는 별도로 설치하지 않고 컴파일 및 설치 시 --enable-fpm만 사용하면 모듈을 로드할 수 있습니다.

3. php 설치

먼저 php를 설치할 디렉터리를 생성하세요

cd /etc/
mkdir php
cd /usr/local/
mkdir php
tar -xzvf php-5.6.36.tar.gz
cd php-5.6.36

다음 구성에서 소프트웨어 설치 디렉터리를 /usr/local/php로, 구성 파일 설치 디렉터리를

/etc/php
./configure --prefix=/usr/local/php --with-config-file-path=/etc/php --enable-fpm --enable-pcntl --enable-mysqlnd --enable-opcache --enable-sockets --enable-sysvmsg --enable-sysvsem  --enable-sysvshm --enable-shmop --enable-zip --enable-ftp --enable-soap --enable-xml --enable-mbstring --disable-rpath --disable-debug --disable-fileinfo --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pcre-regex --with-iconv --with-zlib --with-gd --with-openssl --with-mhash --with-xmlrpc --with-curl --with-imap-ssl


Thank you for using PHP.
config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/fpm/php-fpm.conf
config.status: creating sapi/fpm/init.d.php-fpm
config.status: creating sapi/fpm/php-fpm.service
config.status: creating sapi/fpm/php-fpm.8
config.status: creating sapi/fpm/status.html
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands


[root@localhost php-5.6.36]# make
[root@localhost php-5.6.36]# make install

로 지정하세요. 소프트웨어 설치 디렉터리 보기 Content

[root@localhost php-5.6.30]# ls /usr/local/php
bin  etc  include  lib  php  sbin  var

구성 파일 템플릿을 구성 파일 디렉터리에 복사

[root@localhost php-5.6.30]# cp php.ini-development /etc/php/php.ini

소프트 연결 만들기

[root@localhost ~]# ln -s /usr/local/php/bin/php /usr/bin/php
[root@localhost ~]# ln -s /usr/local/php/bin/phpize /usr/bin/phpize
[root@localhost ~]# ln -s /usr/local/php/sbin/php-fpm /usr/bin/php-fpm

설치된 버전 보기

[root@localhost ~]# /usr/local/php/bin/php --version
[root@localhost ~]# cd /usr/local/php/etc/
[root@localhost ~]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@localhost ~]# ln -s /usr/local/php/etc/php-fpm.conf /etc/php/php-fpm.conf #添加软连接到 /etc/php目录
[root@localhost ~]# vim /usr/local/php/etc/php-fpm.conf
pid = run/php-fpm.pid #取消前面的分号
[root@localhost ~]# cp 源码目录/php-5.6.36/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录
 
[root@localhost ~]# chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
 
[root@localhost ~]# chkconfig php-fpm on #设置开机启动

포트가 사용 중인지 확인

[root@localhost ~]# netstat -tunlp |grep 9000

시작 service

[root@localhost ~]# cd /etc/rc.d/init.d/
[root@localhost ~]# ./php-fpm start
[root@localhost ~]# netstat -tunlp |grep 9000
[root@localhost ~]# ps -ef|grep fpm

4. nginx 구문 분석 php

1. nginx 디렉터리

[root@localhost ~]# cd /usr/local/nginx/conf

를 입력합니다. 2. 서버

[root@localhost ~]# vim nginx.conf

에서 구성 파일을 편집합니다. .php 요청 기본적으로 백엔드의 php-fpm 모듈로 전송됩니다. 이때 php 구성 블록은 주석 처리되어 있습니다. 이때 주석을 제거하고 다음 내용으로 수정합니다.

location / {
    root html;
    index index.html index.htm 
index.php
;    #加上index.php,让nginx服务器默认支持index.php为首页
}

nginx를 저장하고 다시 로드

       location ~ \.php$ {
            root /usr/local/nginx/html;   #修改html路径
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME 
$document_root
$fastcgi_script_name;   #这里原来是/scripts,需要改成$document_root
            include fastcgi_params;
        }


5. 관련 쿼리 1. php-cgi 프로세스

[root@localhost ~]# /usr/local/nginx/nginx -s t
[root@localhost ~]# /usr/local/nginx/nginx -s reload
http://192.168.1.11/index.php

2. tcp 요청을 처리하는 데 사용되는 php-cgi 프로세스 수를 확인하는 명령을 사용하세요

 ps -fe |grep "php-fpm"|grep "pool"|wc -l

3. linux+nginx+php 환경에서는 각 php-fpm 프로세스의 메모리 제한

설정 방법:

Edit the php-fpm.conf 구성 파일

php_admin_value[memory_limit] = 128M(제 서버의 구성 파일은 /etc/php5/fpm/pool.d/www.conf 이 파일은 php-fpm.conf에 포함되어 있습니다. 다음 숫자는 마음대로 변경할 수 있습니다: 32M, 64M, 128M, 256M, 512M 이 설정은 쓸 수 있습니다. 서버 메모리 크기와 필요에 따라 수정 후 php-fpm 서비스를 로드해야 합니다

권장 학습: "
PHP 비디오 튜토리얼

"

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

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