设为首页 收藏本站
查看: 2466|回复: 0

[经验分享] centos7部署LAMP+xcache(module模式)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-19 09:47:19 | 显示全部楼层 |阅读模式
centos7通过RPM包部署LAMP+xcache (php module)


环境要求:
(1)一个虚拟主机提供phpMyadmin
(2)一个虚拟主机提供WordPress
(3)利用xcache缓存来进行页面加速
(4)进行页面压力测试

wp.magedu.com------>提供WordPress
pma.magedu.com---->提供phpMyAdmin

1、安装httpd、php、php-myql、mariadb-server
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[iyunv@bogon ~]# yum -y install httpd php php-mysql mariadb-server

[iyunv@bogon ~]# rpm -q php
php-5.4.16-36.1.el7_2.1.x86_64
[iyunv@bogon ~]#
[iyunv@bogon ~]# rpm -q httpd
httpd-2.4.6-40.el7.centos.1.x86_64
[iyunv@bogon ~]#
[iyunv@bogon ~]# rpm -q php-mysql
php-mysql-5.4.16-36.1.el7_2.1.x86_64
[iyunv@bogon ~]#
[iyunv@bogon ~]# rpm -q mariadb-server
mariadb-server-5.5.47-1.el7_2.x86_64
[iyunv@bogon ~]#
[iyunv@bogon ~]# rpm -q mariadb
mariadb-5.5.47-1.el7_2.x86_64




2、启动所有的服务查看是否正常
1
2
3
4
5
6
7
8
9
10
11
12
13
启动httpd服务的时候最好是添加下以下一条,否则要解析,启动老慢了
[iyunv@bogon ~]# vim /etc/httpd/conf/httpd.conf
ServerName localhost:80

[iyunv@bogon ~]# systemctl start httpd.service
[iyunv@bogon ~]# systemctl start mariadb.service

[iyunv@bogon ~]# ss -tnl ####查看下监听地址是否正常
State       Recv-Q Send-Q                   Local Address:Port                     
LISTEN      0      50                                   *:3306  ##监听的mysql端口                     
LISTEN      0      5                        192.168.122.1:53                           
LISTEN      0      128                                  *:22                                    
LISTEN      0      128                                 :::80   ##监听的httpd服务端口




3、配置虚拟主机,提供两个虚拟主机为WordPress何phpmyadmin做准备
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[iyunv@bogon ~]# vim /etc/httpd/conf.d/vhost1.conf  ###第一个虚拟主机

<VirtualHost 192.168.1.104:80>
        DocumentRoot /data/www1/vhost1
        ServerName wp.magedu.com  
        ErrorLog "/var/log/www1/vhost1/error_log"  ##错误日志
        CustomLog "/var/log/www1/vhost1/access_log" common  ###访问日志

        <Directory "/data/www1/vhost1">
                Options None
                AllowOverride None
                Require all granted  ##此处需要授权,否则无法访网页
        </Directory>
</VirtualHost>


[iyunv@bogon ~]# vim /etc/httpd/conf.d/vhost2.conf  ###第二个虚拟主机
<VirtualHost 192.168.1.104:80>
        DocumentRoot /data/www2/vhost2
        ServerName pma.magedu.com  
        ErrorLog "/var/log/www2/vhost2/error_log"
        CustomLog "/var/log/www2/vhost2/access_log" common

        <Directory "/data/www2/vhost2">
                Options None
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>




4、准备网页及日志路径等信息
1
2
3
4
5
6
7
8
[iyunv@bogon ~]# mkdir -p /data/www1/vhost1  #####DocumentRoot路径
[iyunv@bogon ~]# mkdir -p /data/www2/vhost2

[iyunv@bogon ~]# echo "vhost1" > /data/www1/vhost1/index.html  ###网页路径
[iyunv@bogon ~]# echo "vhost2" > /data/www2/vhost2/index.html

[iyunv@bogon ~]# mkdir -p /var/log/www1/vhost1  ###日志路径
[iyunv@bogon ~]# mkdir -p /var/log/www2/vhost2




5、检查配置文件是否正常,然后重新加载配置,测试
1
2
3
4
5
[iyunv@bogon ~]# httpd -t
Syntax OK
[iyunv@bogon ~]# systemctl reload httpd.service

注:由于我们有搭建DNS所有此处我就把相关的信息给写在了hosts文件中了




6、此处如果测试网页是没问题的,那我们接下了就要测试下php是否正常,编辑php文件在网页路径下。
1
2
3
4
[iyunv@bogon ~]# vim /data/www1/vhost1/index.php
<?php
        phpinfo();
?>




7、测试下php连接数据是否正常
1
2
3
4
5
6
7
8
9
<?php
        $conn =  mysql_connect('192.168.1.104','test','test');
                if ($conn)
                        echo "mysql is ok";
                else
                        echo "mysql is bad";
        phpinfo();
?>
    此时测试肯定是不成功的我没有mysq授权用户




8、登录mysq进行授权用户可以进行访问和连接
1
2
MariaDB [(none)]> create database wpdb
MariaDB [(none)]> grant all on wpdb.* to 'test'@'192.168.%.%' identified by 'test';




