千家信息网

CentOS 6 编译LAMP 实现双机FastCGI

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,需求:CenOS 6平台搭建LAMP,其中php作为独立的服务工作(1)三者分离于两台主机(2)一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机提供wordpress(3)安装下cache,为
千家信息网最后更新 2026年11月01日CentOS 6 编译LAMP 实现双机FastCGI

需求:


CenOS 6平台搭建LAMP,其中php作为独立的服务工作

(1)三者分离于两台主机

(2)一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机提供wordpress

(3)安装下cache,为php提供加速

(4)mpm为prefork模型


注意:

(1)由于httpd是cpu密集型,php是io密集型,而mariadb即是cpu密集型又是io密集型。所以我们将httpd和php放在一台主机上,mariadb单独放在一台主机上

(2)由于CentOS 6平台仅提供了mysql的rpm包,这里我们使用mariadb二进制安装包安装

(3)由于php要作为单独服务进程运行,因此编译php时要启用php-fpm特性

(4)由于CentOS 6提供的各应用的rpm安装包版本都比较老,所以都需要通过编译源码来安装

(5)httpd与php之间需要通过FastCGI协议来连接,httpd其实是作为反向代理来工作的,编译httpd时需要启用proxy和proxy_cgi特性

(6)如要求mpm问哦event模型,同时php作为httpd的模块工作时,因为event为线程模型,所以php必须启用线程安全功能--enable-maintainer-zts


环境:

关闭iptables和SELinux

Host1:作为前端web服务器 IP:10.0.0.61

Host2:作为后端DB服务器 IP:10.0.0.62

Linux修改/etc/hosts/

Windows修改C:\Windows\System32\drivers\etc

10.0.0.61 www.wordpress.com

10.0.0.61 www.phpadmin.com


配置:


Host2:


安装二进制的mariadb

# 增加一个系统用户mysql[root@localhost ~]# useradd -r mysql# 解压二进制安装包放置在`/usr/local/`目录下[root@localhost ~]# tar -xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/[root@localhost ~]# cd /usr/local/# 链接为`mysql`目录[root@localhost local]# ln -sv mariadb-5.5.46-linux-x86_64/ mysql`mysql' -> `mariadb-5.5.46-linux-x86_64/'# 修改其属主和属组[root@localhost local]# chown -R root:mysql mysql/# 创建数据库存放目录`/data/mysql`[root@localhost local]# mkdir -pv /data/mysqlmkdir: created directory `/data'mkdir: created directory `/data/mysql'# 修改其属主和属组。[root@localhost local]# chown -R mysql:mysql /data/mysql/# 安装[root@localhost local]# cd mysql/[root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/data/mysql/# 复制服务启动脚本至`/etc/rc.d/init.d`目录[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld


复制配置文件,并进行配置

# cp support-files/my-large.cnf /etc/my.cnf# vim /etc/my.cnf[client]default-character-set=utf8[mysql]default-character-set=utf8[mysqld]datadir=/data/mysqlcharacter-set-server=utf8collation-server=utf8_general_cidefault-storage-engine=InnoDBinnodb-file-per-table=TRUEskip-name-resolve=TRUE


数据库初始化:

# 启动数据库[root@localhost mysql]# /etc/init.d/mysqld startStarting MySQL.. SUCCESS![root@cb9326a6 mysql]# ss -tunl | grep 3306tcp    LISTEN     0      50                     *:3306                  *:*# 导出`/usr/local/mysql/bin/`目录至`PATH`系统环境变量[root@localhost mysql]# export PATH=/usr/local/mysql/bin/:$PATH# 数据库初始化设置[root@localhost mysql]# mysql_secure_installation


授权:

[root@localhost ~]# mysql -u root -p# 授权root可从10.0.0.0/8网段内的主机登录操作所有数据库。MariaDB [(none)]> grant all privileges on *.* to 'root'@'10.0.0.%' identified by '123456';# 给wordpress创建数据wpdb。MariaDB [(none)]> create database wordpress;# 给wordpress创建用户wordpress。MariaDB [(none)]> create user 'wordpress'@'172.18.71.%' identified by 'wordpress';# 授权wordpress可从10.0.0.0/8网段内的主机登录操作wordpress数据库。MariaDB [(none)]> grant all privileges on wpdb.* to 'wordpress'@'10.0.0.%' identified by 'wordpress';# 重载权限表MariaDB [(none)]> flush privileges;


Host1


测试能否链接数据库服务器

# 因为CentOS-6不提供mariadb,所以安装mysql的客户端。[root@localhost ~]# yum install -y mysql# 测试连接HostB数据库[root@localhost ~]# mysql -u root -h 10.0.0.62 -p


新增一个系统用户

# useradd -r apache


准备开发环境

# yum groupinstall -y "Development tools" "Server Platform Development"# yum install -y pcre-devel libxml2-devel  libmcrypt-devel bzip2-devel libcurl-devel


准备好源码包:

apr-1.5.0.tar.bz2  apr-util-1.5.3.tar.bz2  httpd-2.4.10.tar.bz2  php-5.4.40.tar.bz2  xcache-3.2.0.tar.bz2


编译安装apr:

# tar xf apr-1.5.0.tar.bz2# cd apr-1.5.0# ./configure --prefix=/usr/lcoal/apr# make && make install


编译安装apr-util

# tar xf apr-util-1.5.3.tar.bz2# cd apr-util-1.5.3# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr# make && make install


编译安装httpd-2.4.9

# tar -xf httpd-2.4.10.tar.bz2# cd httpd-2.4.10# ./configure --prefix=/usr/local/apache2 \--sysconfdir=/etc/httpd \--enable-so \--enable-ssl \--enable-cgi \--enable-rewrite \--with-zlib \--with-pcre \--with-apr=/usr/local/apr \--with-apr-util=/usr/local/apr-util \--enable-modules=most \--enable-mpms-shared=all \--enable-proxy \--enable-proxy-fcgi \--with-mpm=prefork[root@localhost httpd-2.4.10]# make && make install


编译安装php,启用fpm功能--enable-fpm

# tar -xf php-5.4.40.tar.bz2# cd php-5.4.40# ./configure --prefix=/usr/local/php \--with-config-file-path=/etc \--with-config-file-scan-dir=/etc/php.d \--with-libxml-dir=/usr \--with-mysql \--with-mysqli \--with-openssl \--with-mcrypt \--with-png-dir \--with-jpeg-dir \--with-freetype-dir \--with-zlib \--with-bz2 \--with-curl \--enable-zip \--enable-fpm \--with-fpm-user=apache \--with-fpm-group=apache \--enable-mbstring \--enable-xml \--enable-sockets \# make && make test && make install


待续。。。





数据 数据库 编译 主机 服务 目录 密集型 二进制 服务器 模型 环境 用户 系统 工作 配置 功能 平台 源码 特性 线程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 什么是科技互联网 华服互联网科技怎么样 深圳恒合互联网络科技有限公司 金诺互联网科技 互联网络科技有限公司 广州宏创互联网科技 互联网科技小额贷款 重庆科技学院互联网 茂名市互联网科技产业园 崇明区互联网教育科技售后服务 伊宁互联网科技做什么的 怎样加入科技互联网 杭州披云加互联网科技有限公司 互联网安防科技感 35岁以上互联网科技行业 2021世界互联网领先科技成果发布 全球科技与互联网公司市值变化 版纳互联网科技选哪家 互联网科技收购价值 兰石爱特工业互联网科技分公司 成都互联网科技公司 狮子座互联网科技有限公司 玖二柒互联网科技公司待遇 江苏南京365互联网科技 互联网金融科技公司干啥的 晓花互联网科技有限公司网址 本届互联网博览会上的黑科技 无锡工业互联网科技有限公司 陕西九四连强互联网科技有限公司 福仕德教育科技互联网
0