千家信息网

CentOS 7, amp + xcache, rpm包,php-fpm

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,1、实验需求:1)CentOS 7, amp + xcache, rpm包,php-fpm;a) 分别深度:httpd, php, mariadb分别部署在一个单独的主机上,以及都在同一主机;b) 一
千家信息网最后更新 2026年11月03日CentOS 7, amp + xcache, rpm包,php-fpm

1、实验需求:
1)CentOS 7, amp + xcache, rpm包,php-fpm;
a) 分别深度:httpd, php, mariadb分别部署在一个单独的主机上,以及都在同一主机;
b) 一个虚拟主机提供phpMyAdmin,另一个虚拟主机提供wordpress;
c) 为phpMyAdmim提供https服务;

2、实验环境:
1)服务器环境
Linux服务器操作系统版本:CentOS release 6.7 (Final)
http) IP: 172.16.66.60
php-fpm) IP:172.16.66.70
mariadb) IP:172.16.66.70

2)测试环境
WIN7系统客户机):IP:172.16.66.100

3、实验前提:
1)关闭防火墙和SELinux
# service iptables stop
# sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
# systemctl stop firewalld
# systemctl status firewalld

2)开发包组
# yum groupinstall Development Tools Server Platform Development -y

4、实验过程:



第一部分:
部署主机IP: 172.16.66.60

1 基本设置

1.1 设置 httpd 主机名 HOSTNAME
echo "HOSTNAME=www1" >> /etc/sysconfig/network

1.2 更新 HOSTS 配置文件 /etc/hosts
# echo "172.16.66.60 www1 www2 " >> /etc/hosts

1.3 修改 DNS 解析设置
vim /etc/resolv.conf

2 安装httpd-2.4.6

2.0 安装依赖库包
# yum install pcre-devel openssl-devel libevent-devel apr-devel apr-util-devel

2.1 编译安装并配置 httpd网络服务器
tools]# tar xf httpd-2.4.6.tar.bz2

2.2 编译相关参数
# ./configure --prefix=/usr/local/apache24 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi--enable-rewrite \
--enable-modules=most --enable-mpms-shared=all --with-mpm=prefork --with-pcre --with-zlib --with-apr=/usr --with-apr-util=/usr

2.3 编译
# make -j 4

2.4 开始安装(install是拷贝命令)
# make install

2.5 检查系统库文件对应路径
# ldconfig -v

2.6 已装载库文件路径
# ldconfig -v

2.7 在/etc/profile.d/目录中vim apache.sh 添加如下内容,为httpd添加环境变量。
# export PATH=/usr/local/apache24/bin:$PATH

2.8 使其环境变量生效
# source /etc/profile.d/apache.sh

2.9 把apache头文件导入到usr头文件中
# ln -sv /usr/local/apache24/include /usr/include/httpd

2.10 如果不想配置man文件,可以使用全路径,man帮助
# man /usr/local/apache24 httpd

2.11 启动apachectl
# apachectl start

2.12 为配置文件创建备份目录
# mkdir ~/confbak

2.13 备份配置文件 ~:表示当前登录用户文件夹 -R:递归所有子目录
# cp -R /etc/httpd24/ ~/confbak/

3.创建和配置虚拟主机

# cd /etc/httpd24/extra/

3.1配置虚拟主机(/etc/httpd24/extra/www1.conf)
vim /etc/httpd/conf.d/www1.conf

主机www1
[root@www1 conf.d]# cat www1.conf

ServerName www1
# ServerAlias www
DocumentRoot /data/vhosts/www1 #注意这行末尾不要带 /
ProxyRequests Off
DirectoryIndex index.php
ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.66.70:9000/data/vhosts/www1/$1

Options None
AllowOverride None
Require all granted

ErrorLog logs/www1-error_log
CustomLog logs/www1-access_log combien
#ServerSignature Off


3.2配置虚拟主机(/etc/httpd24/extra/www2.conf )
vim /etc/httpd/conf.d/www2.conf

主机 www2
[root@www1 conf.d]# cat www2.conf

ServerName www2
DocumentRoot /data/vhosts/www2
ProxyRequests Off
DirectoryIndex index.php
ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.66.70:9000/data/vhosts/www2/$1

