编译安装lamp

author author     2022-09-03     404

关键词:

题目:在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... 查看详情