CentOS 7, 基于rpm包方式安装部署apm(php module) + xcache;
a) 一个虚拟主机提供phpMyAdmin,另一个虚拟主机提供wordpress;
b) 为phpMyAdmim提供https服务;
需要工具:httpd,php,php-mysql,mariadb-server,php-xcache
2.LAMP的部署
a.设置httpd虚拟主机
在/etc/httpd/conf.d/下创建 *.conf文件(以admin.conf为例),因为在主配置文件下有一条IncludeOptional conf.d/*.conf ,所以所有在/etc/httpd/conf.d/*.conf 文件都会作为配置文件生效
Listen 172.16.0.149:8000
ServerName www.admin.com DocumentRoot "/mnt/admin/" 注意:若监听的ip地址不是有效ip则服务将无法启动Options None AllowOverRide None Require all granted
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
卸载php,会发现动态资源以及无法解释
配置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网页