CentOS 7, 基于rpm包方式安装部署apm(php module) + xcache;
            a) 一个虚拟主机提供phpMyAdmin,另一个虚拟主机提供wordpress;
            b) 为phpMyAdmim提供https服务;
           

  1. 需要工具:httpd,php,php-mysql,mariadb-server,php-xcache
     2.LAMP的部署
                    a.设置httpd虚拟主机
                        在/etc/httpd/conf.d/下创建 *.conf文件(以admin.conf为例)

        1. ,因为在主配置文件下有一条IncludeOptional conf.d/*.conf  ,所以所有在/etc/httpd/conf.d/*.conf 文件都会作为配置文件生效

  2. Listen 172.16.0.149:8000   
    
            ServerName www.admin.com
            DocumentRoot "/mnt/admin/"
            
                    Options None
                    AllowOverRide None
                    Require all granted
            
    
    注意:若监听的ip地址不是有效ip则服务将无法启动

3.启动httpd服务,关闭防火墙和SELINUX(此处是内部测试,建议先关闭)

创建上面的web映射目录,并且在该目录下。创建index.php文件,写其文件内容为

    phpinfo();  //php内建函数,用于php测试

?>

使用网页端测试

3.将phpmyadmin解压到web目录下

[root@localhost admin]# ls
index.php  phpMyAdmin-3.5.4-all-languages.tar.gz
[root@localhost admin]# tar xf phpMyAdmin-3.5.4-all-languages.tar.gz 
[root@localhost admin]# mv phpMyAdmin-3.5.4-all-languages myadmin  //为了网页查找方便,给此目录更换名称
[root@localhost admin]# ls
index.php  myadmin  phpMyAdmin-3.5.4-all-languages.tar.gz

4.切换至myadmin目录下,会发现里面有一个index.php文件,然后我们使用网页打开该文件

现在需要使用数据库去登录该程序,(此程序的默认host为localhost,无法更改),所以

5.数据库设置:

[root@localhost ~]# systemctl start mariadb //启动数据库

MariaDB [(none)]> grant all on *.* to 'myadmin'@'localhost' identified by '111111';  //创建一个用户并授权
Query OK, 0 rows affected (0.07 sec)

MariaDB [(none)]> flush privileges;   //刷新权限表
Query OK, 0 rows affected (0.05 sec)

MariaDB [(none)]>

6.返回刚刚的网页,用新建的用户名和密码登录,则可以对数据库进行设置(如下);


二:wordpress的实现

同上,创建一个虚拟主机,此次为word.conf


        Servername www.word.com
        DocumentRoot "/mnt/word/"
        
                Options none
                AllowOverride none
                Require all granted
        

2.创建相应的web映射目录,并将wordpress解压到该目录

[root@localhost ~]# ls /mnt/word/
index.html  index.php  word  wordpress-4.2-zh_CN.tar.gz

同样打开word目录下的index.php文件

3.同样创建一个新的数据库并给其授权

MariaDB [(none)]> create database word;
MariaDB [(none)]> grant all on word.* to 'word'@'localhost' identified by '123';

4.在网页登录数据库

5.登录成功后,会出现如下界面,(需要我们在word目录下创建wp-config.php文件,并将下列内容复制进去,写完刷新,重新登录)

6.压力测试

[root@bogon ~]# ab -c 100 -n 1000 172.16.0.149:8000/index.php
.......

Total transferred:      47724875 bytes
HTML transferred:       47521875 bytes
Requests per second:    370.11 [#/sec] (mean)
Time per request:       270.190 [ms] (mean)
Time per request:       2.702 [ms] (mean, across all concurrent requests)
Transfer rate:          17249.43 [Kbytes/sec] received

7.在epel源,安装php-xcache,安装完成后重启http服务,在测试页面可以找到xcache

再次压力测试

Total transferred:      53075901 bytes
HTML transferred:       52872901 bytes
Requests per second:    314.28 [#/sec] (mean)
Time per request:       318.189 [ms] (mean)
Time per request:       3.182 [ms] (mean, across all concurrent requests)
Transfer rate:          16289.65 [Kbytes/sec] received
发现并没什么卵用,这是yum安装的版本不兼容



二:        (2) CentOS 7, 基于rpm包方式安装部署apm(php-fpm) + xcache;
            a) httpd, php, mariadb分别部署在一个单独的主机上;
            b) 一个虚拟主机提供phpMyAdmin,另一个虚拟主机提供wordpress;
            c) 为phpMyAdmim提供https服务;

使用php-fpm,需要http版本2.4以上,且得卸载php模块.

注意:php模块,是将php作为模块加载到httpd里面实现的,而php-fpm则是一个独立的守护进程,需要http使用fcgi协议向php-fpm发送动态资源请求,从而实现LAMP

  1. 卸载php,会发现动态资源以及无法解释

    1. 配置php-fpm,(编辑/etc/php-fpm.d/www.conf),

    listen.allowed_clients = 127.0.0.1 //允许哪个客户端访问

    b.开启php-fpm服务

    [root@localhost ~]# systemctl start php-fpm
    重新编辑admin.conf和word.conf文件
    
    
            Servername www.word.com
            DocumentRoot "/mnt/word/"
            ProxyRequests Off //关闭反向代理
            ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/mnt/word/$1 //将匹配到的所有以.php结尾的文件通过fcgi协议通过9000端口发送到127.0.0.1/mnt/word/目录下找相应的文件
            
                    Options none
                    AllowOverride none
                    Require all granted
            
    

    重启服务,再次打开 word网页