模块安装---PHP

编译环境:gcc  gcc-c++   pcre-devel  openssl-devel   libxml2   libxml2-devel   bzip   bzip-devel

1、解压缩安装包

tar xf php-5.0.5.tar.bz2

2、安装的选项

./configure  --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts

--with-mysql=/usr/local/mysql :告诉mysql在什么地方

--with-openssl :能够支持openssl功能

--with-mysqli=/usr/local/mysql/bin/mysql_config :这是一种让php与mysql交互的接口

--enable-mbstring :让php支持各种语言

--with-freetype-dir :自由的可移植的字体库,能够引用特定字体

--with-jpeg-dir :支持图片的

--with-png-dir :支持图片的

--with-zlib :互联网上通用格式的压缩库(我们的数据文件先压缩后发送)

--with-libxml-dir=/usr :扩展标记语言库

--enable-xml :支持扩展标记语言

--enable-sockets :让你的php支持基于套接字的通信

--with-apxs2=/usr/local/apache/bin/apxs :将它编译成Apache的模块,把这一项改为--enable-fpm :启用fastCGI模式。

--with-mcrypt :支持加密功能 ,额外的加密库

--with-config-file-path=/etc :php配置文件的目录

--with-config-file-scan-dir=/etc/php.d :

--with-bz2  :压缩库

--enable-maintainer-zts :加不加这一项,得看Apache,若为perfork模型不用加,若为event模型或work就要加这一项。

安装中出现的错误可以去百度搜!

安装完成之后进行 make && make install

3、php的配置文件

在安装目录中有两个主配置文件

php.ini-development:一个用于开发环境

php.ini-production:一个用于生产环境

放在/etc目录下,名称为php.ini即可!

cp  php.ini-production  /etc/php.ini

配置好配置文件之后不要启动,因为把他编译成Apache模块!

4、编译安装完成之后,文件在/usr/local/php/,这里面提供的都是一些基本文件。

bin  :php的命令行工具

etc  :为php的其他的子项目所提供的配置文件的存放路径

include  :头文件

lib  :库文件

php  :php帮助手册

var  :

php本身已经安装好了

在第二行已经说明,php的serverAPI模块,他为我们的Apache2添加了一个处理器,让Apache2可以以模块化的方式调用php!

安装路径在第7行叫‘libphp5.so’

5、php与apache结合

到此php本身的配置已经可以了,下面配置是php与Apache结合起来使用

这得需要修改Apache的配置文件来实现

首先得让Apache能够处理php结尾的配置文件

编辑Apache的主配置文件,在AddType这里添加一行

AddType appkication/x-httpd-php .php   --->支持php结尾的文件

AddType appkication/x-httpd-php-source .phps   --->支持phps的文件

6、同时,我们的Apache也应该有php结尾的页面

修改为<IfModule dir_module>

DirectoryIndex  index.html  index.php   --->支持HTML的页面同时支持php的页面

</IfModule>

修改完成之后重新启动!

7、切换到我们的网页默认目录

cd /usr/local/apache/htdocs/

更改网页文件名称: mv index.html index.php

更改内容:

fastcgi---PHP(独立安装)

(1)编译安装php

tar xf php-5.6.10.tar.bz2

cd php-5.6.10

./configure --prefix=/usr/local/php --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-libxml-dir=/usr --with-openssl --with-zlib --with-bz2 --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --with-mcrypt --enable-sockets --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd  --enable-maintainer-zts

提示:

yum -y install bison-devel  gcc gcc-c++ bison-devel  libxml2-devel  openssl-devel  bzip2 bzip2-devel

一、安装gcc 由于是独立的主机 需要配置环境 yum -y install gcc

二、 –with-mysql几个选项都要为mysqlnd;因为mysql服务器单独为另一台主机

三、为了支持apache的worker或event这两个MPM,编译时使用了–enable-maintainer-zts选项。

四、error: xml2-config not found. Please check your libxml2 installation.安装libxml2-devel yum -y install libxml2-devel

五、 error: Cannot find OpenSSL's <evp.h> 安装openssl openssl-devel

六、Please reinstall the BZip2 distribution。 安装bzip2 bzip2-devel .yum install bzip2 bzip2-devel

