阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

FCGI模式LAMP跨三主机搭建详解

501次阅读
没有评论

共计 5291 个字符,预计需要花费 14 分钟才能阅读完成。

前述:

本次搭建用到三台 CentOS 7 虚拟机,第一台配置为 httpd 服务器,接收请求;第二台以 FCGI 的模式将 php 配置为单独的服务器主机,其有独立的服务进程和空闲进程,等待 httpd 服务器发来动态资源调用请求,执行 php 脚本,动态响应;第三台配置为 MariaDB(MySQL)数据库服务器,用来存储关系型数据。

每台虚拟主机的 IP 信息如下:

httpd主机

172.16.49.2CentOS 7

RPMhttpd-2.4.6-31.el7.centos.x86_64

FCGI主机

172.16.49.3 CentOS 7

RPMphp-fpm-5.4.16-23.el7_0.3.x86_64

MariaDB主机

172.16.49.4CentOS   7

RPMmariadb-5.5.41-2.el7_0.x86_64

一、基于 FCGI 模式安装包组

 1.CentOS 6系列

          PHP-5.3.2及以前版本:默认不支持 fpm 机制;需要自行打补丁并编译安装;

          httpd-2.2:默认不支持 fcgi 协议,需要自行编译 fcgi 模块;

            解决方案:编译安装 httpd-2.4, php-5.3.3及以上版本

 2.CentOS 7系列

      172.16.49.2[root@localhost ~]# yum install -y httpd

      172.16.49.3[root@localhost ~]# yum install -y php-fpm php-mmysql

      172.16.49.4[root@localhost ~]# yum install -y mariadb-server

 

 

 

