首先要下载到apache的源码包,这里我选择下载的是httpd-2.4.25.tar.gz:
wget http://apache.fayea.com/httpd/httpd-2.4.25.tar.gz
下载apr:
wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz
下载apr-utile:
wget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz
下载pcre:
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
安装编译环境:
yum install -y gcc make gcc-c++
1、安装apr
tar zxf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/data/server/apr
make
make install
2、安装apr-utile
tar zxf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/data/server/apr-util --with-apr=/data/server/apr
make
make install
tar zxf pcre-8.40.tar.gz
cd pcre-8.40
3、安装pcre:
./configure
make
make install
4、安装httpd
tar zxf httpd-2.4.25.tar.gz
cd httpd-2.4.25
./configure --prefix=/data/server/apache --with-apr=/data/server/apr --with-apr-util=/data/server/apr-util --with-pcre=/data/server/pcre
make
make install
接下来可以编译安装php了:
1、安装依赖:php编译时要安装超级多的依赖包,因为php要调用很多库。
yum -y install libxml2-devel libcurl libcurl-devel libmcrypt libmcrypt-devel libpng libpng-devel libjpeg libjpeg-devel gcc gcc-c++ freetype-devel glib2-devel cairo-devel openssl openssl-devel openldap openldap-devel
再加一个网上找到的:
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
2、下载php源码包:http://php.net/get/php-5.6.30.tar.gz/from/a/mirror,可以选择一个下载,我选择的:
wget http://am1.php.net/get/php-5.6.30.tar.gz/from/this/mirror
因为网址跟了参数,所以修改一下文件名吧:mv mirror.2 php-5.6.30.tar.gz
编译安装php是一个最漫长的过程,也最容易缺少依赖包:
tar zxf php-5.6.30.tar.gz
cd php-5.6.30
./configure --prefix=/data/server/php \
--enable-pdo --with-pdo-mysql --enable-mysqlnd \
--with-mysql=/data/server/mysql --with-mysqli=/data/server/mysql/bin/mysql_config \
--with-freetype-dir --with-jpeg-dir --with-png-dir --with-gd --enable-gd-native-ttf \
--with-config-file-path=/data/server/php/etc \
--with-openssl --with-mhash \
--enable-fpm --enable-sysvsem --enable-sockets --enable-pcntl --enable-mbstring \
--enable-opcache --enable-shmop --enable-zip --with-mcrypt \
--with-zlib --enable-zip --with-curl \
--with-pcre-dir=/data/server/pcre \
--with-fpm-user=www --with-fpm-group=www
make
make install
准备配置文件:
cp /data/server/php/etc/php-fpm.conf.default /data/server/php/etc/php-fpm.conf
修改apache配置文件,设置php-fpm为php代理:
vim /data/server/apache/conf/httpd.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
把这两行前面的#号去掉,然后最下面增加如下配置:
ServerName 127.0.0.1
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
修改apache默认运行用户为www
User www
Group www
准备默认网站路径:
mkdir -p /data/web/www/localhost
启动apache:
/data/server/apache/bin/apachectl start
启动php-fpm:
/data/server/php/sbin/php-fpm
一切OK:
vim /data/server/apache/htdocs/index.php
<?php
phpinfo();
保存退出看效果吧。
配置apache,允许.htaccess文件:
去掉如下一行的注释:
LoadModule rewrite_module modules/mod_rewrite.so
另外:
<Directory />
AllowOverride All
Require all denied
</Directory>
安装php-memcache扩展:
http://pecl.php.net/package/memcache 下载扩展:
wget http://pecl.php.net/get/memcache-3.0.8.tgz
tar zxf memcache-3.0.8.tgz
cd memcache-3.0.8
/data/server/php/bin/phpize
./configure --enable-memcache --with-php-config=/data/server/php/bin/php-config --with-zlib-dir
make
make install
这时候看到:
Installing shared extensions: /data/server/php/lib/php/extensions/no-debug-non-zts-20131226/
这个目录就是php扩展的目录。当然从phpinfo中也能看到:
附注apache和php-fpm重启脚本:
/data/server/apache/bin/apachectl -k restart
ps aux | grep php-fpm | grep master | awk '{print $2}' | xargs kill -SIGUSR2
万一编译php的时候忘记了gd库,找到自己安装的php版本的php源码,进入ext目录,比如我这次这个:
cd php-5.6.30/ext/gd
./configure --with-php-config=/data/server/php/bin/php-config --with-jpeg-dir --with-freetype-dir
make
make install
然后在php.ini中增加一行:
extension=gd.so
另外,拷贝php到别的主机,也要把依赖的一些库安装好,就是上面的yum安装的。
相关推荐
php-fpm。放到/etc/init.d/目录。然后执行:chmod a+x php-fpm 然后就可以/etc/init.d/php-fpm start 或者systemctl start php-fpm
主要介绍了centos7上编译安装php7以php-fpm方式连接apache的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
这里有一个编译成功的 apache-atlas-2.1.0-bin.tar.gz,内置Hbase和Solr, Centos7平台使用。 使用方法: 拷贝到Centos7系统下自定义的文件夹里 tar -zxvf apache-atlas-2.1.0-bin.tar.gz解压 根据自己的条件设置参数...
# CentOS-7-x86_64-DVD-1810.iso CentOS 7.6 DVD 版 4G http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso # CentOS-7-x86_64-Everything-1810.iso CentOS 7.6 Everything版 10G ...
CentOS 7.9版本(CentOS-7-i386-Everything-2009)适用于i386,必须集齐9个文件才能一起解压缩使用,9个文件下载地址: CentOS-7-i386-Everything-2009.part09.rar ... CentOS-7-i386-Everything-2009.part08.rar ...
centos7安装apache-zookeeper-3.8.1安装包以及详细安装文档
CentOS-Nginx-Apache-PHP-MySQL 镜像使用帮助文档 1.镜像环境说明 2.musql以及phpmyadmin的密码 3.软件目录及配置列表 4.软件操作命令汇总 5.关于卸载 6.升级内容介绍 7.升级后的操作说明 8.附录 教程一 :部署网站 ...
centos源码安装apache-tomcat-8.0.21
CentOS 7.9版本(CentOS-7-i386-NetInstall-2009)适用于i386 CentOS是免费的、开源的、可以重新分发的开源操作系统,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版...
1分钟完美安装最新_CentOS_ _Nginx_ _PHP-FPM_ _MySQL
CentOS 7.9版本(CentOS-7-i386-NetInstall-2009)适用于i386 CentOS是免费的、开源的、可以重新分发的开源操作系统,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版...
离线环境下,在centos7.6系统上安装docker-ce-19.03,nvidia-docker2.4版本,其中docker-ce-19.03在docker-local.tar压缩文件里面,nvidia-docker2在nvidia-docker2.zip文件中。 具体安装流程如下: 1.安装docker ...
centos5.2 源码安装nginx+php-fpm+http push,演示http push 功能,测试通过
Centos7版本搭建Linux-Apache-PHP-Mysql环境
CentOS 6.2编译安装Apache2.4.1+MySQL5.5.21+PHP5.3.10
CentOS-6.6-x86_64-bin-DVD1.iso和CentOS-6.6-x86_64-bin-DVD2镜像文件百度云下载
CentOS 5.6编译安装Apache2.4.1+MySQL5.5.21+PHP5.3.10
centos7.9离线安装tigervnc-server-1.8.0-21.el7.x86_64.rpm(推荐)
CentOS 7.9版本(CentOS-7-i386-Everything-2009)适用于i386,必须集齐9个文件才能一起解压缩使用,9个文件下载地址: CentOS-7-i386-Everything-2009.part09.rar ... CentOS-7-i386-Everything-2009.part08.rar ...
CentOS-7-x86_64-Everything-1804 百度云盘资源路径!请笑纳 准备工作 1)下载VMware workstation12 百度云盘 链接:https://pan.baidu.com/s/1c6tE2cPy63y1vO1idHtAzw 提取码:duvd 2)下载CentOS7 方案一:...