关键词:
题目:在LAMP架构中,请分别以php编译成httpd模块形式和php以fpm工作为独立守护进程的方式来支持httpd,列出详细的过程。
本次实验以CentOS 7为搭建环境,并且已经使用源码编译安装了httpd-2.4(默认使用prefork模块)和使用通用二进制格式安装了mariadb-5.5。现在将php分别编译成httpd模块和fpm方式工作。
httpd模块形式编译安装php
编译php并配置
#从官网上下载php的压缩包,并解压
[[email protected] ~]# tar xf php-5.5.38.tar.bz2
#因为是将php编译成httpd模块形式,所以需要制定apache的apxs路径(即--with-apxs2=/usr/local/apache24/bin/apxs)
[[email protected] ~]# cd php-5.5.38/ [[email protected] php-5.5.38]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-png-dir --with-jpeg-dir --with-freetype-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache24/bin/apxs --with-mcrypt --with-config-file-path=/etc/php5 --with-config-file-scan-dir=/etc/php.d --with-bz2 [[email protected] php-5.5.38]# [[email protected] php-5.5.38]# make -j 4 && make install
#在php的解压目录下找到php的样本配置文件php.ini-development或php.ini-production,根据实际需要选择其中之一复制到php配置文件目录路径下(此处在编译php时为是/etc/php5目录下)
[[email protected] php-5.5.38]# mkdir /etc/php5 # 复制样本配置文件并将其名字修改为php.ini [[email protected] php-5.5.38]# cp php-5.5.38/php.ini-production /etc/php5/php.ini
httpd配置
#为了使httpd能够识别php动态资源并能够提交给httpd的php模块(引擎),需要编辑httpd的配置文件/etc/httpd24/httpd.conf,添加AddType配置段
[[email protected] ~]# vim /etc/httpd24/httpd.conf AddType application/x-httpd-php .php # 将.php的动态资源识别为application/x-httpd-php类型
#启动httpd服务进程
[[email protected] ~]# apachectl -t # 启动前检查语法 Syntax OK [[email protected] ~]# apachectl start # 启动httpd [[email protected] ~]# ss -tnl | grep 80 # 查看是否监听在80端口 LISTEN 0 128 :::80 :::*
mysql配置及授权
#导出mysql相关库文件
[[email protected] ~]# vim /etc/ld.so.conf.d/mariadb.conf /usr/local/mysql/lib [[email protected] ~]# ldconfig
#授权数据库用户
[[email protected] ~]# mysql MariaDB [(none)]> GRANT ALL ON *.* TO [email protected]‘192.168.%.%‘ IDENTIFIED BY ‘testpass‘; MariaDB [(none)]> FLUSH PRIVILEGES;
测试
#创建并编辑httpd的文档根目录下的index.php,写入测试代码
[[email protected] ~]# vim /usr/local/apache24/htdocs/index.php <?php $conn = mysql_connect(‘192.168.10.101‘,‘testuser‘,‘testpass‘); if($conn) echo "OK"; else echo "Failure"; ?>
#使用浏览器访问URL为http://192.168.10.101/index.php
测试成功,LAMP平台搭建完成(将php编译成httpd模块)!接下来重新搭建LAMP平台,但将php编译成以fpm方式工作。
将php编译成以fpm方式工作
编译php并配置
#搭建环境同样是CentOS 7,并且已经使用源码编译安装了httpd-2.4(默认使用event模块)以及使用通用二进制格式安装了mariadb-5.5
#以fpm模式运行,在执行configure脚本时需要使能fpm选项,而--with-apxs2这一项就不用了
[[email protected] ~]# cd php-5.5.38/ [[email protected] php-5.5.38]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-png-dir --with-jpeg-dir --with-freetype-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir =/etc/php.d --with-bz2 --enable-fpm [[email protected] ~]# [[email protected] ~]# make -j 4 && make install
#为php和php-fpm提供配置文件
[[email protected] php-5.5.38]# cp php.ini-production /etc/php.ini # 提供php的配置文件 [[email protected] php-5.5.38]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf # 提供php-fpm配置文件 [[email protected] php-5.5.38]# vim /usr/local/php/etc/php-fpm.conf # 编辑php-fpm配置文件 # 主要确保这两项如下配置 listen = 127.0.0.1:9000 # 此处php-fpm和httpd在同一主机上 listen.allowed_clients = 127.0.0.1
#为php-fpm提供服务控制脚本
[[email protected] php-5.5.38]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm [[email protected] php-5.5.38]# chkconfig --add php-fpm [[email protected] php-5.5.38]# chmod +x /etc/init.d/php-fpm # 确保有执行权限 [[email protected] php-5.5.38]# service php-fpm start # 启动php-fpm服务 [[email protected] php-5.5.38]# ss -tnl | grep 9000 LISTEN 0 128 127.0.0.1:9000 *:*
httpd配置
#修改httpd-2.4的配置文件
[[email protected] ~]# vim /etc/httpd24/httpd.conf AddType application/x-httpd-php .php LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so LoadModule proxy_module modules/mod_proxy.so ProxyRequests Off ProxyPassMatch ^/(.*.php) fcgi://127.0.0.1:9000/usr/local/apache24/htdocs/$1
#启动httpd服务进程
[[email protected] ~]# apachectl -t # 启动前检查语法 Syntax OK [[email protected] ~]# apachectl start # 启动httpd [[email protected] ~]# ss -tnl | grep 80 # 查看是否监听在80端口 LISTEN 0 128 :::80 :::*
mysql配置及授权
#导出mysql相关库文件
[[email protected] ~]# vim /etc/ld.so.conf.d/mariadb.conf /usr/local/mysql/lib [[email protected] ~]# ldconfig
#授权数据库用户
[[email protected] ~]# mysql MariaDB [(none)]> GRANT ALL ON *.* TO [email protected]‘192.168.%.%‘ IDENTIFIED BY ‘testpass‘; MariaDB [(none)]> FLUSH PRIVILEGES;
测试
#创建并编辑httpd的文档根目录下的index.php,写入测试代码
[[email protected] ~]# vim /usr/local/apache24/htdocs/index.php <?php $conn = mysql_connect(‘192.168.10.101‘,‘testuser‘,‘testpass‘); if($conn) echo "OK"; else echo "Failure"; ?>
#使用浏览器访问URL为http://192.168.10.101/index.php
测试成功,LAMP平台搭建完成(将php编译成fpm方式工作)!
本文出自 “Tab” 博客,请务必保留此出处http://xuweitao.blog.51cto.com/11761672/1931688
lamp源码编译安装
编译安装lamp环境
LAMP环境配置:httpd-2.4.23+mysql-5.5.51+php-5.5.38编译安装过程编译前先准备系统的开发环境:# yum groupinstall "Development tools" "Server Platform Development"一、编译安装apache1、解决依赖关系httpd-2.4.23 查看详情
源码编译安装lamp
一、概述1、源码编译安装LAMP为什么要源码编译 一般来说,我们软件的安装方式有yum(rpm),和源码编译两种方式,那么为什么我们需要源码编译安装一部分软件?选择源码编译安装软件有以下几个原... 查看详情
编译安装lamp
题目:在LAMP架构中,请分别以php编译成httpd模块形式和php以fpm工作为独立守护进程的方式来支持httpd,列出详细的过程。本次实验以CentOS7为搭建环境,并且已经使用源码编译安装了httpd-2.4(默认使用prefork模块)和使用通用二进... 查看详情
lamp编译安装(代码片段)
lamp编译安装CentOS6:PHP-5.3.2之前:默认不支持fpm机制;需要自行打补丁并编译安装httpd-2.2:默认不支持fcgi协议,需要自行编译此模块解决方案:编译安装httpd-2.4,php-5.3.3+CentOS7:httpd-2.4:rpm包默认编译支持fcgi模块php-fpm包:专用于... 查看详情
lamp之自动化编译安装
...php-fpm的安装,安装高版本的数据库在centos6上也需要通过编译安装完成,本文介绍了Modules模式和FastCGI模式快速部署LAMP的包和相关操作,同时附上了一键安装的编译脚本。2 快速部署LAMP在CentOS6和7中,在Modules模式和FastCGI模式... 查看详情
lamp编译安装1
650)this.width=650;"src="https://s4.51cto.com/wyfs02/M00/8C/CC/wKioL1h4o0aQgM_GAAP_QuXLPWc712.jpg"title="LAMP编译安装1.jpg"alt="wKiom1h4oGbwtqpHAAQHoqOfbzE513.jpg"/> 查看详情
lamp之编译安装
...易用,但在某些特定情况下,由于有特殊需求,需要基于编译这种方式来定制化安装所需要的软件,以能特供自己所需的功能,此处我们来基于编译实现LAMP环境,来揭开编译安装这种听起来高大上的安装方式。首先来交代一下... 查看详情
lamp编译安装系列
主要还是centos6.9和centos7上相应软件包的安装及编译安装。所用版本均为当前最新版。生产环境中不建议这么干,毕竟生成以稳定为主。LAMP里php是最后安装,php依赖于服务器和数据库,所以这里单独编译系列就只有httpd和mariadb了... 查看详情
lamp安装脚本(编译方式)
#!/bin/bash##**********************************************************#*filename: lamp_install.sh *#*discription: lampinstall *#*version: centos6.7a 查看详情
lamp环境编译安装
MySQL编译安装#安装编译代码需要的包yum-yinstallmakegcc-c++cmakebison-devel ncurses-devel#mysql安装wgethttp://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.32.tar.gztar-zxvfmysql-5.6.32.tar.gzcdmysql-5.6.3 查看详情
lamp编译安装(未完待续)
顺序安装:linuxapachemysqlphpLinux这个就不多说明了...CentOS6.5镜像虚拟机安装一次性安装开发工具:#yumgroupinstall"Developmenttools"or:#yum-ygroupinstall"Developmenttools"查看已安装的:#yumgrouplist|more#yumgrouplist|grepDevelpment#yumgrou 查看详情
编译安装lamp
yuminstallgccgcc-c++ncurses-develperl 安装cmakewgethttp://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz tar-xzvfcmake-2.8.10.2.tar.gz cdcmake-2.8.10.2 ./bootstrap& 查看详情
超详细lamp环境手动编译安装实例
LAMP编译安装实例: HTTPD编译安装: 下载软件包: # wget http://mirrors.hust.edu.cn/apache//apr/apr-1.6.3.tar.gz http://mirrors.hust.edu 查看详情
源码编译安装lamp
环境:centos6.6;httpd-2.2.34;mysql-5.5.55;php5.6.31#!/bin/bash#2017-08-12#author by Tan Wen Xin#Auto install LAMP#create DNS servercat>>/etc/resolv.conf<& 查看详情
编译安装lamp
软件包链接:http://pan.baidu.com/s/1mijn44g 密码:abja 系统环境:centos7开发环境:Developmenttools、ServerPlatformDevelopmenthttp+php的方式:PHP模块化个程序版本:mariadbmariadb-5.5.46-linux-x86_64.tar.gzhttphttpd-2.4. 查看详情
lamp编译实现
一、简述LAMP:二、HTTP2.4编译安装三、源码安装MySQL5.6四、源码安装php-5.6五、配置http访问PHP六、配置php访问mysql实验环境为: php-fpm和msyql编译为同一台主机(CentOS6.9) httpd单独一台主机(CentOS6.9)一、... 查看详情
编译安装lamp
文章说明本文中Linux命令使用的大部分是绝对路径(若没有前面有相应的目录切换命令)安装时可以不考虑路径问题服务器相关信息腾讯云Centos72G内存20G硬盘软件源码位置及软件安装的目录源码存放目录:usrsrc软件安装目录:usrl... 查看详情