Options None
AllowOverride None
Require all granted

ErrorLog logs/www2-error_log
CustomLog logs/www2-access_log combien
#ServerSignature Off


3.3 检查语法错误
# httpd -t

3.4 重载apachectl服务
# apachectl graceful

3.5 为虚拟主机创建网站目录www{1,2}
# mkdir /data/vhosts/www{1,2} -p

3.6 测试www1/index.html静态网页
# curl www1 -I

4.配置httpd24
4.1 启动httpd的相关模块 /etc/httpd24/httpd.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
Include /etc/httpd24/extra/www2.conf
Include /etc/httpd24/extra/www1.conf

4.2 删除原有/usr/local/apache24/htdocs/
# rm index.html

4.3让apache能识别php格式的页面
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


第二部分:
部署mariadb主机IP: 172.16.66.80

1安装和配置 Mariadb 数据库服务
1.1 创建存放tools工具目录
# mkdir /tools

1.2 解压mariadb 到指定目录
# tar xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/

1.3 创建mysql数据目录
# mkdir -pv /data/mydata

1.4 创建mysql系统组
# groupadd -r -g 306 mysql

1.5 创建mysql系统用户
# useradd -r -g 306 -u 306 mysql

1.6 授权属主属组/data/mydata
# chown -R mysql.mysql /data/mydata

1.7 创建软连接
# ln -sv mariadb-5.5.46-linux-x86_64 mysql

1.8 授权mysql安装包目录
# chown -R root.mysql ./

1.9 编译mariadb
# scripts/mysql_install_db --user=mysql --datadir=/data/mydata

1.10 创建mysql配置文件目录
# mkdir /etc/mysql

1.11 拷贝配置文件到指定目录
# cp support-files/my-large.cnf /etc/mysql/my.cnf

1.12 修改配置文件/ect/mysql/my.cnf 在server中添加下面三行
datadir = /data/mydata
innodb_file_per_table = ON
skip_name_resolve = ON

1.13 添加mysqld服务到开机自启动
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

1.14 为mysqld执行权限
# chmod +x /etc/rc.d/init.d/mysqld

1.14 添加到服务列表
# chkconfig --add mysqld

1.14 添加到开机自动启动
# chkconfig on

1.15 重命名/etc/my.cnf 为 my.cnf.bak
# mv my.cnf my.cnf.bak

1.16 添加mysql环境变量/etc/profile.d/myslqd.sh 下
export PATH=/usr/local/mysql/bin:/usr/local/mysql/support-files:$PATH

1.17 使其mysqld环境变量生效
# source /etc/profile.d/mysqld.sh

1.18 导入mysqld头文件到usr头文件中
# ln -sv /usr/local/mysql/include /usr/include/mysqld

1.19 启动mysqld服务
# mysql.server start

1.20 以查看内存占用情况
# top -u mysql

2.使用 MariaDB 内建的安全配置脚本进行配置

2.1 执行安全配置脚本进行配置

# mysql_secure_installation

2.2 输入密码后回车,下面是输出示例,可以看到命令提示符变为 MariaDB [(none)]>
# mysql -u root -p

2.3创建一个新数据库给 WordPress 用(这里取名为 wordpress,也可以用别的名字)
MariaDB [(none)]> create database wordpress;

2.4创建一个新用户,并将该数据库的权限赋给他(这里只是举例,用户名为 admin,密码为 admin)
MariaDB [(none)]> grant all on wordpress.* to 'admin'@'172.16.%.%' identified by 'admin';

2.5更新权限
MariaDB [(none)]> flush privileges;

2.6退出数据库
MariaDB [(none)]> quit

2.7 创建配置文件备份目录
# mkdir ~/confbak

2.7 备份配置文件
#cp /etc/my.cnf ~/confbak/my.cnf.bak

第三部分:
部署php5.4.40主机IP: 172.16.66.70

1安装和配置 php 数据库服务
1.1 创建存放tools工具目录
# mkdir /tools

1.2 创建配置文件备份目录
# mkdir ~/confbak/

