通过fcgi实现lamp

简单罗列基础命令,只分享我的想法!

要求:三台单独的服务器通过fcgi,实现lamp。

环境:httpd-2.4.10,apr-1.5.0,apr-until-1.4.1,PHP-5.4.40,mariaDB-5.5.43和CentOS 6.6

环境示意图(同一个网卡设置多个地址即可,ip addr add IP dev eth0):

图1

一、编译httpd-2.4.10和二进制通用格式安装mariaDB-5.5.43的方法同上一篇博客的内容相同,不在重复,只不过是在两台服务器上面单独安装。

二、编译PHP-5.4.40

1)安装依赖包(devel子包主要是包含一些include文件)。

yum install libxml2-devel libmcrypt-devel bzip2-devel –y

2)编译

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

(./configure --help中对与—with-mysql=dir中是这样描述的Include MySQL support.  DIR is the MySQL base directory,if no DIR is passed or the value is                          mysqlnd the MySQLnative driver will be used,大致的意思应该是—with-mysql应该是提供读mysql的支持,dir就是mysql的目录,但是如果没有,mysqlnd也是可以提供驱动的)

make && make install

3) 配置php-fpm

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

进入源码包

cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm  //php-fpm这个文件里面记录pid存放目录
chmod +x/etc/rc.d/init.d/php-fpm
chkconfig --addphp-fpm
chkconfigphp-fpm on

4)为FPM组件提供配置文件

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

编辑fcgi的配置文件

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

配置fpm的相关选项

pid =/user/local/php/var/run/php-fpm.pid
error_log =/var/log/php-fpm.log
listen =172.16.149.3:9000
pm.max_children= 5
pm.start_servers= 2
pm.min_spare_servers= 1
pm.max_spare_servers= 3

启动php-fpm,看9000端口是否启动

/etc/init.d/php-fpm start

三、配置httpd-2.4.10

1)配置主配置文件(配置的是中心主机)

vim /etc/httpd1/httpd.conf

添加以下四行

ProxyRequestsOff //关闭正向代理
ProxyPassMatch^/(.*\.php)$ fcgi://172.16.149.3:9000/usr/local/apache/htdocs/$1 //把所有.php的请求统统通过fcgi发送到172.16.149.3这个php服务器来运行
AddTypeapplication/x-httpd-php  .php  //让apache支持php的页面
AddTypeapplication/x-httpd-php-source  .phps

修改三行

DirectoryIndex  index.php index.html

mod_proxy_fcgi.so是mod_proxy.so的扩充,所以都需要加载

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

2)配置主配置文件(配置的是虚拟机)

添加以下两行

AddTypeapplication/x-httpd-php  .php  //让apache支持php的页面
AddTypeapplication/x-httpd-php-source  .phps

修改三行

DirectoryIndex  index.php index.html
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
Include/etc/httpd1/extra/httpd-vhosts.conf

编辑虚拟机的配置文件

vim /etc/httpd1/extra/httpd-vhosts.conf

增加以下两行

AddTypeapplication/x-httpd-php  .php  //让apache支持php的页面
AddTypeapplication/x-httpd-php-source  .phps

四、测试(配置中心主机)

确保php服务器的php-fpm和apache服务器的httpd服务开启,且两台服务器能够互相访问。

在php服务器上面创建php文件

mkdir -vp /usr/local/apache/htdocs
vim /usr/local/apache/htdocs/index.php
<?php
 phpinfo();
?>

通过浏览器进行查看,如图2

图2

php服务器运行状态,如图3

图3

httpd服务器运行状态,如图

图4

五、检验数据库的连接

1)mysql配置说明

CREATE USER ‘wlw‘@‘172.16.%.%‘ IDENTIFIED BY ‘wlw1‘;

2)编辑index.php

<?php
      $link =mysql_connect(‘172.16.249.36‘,‘wlw‘,‘wlw1‘);
         if ($link)
            echo "Success...";
         else
            echo "Failure...";
 
                                                                                                                                                  mysql_close();
?>

3)测试截图

图5

时间: 2024-10-02 21:45:23

通过fcgi实现lamp的相关文章

CentOS 7下分离于三台主机搭建基于FCGI的LAMP

