php5.6.37编译安装,CentOS 6.x源码编译安装LNMP(FastCGI方式)

CGI(Common Gateway Interface,公共网关接口)是Web服务器与外部程序(即CGI程序)之间的接口标准,用于两种不同程序之间的信息传递。 CGI规范允许Web服务器根据浏览器请求调用CGI程序,并将其输出结果通过响应发送给浏览器,从而使Web服务器支持处理复杂的网站业务需求。Web服务器支持CGI的意义不在于性能而在于开发速度。传统CGI性能上存在一个缺陷,就是每当客户端请求CGI时就创建一个新的进程,处理后退出,这种方式在大并发时显得非常低效。而CGI的改良版FastCGI改善了这个缺陷。FastCGI由一个常驻的CGI进程管理一个进程池来处理Web服务器的请求,由此提高了性能。Nginx和PHP均支持FastCGI。

在开始之前,已经完成了MySQL和nginx的安装,可参考:编译安装mysql5.5.59、源码编译安装配置Nginx

1.安装依赖

yum -y install libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel zlib-devel gd-devel libxslt-devel openldap-devel

#由于openldap-devel生成的库文件在/usr/lib64/下,而PHP安装时会到/usr/lib/下读取,所以复制过去

cp -frp /usr/lib64/libldap* /usr/lib/

#由于yum中没有libmcrypt,需要编译安装

wget http://down1.chinaunix.net/distfiles/libmcrypt-2.5.7.tar.gz

tar -xvf libmcrypt-2.5.7.tar.gz

cd libmcrypt-2.5.7

./configure

make && make install

2.编译安装PHP

cd && wget http://jp2.php.net/distributions/php-5.6.37.tar.gz

tar -zxvf php-5.6.37.tar.gz

cd php-5.6.37

./configure --prefix=/usr/local/php --enable-fpm --with-zlib --enable-zip --enable-mbstring --with-mcrypt --with-mysql="/usr/local/mysql" --with-pdo-mysql --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-curl --with-openssl --with-mhash --enable-bcmath --enable-opcache --enable-sockets --with-ldap --with-gettext  --with-mysqli=/usr/local/mysql/bin/mysql_config

make && make install

上述的编译选项,使用大部分PHP项目,例如zabbix,实际生产环境可以根据自己项目特点选择适合的参数。一般来说前缀是enable的用于开启PHP的一些内置功能,前缀是with的依赖于系统中的共享库。

3.配置并启动PHP-FPM

PHP提供的PHP-FPM就是一个FastCGI进程管理器。在启动PHP-FPM之前先创建配置文件,PHP的配置文件主要包括php-fpm.conf和php.ini。

php.ini是PHP主配置文件,包括PHP的核心配置及各种扩展模块的配置,路径为/usr/local/php/lib/php.ini,但默认没安装。在PHP源码包下有两个预设的模板:php.ini-development适合开发环境(方便测试程序)、php.ini-production适合实际上线环境(安全性较高)。

php-fpm.conf是PHP-FPM配置文件,在/usr/local/php/etc/里有个默认模板,更名后即可使用。至此就可以使用/usr/local/php/php-fpm直接启动PHP-FPM,也可以使用PHP源码包中提供的service方式的启动脚本。这里将其复制到/etc/init.d中,再加入到chkconfig开机启动。PHP-FPM启动后默认监听9000端口。

cp ~/php-5.6.37/php.ini-production /usr/local/php/lib/php.ini

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

cp ~/php-5.6.37/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

chkconfig php-fpm on

service php-fpm start

4.配置nginx支持PHP

vim /usr/local/nginx/conf/nginx.conf

#修改server块里内容如下:

listen 80;

server_name localhost;

location / {

root html;

index index.php index.html index.htm;

}

location ~\.php$ {

fastcgi_pass 127.0.0.1:9000;

include fastcgi.conf;

}

#保存后,检查nginx配置通过后重新载入

/usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx -s reload

5.验证测试

echo '<?php echo phpinfo() ?>' /usr/local/nginx/html/index.php

curl 127.0.0.1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
tar zxvf php-5.6.37.tar.gz cd php-5.6.37 #添加组 groupadd www #添加php-fpm用户 useradd -c php-fpm-user -g www -M www # c和c++编译器 yum -y install -y gcc gcc-c++ # PHP扩展依赖 yum install -y libxml2-devel openssl-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-devel ./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --enable-fpm\ --with-fpm-user=www\ --with-fpm-group=www\ --enable-mysqlnd\ --with-mysql=mysqlnd\ --with-mysqli=mysqlnd\ --with-pdo-mysql=mysqlnd\ --enable-opcache\ --enable-pcntl\ --enable-mbstring\ --enable-soap\ --enable-zip\ --enable-calendar\ --enable-bcmath\ --enable-exif\ --enable-ftp\ --enable-intl\ --with-openssl\ --with-zlib\ --with-curl\ --with-gd\ --with-zlib-dir=/usr/lib\ --with-png-dir=/usr/lib\ --with-jpeg-dir=/usr/lib\ --with-gettext\ --with-mhash\ --with-ldap make && make install cp php.ini-production /usr/local/php/etc/php.ini cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm # 设置php-fpm开机自动启动 chmod +x /etc/init.d/php-fpm chkconfig php-fpm on cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf service php-fpm start 设置php为全局命令: 修改/etc/profile文件使其永久性生效,并对所有系统用户生效, 在文件末尾加上如下两行代码: PATH=$PATH:/usr/local/php/bin //php命令路径 如果还要同时加入mysql 则第一句: PATH=$PATH:/usr/local/php/bin:/usr/local/mysql/bin //路径一定要正确 执行 命令source /etc/profile 使用php -V确认 【查看php-fpm端口】 vim /usr/local/php/etc/php-fpm.conf listen = 127.0.0.1:9000

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值