1.3 安装依赖库
# yum install libxm12-devel gd-devel freetype-devel libmcrypt-devel -y

1.3 解压php 到指定目录
# tar xf php-5.4.40.tar.bz

1.4 编译安装php
# ./configure --prefix=/usr/local/php54 --with-mysql --with-mysqli --with-openssl --enable-mbstring --enable-xml --enable-sockets \
--enable-fpm --with-freetype-dir --with-gd --with-libxml-dir=/usr --with-zlib --with-bz2 --with-png-dir --with-mcrypt \
--with-config-file-path=/etc/php54.ini --with-config-file-scan-dir=/etc/php54.d

1.5 执行编译命令
# make

1.6 执行安装命令
# make install

1.7 拷贝配置文件到/etc/目录下
# cp /tools/php-5.4.40/php.ini-production /etc/php54.ini

1.8 软连接头文件到/usr/include/
# ln -sv /usr/local/php54/include /usr/include/


2.配置php-fpm

2.1 为php-fpm提供init 脚本
# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

2.2 为php-fpm执行权限
# chmod +x /etc/rc.d/init.d/php-fpm

2.3 加入到服务列表
~]# chkconfig --add php-fpm

2.4 设置开机自动运行
# chkconfig php-fpm on

2.5 为php-fpm提供配置文件
# cp /usr/local/php54/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf

2.6 备份配置文件到指定目录
# cp -R /usr/local/php54/etc/ ~/confbak/

2.7 编辑配置php-fpm的配置文件/usr/local/php54/etc/php-fpm.conf 修改如下5行
pm.max_children = 50
pm.start_servers = 2
pm.min_spare_servers = 2
pm.max_spare_servers = 8
pid = /usr/local/php54/var/run/php-fpm.pid
listen = 172.16.66.70:9000 本机监听ip
listen.allowed_clients = 172.16.66.60 允许的ip

2.8 启动php-fpm服务
# service php-fpm start

2.9 查看php-fpm服务是否启动成功
# ps aux | grep php-fpm

2.10 查看监听套接字
# netstat -tnlp | grep php-fpm

第四部分: 安装和配置 wordpress,phpMyAdmin
在php-fpm主机环境中 IP: 172.16.66.70

1.安装和配置wordpress

1.1 解压wordpress包
tools]# unzip wordpress-4.3.1-zh_CN.zip

1.2 拷贝到站点目录www1中

cp wordpress /data/vhosts/www1

1.3 改名wordpress配置文件为wp-config.php
]# cp wp-config-sample.php wp-config.php

1.4 修改wp-config.php文件连接数据库
~]# sed -n '22,38p' /data/vhosts/www1/wordpress/wp-config.php
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');

/** MySQL数据库用户名 */
define('DB_USER', 'admin');

/** MySQL数据库密码 */
define('DB_PASSWORD', 'admin');

/** MySQL主机 */
define('DB_HOST', '172.16.66.80');

/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');

/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');

2.安装和配置phpMyAdmin

2.1 解压phpMyAdmin包
tools]# unzip phpMyAdmin-4.4.14.1-all-languages.zip

2.2 拷贝到站点目录www2中
~]# cp -r phpMyAdmin-4.4.14.1-all-languages /data/vhosts/www2

2.3 配置phpMyAdmin软件
# ln -sv phpMyAdmin-4.4.14.1-all-languages/ pma

2.4 改名配置文件名
~]# cp config.sample.inc.php config.inc.php

2.5 生成随机数
~]# openssl rand -hex 8 #-->(640b56f72820ace8)

2.6 修改配置文件连接数据库config.inc.php
~]# vim config.inc.php
$cfg['blowfish_secret'] = '640b56f72820ace8'
$cfg['Servers'][$i]['host'] = '172.16.66.80';
$cfg['Servers'][$i]['user'] = 'admin';
$cfg['Servers'][$i]['password'] = 'admin';
$cfg['Servers'][$i]['connect_type'] = 'tcp';

3.测试php和mariad连通性

3.1 httpd-->php是否可以访问
www1]# cat admin.php
phpinfo();
?>

3.2 httpd-->php--mariadb是否可以访问
www1]#cat index.php
$conn = mysql_connect('172.16.100.71','admin','admin');
if($conn)
cho "OK";
else
echo "Failure";
?>