一.要求 CentOS 7, lamp (php-fpm):(1) 三者分离于三台主机:(2) 一个虚拟主机用于提供phpMyAdmin:另一个虚拟主机用于提供wordpress:(3) xcache 规划 第一台 192.168.1.112 httpd-2.4.6-40.el7.centos.x86_64 httpd服务器 第二台 192.168.1.113 php-fpm-5.4.16-36.el7_1.x86_64 php-fpm服务器 第三台 192.168.1.114 mariadb-

LAPM 相关实验

lab1 静态.动态资源的区别lab2 部署phpMyadminlab3 部署wordpresslab4 编译安装php-Xcache加速器lab5 fcgi实现lamp lab1 静态.动态资源的区别 静态资源:原始形式与响应内容一致,在客户端浏览器执行 动态资源:原始形式通常为程序文件,需要在服务器端执行之后,将执行结果返回给客户端 1.首先来看看什么是静态页面 构建第一个静态页面 yum install httpd cd /var/www/html #进入网站默认路径 vim index.

LAMP搭建 (apache2.4 FCGI+php5+mysql5.5)

网络拓扑: 系统及软件版本: CENTOS 6.5  apache2.4.12   php5.5.8  mysql5.5.44 一.安装APACHE 1.解决依赖 LAMP yum install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel

fcgi模式下编译安装LAMP+xcache

php的工作模式: php在lamp环境下共有三种工作模式:CGI模式.apache模块.FastCGI模式.CGI模式下运行PHP,性能不是很好.作为apache的模块方式运行,在以前的课程中编译安装lamp已经介绍过了.FastCGI的方式和apache模块的不同点在于:FastCGI方式PHP是一处独立的进程,所有PHP子进程都由PHP的一个叫作php-fpm的组件负责管理:而apache模块化方式运行的PHP,则是apache负责调用PHP完成工作.PHP的FastCGI方式性能要比ap

lamp基于fcgi编译安装,支持xcache扩展

Apache:服务器地址192.168.88.128 mysql:服务器地址192.168.88.140 php:服务器地址192.168.88.139 编译安装过程,服务器的先后顺序:  apache--->mysql--->php 或者 mysql--->apache--->php 第一步:编译安装Http2.4.18:    192.168.88.128 1.所需要的关联包, apr-1.5.1.tar.gz apr-util-1.5.2.tar.bz2 httpd-2.4.

基于lamp+fastcgi+https搭建phpMyAdmin和wordpress

前言: lamp为网站搭建的很基本的一个架构,如果仅仅只是静态的网页文件,我们就可以通过基本的web服务器来处理.当我们需要处理动态内容时,比如把用户数据放在数据库,从数据库取出数据等等,我们就必须借助CGI连接到处理动态请求的应用.FastCGI作为一个常驻型的CGI,可以独立于apache服务,可以实现分布式的部署.接下来我们用一台 主机来搭建phpMyAdmin和wordpress,并且让wordpress实现https. 正文: 部署之前我们先简单介绍下我们用到的架构,不用多说lamp就

新版LAMP环境搭建

新版LAMP环境搭建 注意:先安装MySQL和Apache,后安装PHP,因为PHP配置编译的时候需要指定mysql路径和apache路径. 编译安装: httpd-2.4.12.tar.gz +  mysql-5.6.22-linux-glibc2.5-x86_64.tar.gz  +  php-5.4.39.tar.gz + xcache-2.0.0.tar.gz 实验环境:               CentOS 6.5 x86_64 编译安装Apache (1)构建MPM为静态模块 在

LAMP搭建

LAMP搭建 说明:在一台linux主机上模拟搭建LAMP 简介: LAMP由四个部分组成:Linux,Apache,MySQL,PHP.搭建这一套架构是为了实现动态网页环境的部署.本文将在一台centos7.3的linux主机上模拟部署LAMP环境.apche环境采用httpd应用部署,MySQL采用Mariadb应用部署,php主要采用php-fpm应用部署,辅助应用为 php-mbstring php-mcrypt php-xcache. PHP与MySQL的接口采用php-mysql应用

lamp基础之lamp(php-fpm)的实现

大纲: 1. CGI和fastcgi对比分析  2. 用三台主机以fast-cgi的方式实现lamp并安装wordpress 3. 对输出结果的详解 一.CGI和fastcgi对比分析   lamp 安装http和php的结合方式可以分为三种:     1.php作为http的模块     2.以cgi模式结合(极少使用)     3.以fastcgi模式结合 CGI 简介 CGI全称是"通用网关接口"(Common Gateway Interface),它可以让一个客户端,从网页浏览