二、php-fpm服务器配置

 1.php配置文件

        服务进程配置文件:/etc/php-fpm.conf  /etc/php-fpm.d/*.conf

        环境配置配置文件 (php-common 提供)/etc/php.ini  /etc/php.d/*.ini

  2.FPM Configuration配置:

     (1)采用默认即可,[root@localhost ~]#cat  /etc/php-fpm.conf

include=/etc/php-fpm.d/*.conf

包含 /etc/php-fpm.d/*.conf 的配置信息

pid =  /run/php-fpm/php-fpm.pid

进程的 PID 文件位置

error_log =  /var/log/php-fpm/error.log

错误日志位置

log_level = notice

日志级别,默认 notice 级别

;emergency_restart_threshold  = 0

紧急重启的临界值

;emergency_restart_interval  = 0

紧急重启的间隔

;process_control_timeout  = 0

进程控制超时时长

daemonize = no

是否运行在后台,运行在前台可方便查看

     (2)连接池配置,[root@localhost ~]#cat  /etc/php-fpm.d/www.conf

 连接池能接受 httpd 服务器Web��代理发来的动态请求

             需要修改如下参数,其余默认即可:

listen =  172.16.49.3:9000

 listen.allowed_clients = 172.16.49.2

;

表示注释该行信息

listen  = 127.0.0.1:9000

监听端口,0.0.0.0表示本机所有地址。

支持远程调用应该监听在本机的远程通信端口

;listen.backlog =  -1

后援等待队列的长度,-1表示无限制

 listen.allowed_clients = 127.0.0.1

授权允许可请求主机,基于 IP 的控制机制,注释表示允许所

;listen.owner =  nobody

监听服务进程的主机默认以什么用户身份运行,nobody表示普通用户

;listen.group =  nobody

监听服务进程的主机默认以什么用户组身份运行

;listen.mode =  0666

监听服务进程的主机默认以什么权限运行

user = apache

用户,RPM包制作者修改,编译安装非此结果

group = apache

用户组,RPM包制作者修改,编译安装非此结果

pm  = static|dynamic

进程控制器生成子进程方式

;pm.status_path =  /status

状态机制

;ping.path = /ping

ping机制,一般用于提供监控机制

php_admin_value[error_log]  =

连接池错误日志位置

php_admin_flag[log_errors]  = on

是否在错误日志中将于管理相关的标志打开

php_value[session.save_handler]  = files

phpsession 记录存放形式:文件

php_value[session.save_path]  =

phpsession 记录存放路径,集群是关键

    注意:  pm连接池模式有两种,pm = static|dynamic

    static:固定数量的子进程;pm.max_children;

   dynamic:子进程数据以动态模式管理;选择该项需呀启用以下配置

pm.start_servers=

开始启用进程数

pm.min_spare_servers=

最小空闲进程数

pm.max_spare_servers=

最大空闲进程数

;pm.max_requests =

每个子进程自多允许响应多少请求,超过就kill

  3.启动服务 && 查看状态

      [root@localhost~]# systemctl start php-fpm.service

      [root@localhost~]# systemctl status php-fpm.service

FCGI 模式 LAMP 跨三主机搭建详解

 

 

 

三、Web服务器配置和测试

  1.确保 httpd 服务中已经装载 fcgi 模块

      [root@localhost~]# httpd -M | grep fcgi

FCGI 模式 LAMP 跨三主机搭建详解

 2.确保 httpd 配置文件加载 fcgi 模块选项

    [root@localhost ~]#cat /etc/httpd/conf.modules.d/00-proxy.conf

      其中有 LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so 则配置可以加载模块

FCGI 模式 LAMP 跨三主机搭建详解

 2.以虚拟主机配置方式配置站点 ( 亦可使用中心主机)

      (1)删除测试页面:[root@localhost ~]# mv /etc/httpd/conf.d/welcome.conf/etc/httpd/conf.d/welcome.conf.bck

      (2)注释主配置文件中心主机段:# Document “/var/www/html”

      (3)创建站点根目录位置:[root@localhost ~]# mkdir /www/fcgi-test -pv

      (4)创建虚拟主机配置:[root@localhost ~]# vim /etc/httpd/conf.d/vritual.conf

ServerNamelocalhost:80

<VirtualHost172.16.49.2:80>

ServerNamewww.fcgi.com

DocumentRoot”/www/fcgi-test”

<Directory”/www/fcgi-test”>

OptionsNone

AllowoverrideNone

Requireall granted

</Directory>

</VirtualHost>

      (5)检测 httpd 配置文件语法:[root@localhost ~]# httpd -t

 3..转发配置文件

      [root@localhost~]# vim /etc/httpd/conf.d/fcgi.conf

ProxyRequestsOff

ProxyPassMatch ^/(.*\.php)$ fcgi://127.16.49.3:9000/www/fcgi-test/$1       

      注意:

1)第二条语句定义将访问 172.16.49.2Web 服务器的所有 .php 请求映射到 php 服务器查询执行

2)php 服务器上创建映射查找目录,此目录可以和 Web 服务器的站点根目录不同,此处设置为相同

[root@localhost~]# mkdir -pv /www/fcgi-test/

  4.启动服务

      [root@localhost~]# systemctl start httpd.service

      [root@localhost~]# systemctl status httpd.service

FCGI 模式 LAMP 跨三主机搭建详解

  5.测试

     (1)172.16.49.2/www/fcgi-test/index.html,并定义 it is apache 测试,在浏览器输入172.16.49.2/index.html

FCGI 模式 LAMP 跨三主机搭建详解

     (2)172.16.49.3的映射代理目录下创建 index.php,定义phpinfo() 测试语句,在浏览器输入172.16.49.2/index.php

<?php    phpinfo();  ?>

FCGI 模式 LAMP 跨三主机搭建详解

     (3)172.16.49.2 下同上放置index.php,在浏览器输入172.16.49.2/index.php

 此时服务器会将 .php 请求发往 php 服务器查找,未找到 index.php 文件

FCGI 模式 LAMP 跨三主机搭建详解

     (4)172.16.49.3 映射目录下同上放置index.html,在浏览器输入172.16.49.2/index.html

172.16.49.2 上找不到静态文件 index.html 报错

FCGI 模式 LAMP 跨三主机搭建详解

 

 

 

 

四、MariaDB数据库配置测试

  1.禁止反解主机名

      [root@localhost~]# vim  /etc/my.cnf

        [mysqld] 段添加语句:skip_name_resolve = ON

  2.启动服务

        [root@localhost~]# systemctl start mariadb.server

  3.授权可远程登录用户

[root@localhost~]# mysql

        Welcome to the MariaDB monitor. Commands end with ; or \g.

        Your MariaDB connection id is 2

        Server version: 5.5.41-MariaDB MariaDB Server

        Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others.

        Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current inputstatement.

MariaDB [(none)]>  Grant ALL ON *.* TO ‘root’@’172.16.%.%’  IDENTIFIED BY ‘xuding’

 4.mariadb数据库远程连接

      172.16.49.3上:[root@localhost ~]# mysql -uroot -h172.16.49.4 -pxuding

FCGI 模式 LAMP 跨三主机搭建详解

 5.phpmariadb 服务连接测试

      172.16.49.3php 主机上创建 index.php 测试页,写入如下代码:

<?php

$conn = mysql_connect(‘172.16.49.4′,’root’,’xuding’);

if($conn)

echo”OK”;

else

echo”Failure”;

?>       

        在浏览器输入 172.16.49.2/index.php 测试,若显示为 okzphpmysql 可以连接

FCGI 模式 LAMP 跨三主机搭建详解

 

下面关于 LAMP 相关 的内容你可能也喜欢

LAMP 平台安装 Xcache 和 Memcached 加速网站运行  http://www.linuxidc.com/Linux/2015-06/118835.htm 

CentOS 7 下搭建 LAMP 平台环境  http://www.linuxidc.com/Linux/2015-06/118818.htm

CentOS 6.5 系统安装配置 LAMP(Apache+PHP5+MySQL)服务器环境 http://www.linuxidc.com/Linux/2014-12/111030.htm

Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境  http://www.linuxidc.com/Linux/2014-10/107924.htm

Ubuntu 14.10 下安装 LAMP 服务图文详解  http://www.linuxidc.com/Linux/2014-12/110082.htm

LAMP 结合 NFS 构建小型博客站点  http://www.linuxidc.com/Linux/2015-08/121029.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-01/127608.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5291字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7980130
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...