4.测试wordpress和phpMyAdmin

4.1 在PC浏览器中测试,wordpress是否能正常方式
http://www1/wordpress/index.php通过80端口访问

4.2 在PC浏览器中测试,根据提示输入数据库名和密码(主机账号和密码是授权wordpress中用户)
http://www2/pma/index.php


5.为php-fpm安装xcache加速器并配置

5.1 解压xcache3.3包
# tar xf xcache-3.2.0.tar.bz2

5.2 在/tools/xcache-3.2.0目录下 执行挂载接口
#/usr/local/php54/bin/phpize

5.3 编译安装
# ./configure --enable-xcache --with-php-config=/usr/local/php54/bin/php-config

# make && make install


5.4 编辑php.ini ,整合php和xcache

# cp /tools/xcache-3.2.0/xcache.ini /etc/php54.d


第五部分:为phpMyAdmim提供https服务
在httpd主机环境中 IP: 172.16.66.60

工作目录:/etc/pki/CA/

1.建立私有CA

1.1 生成私钥
CA]# (umask 077; openssl genrsa -out private/cakey.pem 2048)

1.2 生成自签证书
CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Common Name (eg, your name or your server's hostname) []:www2

1.3 提供辅助文件
CA]# touch index.txt
CA]# echo 01 > serial 序列号
CA]# tree
.
├── cacert.pem
├── certs
├── crl
├── index.txt
├── newcerts
├── private
│ └── cakey.pem
└── serial

2.节点申请证书

2.1 生成私钥
~]# mkdir -pv /etc/httpd/ssl
ssl]# (umask 077; openssl genrsa -out httpd.key 1024)

2.2 生成证书签署请求:
ssl]# openssl req -new -key httpd.key -out httpd.csr
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Common Name (eg, your name or your server's hostname) []:www2

2.3 把请求发给CA
ssl]# cp httpd.csr /tmp/


3.CA签发证书

3.1 签署证书
~]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt

3.2 把签署好的证书发还给请求者。
~]# cp /etc/pki/CA/certs/httpd.crt /etc/httpd/ssl/

注意:本次私建CA和节点申请证书在同一台机器完成。

4.配置httpd支持使用ssl,及使用的证书

4.1 在httpd.conf中启用mod_ssl模块
LoadModule ssl_module modules/mod_ssl.so
Include /etc/httpd24/extra/httpd-ssl.conf

4.2修改配置文件ssl.conf
~]# cat /etc/httpd/conf.d/ssl.conf

DocumentRoot "/data/vhosts/www2"
ServerName www2:443
ProxyRequests Off
DirectoryIndex index.php
ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.66.70:9000/data/vhosts/www2/$1
SSLCertificateFile /etc/httpd24/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd24/ssl/httpd.key

SSLOptions +StdEnvVars
AllowOverride None
Require all granted




第六部分:压力测试报告

配置 文件 目录 主机 数据 服务 数据库 环境 证书 测试 编译 备份 用户 虚拟主机 密码 拷贝 系统 生成 变量 命令 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 精品咖啡豆 天津市摩尔互联网科技 深圳互联网科技公司 互联网科技博客 深圳卡尔迅互联网科技有限公司怎么样 江苏南京365互联网科技 深圳国际航运科技和互联网 温州喔噻互联网科技有限公司 剑昆互联网络科技有限公司临桂 互联网科技项目计划书材料类 青岛科技大学互联网大赛研究生 华夏恒生科技与互联网科技 高科技互联网发展前景如何 科技赋能视角下互联网保险发展 启辰互联网科技 九思连强互联网电子科技有限公司 福建互联网展示科技馆设计 互联网科技机房 科技互联网专业务虚会材料 承德科技产业互联网平台 互联网科技产业 互联网科技集团 互联网 视角下的科技创新 顺网科技2021年互联网排名 贵州叶脉互联网科技有限公司所属行业 合肥互联网科技公司公章图片 黑科技 体验场景 互联网大会 互联网科技股为什么大涨 保山互联网科技靠谱吗 众联互联网络科技
0