七、 error: mcrypt.h not found. Please reinstall libmcrypt.安装 libmcrypt libmcrypt-devel 这个需要注意,因为一般的yum源中是没有

这2个package的,所以需要先对其下载安装。

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz获取文件

安装libmcrypt

tar -zxvf libmcrypt-2.5.7.tar.gz

cd libmcrypt-2.5.7

./configure –prefix=/usr/local/libmcrypt

make && make install

安装完毕。

此时需要将php安装的命令中修改 --with-mcrypt=/usr/lib/libmcrypt即可。

make && make install 即可。

(2)配置php

cp php.ini-production /etc/php.ini

配置fpm

为php-fpm提供Sysv init脚本,并将其添加至服务列表:

cp sapi/fpm/init.d.php-fpm  /etc/rc.d/init.d/php-fpm

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

chkconfig –add php-fpm

chkconfig php-fpm on

chkconfig –list php-fpm

为php-fpm提供配置文件:

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

编辑php-fpm的配置文件:

vim /usr/local/php/etc/php-fpm.conf

配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):

listen = 192.168.2.139:9000    指定端口

pm = dynamic   动态创建进程

pm.max_children = 50        最多多少个进程同时在线

pm.start_servers = 5       刚开始启动服务器时启动几个进程

pm.min_spare_servers = 2    最小几个空闲进程

pm.max_spare_servers = 8     最多有几个空闲

;pm.max_requests = 500   最多一次性接受多少请求

pid = /usr/local/php/var/run/php-fpm.pid

接下来就可以启动php-fpm了:

service php-fpm start

可以使用netstat -tunlp 查看 9000端口

(3)连接Apache

修改配置php-fpm的文件vim /usr/local/php/etc/php-fpm 定位到listen =192.168.197.204:9000(本地主机ip地址)

在该主机上新建虚拟主机目录用于存放网页文件

mkdir -pv /var/www/{frank,frankstar,kelly,kellystar}

(4)配置apache虚拟主机使用php

vim /etc/httpd/httpd.conf

注释 #DocumentRoot "/usr/local/apache/htdocs"

并打开启用 Include /etc/httpd/extra/httpd-vhosts.conf

同时定位 AddType;添加下面两行

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

并且定位至DirectoryIndex

<IfModule dir_module>

DirectoryIndex index.php index.html #添加index.php(最好添加在最前面)

</IfModule>

还要启用proxy_module proxy-fcgi_module等

LoadModule proxy_module modules/mod_proxy.so #开启

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #开启

(5)编辑虚拟主机   路径/etc/httpd/extra/httpd-vhosts.conf

<VirtualHost *:80>

ServerAdmin admin@frank.com

DocumentRoot "/usr/local/apache/www/frank"

ServerName www.frank.com

ErrorLog "/usr/local/apache/logs/frank.error_log"

CustomLog "/usr/local/apache/logs/frank.access_log" combined

ProxyRequests off #关闭正向代理

ProxyPassMatch ^/(.*.php)$ fcgi://192.168.197.204:9000/var/www/frank/$1

<Directory "/usr/local/apache/www/frank"> 授权

Options none

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

然后在php服务器上的/var/www/目录下分别建立网页文件,重启服务即可。

(6)为了提高php的性能安装Xcache

在php服务器中安装,Xcache官网下载: http://xcache.lighttpd.net/wiki/Release-3.2.0 这里使用xcache-3.2.0支持php-5.6-10的稳定版

tar xf xcache-3.2.0.tar.bz2

cd xcache-3.2.0

/usr/local/php/bin/phpize

提示:

如果出现 Cannot find autoconf. Please check your autoconf installation and the

$PHP_AUTOCONF environment variable. Then, rerun this script.

需要安装yum -y install m4 autoconf即可

然后./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

make && make install

安装完毕后会出现这么一行 Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

编辑php.ini,整合php和xcache:

首先将xcache提供的样例配置导入php.ini

# mkdir /etc/php.d

# cp xcache.ini /etc/php.d

说明:xcache.ini文件在xcache的源码目录中。

接下来编辑/etc/php.d/xcache.ini,找到extension开头的行,修改为如下行:

extension = /usr/local/php/lib/php/extensions/no-debug-zts-20131226/xcache.so

