首頁 >後端開發 >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」;3、進行nginx配置解析php即可。

php5.6 php-fpm怎麼編譯安裝

本文操作環境:ubuntu16.04系統,php5.6.36版,Dell G3電腦。

php5.6 php-fpm nginx安裝與設定

        現今發現有網站是基於php版本的,然後上網收集資料後再安裝一次試試。
一、先安裝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

二、下載php5.6.36版本

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

php-fpm元件說明

LNMP環境中的nginx是不支援php的,需要透過fastcgi外掛程式來處理有關php的請求。而php需要php-fpm這個元件提供該功能。在php5.3.3以前的版本php-fpm是以一個補丁包的形式存在的,而php5.3.3以後只需在編譯安裝時使用--enable-fpm加載該模組即可,無需另行安裝。

三、安裝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

查看軟體安裝目錄中的內容

[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

啟動服務

[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

四、nginx設定解析php

1、進入nginx目錄

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

2、編輯設定檔

[root@localhost ~]# vim nginx.conf

在server 下找到

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

往下面配置.php請求被傳送到後端的php-fpm模組,預設情況下php配置區塊是被註解的,此時去掉註解並修改為以下內容:

       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;
        }

儲存後重新載入nginx

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



五、相關查詢
1.透過指令查看伺服器上一共開了多少的php-cgi 行程

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

2.查看已經有多少個php-cgi進程用來處理tcp請求

  netstat -anp|grep "php-fpm"|grep "tcp"|grep "pool"|wc -l

3.linux nginx php環境中,每個php-fpm進程的記憶體限制 

設定方法:

編輯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