9、现在在测试下我们php和mysq连接
wKiom1eMimaTLVOFAABkcFt4qh8475.jpg

10、测试结果没有问题那么我们的LAMP环境部署ok可,接下来我们就在两个虚拟主机上分别部署下软件应用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
首先我们部署WordPress在第一个wp.magedu.com虚拟主机上

[iyunv@bogon ~]# unzip phpMyAdmin-4.0.5-all-languages.zip
[iyunv@bogon ~]# cp -r wordpress /data/www1/vhost1/
[iyunv@bogon wordpress]# cp wp-config-sample.php wp-config.php

[iyunv@bogon wordpress]# vim wp-config.php
/** WordPress数据库的名称 */
define('DB_NAME', 'wpdb');

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

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

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



wKiom1eMj1-z7Z_-AAB1Y0TWFms987.jpg

11、ok接下来我们不部署phpMyadmin到pma.magedu.com这个虚拟主机上
1
2
3
4
5
6
7
[iyunv@bogon ~]# mv phpMyAdmin-4.0.5-all-languages /data/www2/vhost2/
[iyunv@bogon libraries]# cd phpMyAdmin-4.0.5-all-languages/libraries/
[iyunv@bogon libraries]# vim config.default.php
$cfg['blowfish_secret'] = 'W1rBVqdwufYEiymPTfOsUQ';
$cfg['Servers'][$i]['host'] = '192.168.1.104';
$cfg['Servers'][$i]['user'] = 'test';
$cfg['Servers'][$i]['password'] = 'test';




12、接下来我们访问下看看怎么样,其实会包错缺少php-mbstring这个包,那么我们安装下就可以了
1
2
[iyunv@bogon ~]# yum -y install php-mbstring
[iyunv@bogon ~]# systemctl reload httpd




13、当上这做完了后,我们可以登录到系统了,但是么有权限创建表等,所有在授权下就ok了
1
MariaDB [(none)]> grant all on *.* to 'test'@'192.168.%.%' identified by 'test';



wKioL1eMk-qABdWpAAFtTQfkpwY725.jpg

14、现在我们LAMP平台部署软件就到此结束了,但是们网站压力测试怎么样呢??下面我们测试下看看:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Document Path:          /wordpress
Document Length:        453 bytes

Concurrency Level:      100
Time taken for tests:   3.756 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      679000 bytes
HTML transferred:       453000 bytes
Requests per second:    266.28 [#/sec] (mean)
Time per request:       375.551 [ms] (mean)
Time per request:       3.756 [ms] (mean, across all concurrent requests)
Transfer rate:          176.56 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        3  123 316.7     11    1151
Processing:     4   51 131.4     11    2272
Waiting:        4   45 111.4     11    2272
Total:          9  174 350.8     30    3399

Percentage of the requests served within a certain time (ms)
  50%     30
  66%     39
  75%     47
  80%    223
  90%   1015
  95%   1030
  98%   1223
  99%   1228
100%   3399 (longest request)




15、我们就下来就安装下xcache来加速php,然后测试下看是否能提升访问速度呢!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[iyunv@bogon ~]# yum list | grep  php-xcache
php-xcache.x86_64                       3.1.1-1.el7                    epel   

[iyunv@bogon ~]# yum -y install php-xcache

[iyunv@bogon ~]# cd  /etc/php.d/
[iyunv@bogon php.d]# ls
curl.ini  fileinfo.ini  json.ini  mbstring.ini  mysqli.ini  mysql.ini  pdo.ini  
pdo_mysql.ini  pdo_sqlite.ini  phar.ini  sqlite3.ini  xcache.ini  zip.ini
###安装后生成xcache.ini文件
而且我们php测试页面中也可以看到有xcache加载

[iyunv@bogon ~]# vim /etc/php.d/xcache.ini
xcache.size  =               300M  ####修改下缓存的大小



wKioL1eMt2ijI7y5AAAfbS17H5E665.jpg
16、我们现在做下测试看看情况吧:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Document Path:          /wordpress
Document Length:        453 bytes

Concurrency Level:      100
Time taken for tests:   2.133 seconds ##所有请求处理完成花费时间
Complete requests:      1000  ##完成请求数
Failed requests:        0  ##失败数
Write errors:           0
Total transferred:      679000 bytes
HTML transferred:       453000 bytes
Requests per second:    468.82 [#/sec] (mean) ##每秒请求数的吞吐
Time per request:       213.303 [ms] (mean) ###服务器收到请求响应页面花费时间
Time per request:       2.133 [ms] (mean, across all concurrent requests)#并发每个消耗时间
Transfer rate:          310.87 [Kbytes/sec] received ###平均每秒流量

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4   68 225.0     15    1014
Processing:     4   56  95.2     20     470
Waiting:        4   55  95.5     19     470
Total:          9  124 259.4     38    1432

Percentage of the requests served within a certain time (ms)
  50%     38
  66%     44
  75%     49
  80%     54
  90%    256
  95%   1015
  98%   1224
  99%   1228
100%   1432 (longest request)



新手上路有不对的地方请多多指正,谢谢!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-246143-1-1.html 上篇帖子: CentOS 7配置+xcache, php module 下篇帖子: eAccelerator、Xcache和Zend Optimizer的测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表