注意:如果php.ini文件中有多条extension指令行,要确保此新增的行排在第一位。

然后重启服务即在phpinfo的页面中就可看见xcache的选项了。

CentOS6.7安装部署php5(详解安装选项与主配置文件)的更多相关文章

  1. OpenVPN CentOS7 安装部署配置详解

    一 .概念相关 1.vpn 介绍 vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术.在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利 ...

  2. VS2013安装部署过程详解

    注意:缺少安装部署的小伙伴,看上一篇有详细介绍 程序在“Release”平台下编译运行没有错误 第一步:“新建”------“项目”------“其他项目类型”------“安装部署”------“I ...

  3. 详解php概念以及主配置文件

    浏览器仅能够解码HTML格式的文档,对于非HTML格式的文档,浏览器调用插件或者通过CGI接口调用其他程序来解码. 动态网站: 我们在服务器端或客户端执行了一段脚本或者一段程序,这段程序执行的结果根据 ...

  4. 学习笔记--Grunt、安装、图文详解

    学习笔记--Git安装.图文详解 安装Git成功后,现在安装Gruntjs,官网:http://gruntjs.com/ 一.安装node 参考node.js 安装.图文详解 (最新的node会自动安 ...

  5. Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)

    不多说,直接上干货! 写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentO ...

  6. Ubuntu14.04下Cloudera安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)(在线或离线)

    第一步: Cloudera Manager安装之Cloudera Manager安装前准备(Ubuntu14.04)(一) 第二步: Cloudera Manager安装之时间服务器和时间客户端(Ub ...

  7. Ubuntu14.04下Mongodb数据库可视化工具安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Mongodb官网安装部署步骤(图 ...

  8. Ubuntu14.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu14.04下Mongodb(离线安 ...

  9. Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu16.04下Mongodb(离线安 ...

  10. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

随机推荐

  1. 微软SQL Server 2019 全新发布,更新内容亮点都在这里了

    IT之家11月7日消息 在Microsoft   Ignite 2019 大会上,微软正式发布了新一代数据库产品SQL Server 2019.使用统一的数据平台实现业务转型SQL Server 20 ...

  2. apply() 函数家族介绍

    apply() 函数算是R语言中很基础的一个函数,同时还有 sapply()  lapply()  tapply() 函数精简了 apply() 函数的用法. apply() 函数是一个很R语言的函数 ...

  3. Java调用api使用企业邮箱账户发送邮件

    package cn.ucmed.otaka.healthcare.rubik.common; import lombok.extern.slf4j.Slf4j; import javax.mail. ...

  4. js 校验手机号码格式

      手机号码格式简单校验 原理:判断手机号是否以已经发行的手机号码段开头,而且判断其余9位是否是数字. 方式一: var phone = $('#phone').val(); var regex = ...

  5. 2018-2019-2 网络对抗技术 20165230 Exp7 网络欺诈防范

    实验目的 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法. 实验内容 简单应用SET工具建立冒名网站 ettercap DNS spoof 结合应用两种技术,用DNS sp ...

  6. windows下Apache2.4配置php的解析运行

    1.安装php7 2.安装apache2.4 3.找到apache2.4的httpd.conf文件,配置好apache,然后通过httpd.exe -k install -n "servic ...

  7. flink安装启动(docker)

    参考https://hub.docker.com/_/flink/ 相关端口The Web Client is on port 8081JobManager RPC port 6123TaskMana ...

  8. 1-7docke的网络模式

    1.Bridge模式 bridge 模式是 docker 的默认⽹络模式,不写 –net 参数,就是 bridge 模式.比如使⽤ docker run - p 时 工作模式从网上找了一个,如下 例子 ...

  9. 【Kubernetes学习之三】Kubernetes分布式集群架构

    环境 centos 7 一.Kubernetes分布式集群架构1.Kubernetes服务注册和服务发现问题怎么解决的?每个服务分配一个不变的虚拟IP+端口, 系统env环境变量里有每个服务的服务名称 ...

  10. 规范化使用MySQL

    如何更规范化使用MySQL 如何更规范化使用MySQL 背景:一个平台或系统随着时间的推移和用户量的增多,数据库操作往往会变慢:而在Java应用开发中数据库更是尤为重要,绝大多数情况下数据库的性能决定 ...