微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php5.6 php-fpm怎么编译安装

PHP5.6 PHP-fpm编译安装的方法:1、安装PHP依赖包并下载PHP5.6.36版本;2、指定软件安装目录为“/usr/local/PHP”;3、进行Nginx配置解析PHP即可。

本文操作环境: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教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