LAMP之AMP分离+XCache加速

搭建LAMP平台,要求apache、php、MariaDB分别在不同服务器实现动静分离,不需要考虑动态服务器和静态服务器数据同步问题;

在LAMP平台之上,搭建博客和论坛,博客和论坛分别位于不同主机;

公网用户除了可以访问httpd之外不能访问内网任何一台服务器;

部署完成使用ab命令进行压力测试,并且部署Xcache为php提供加速功能。

环境拓扑如下所示:

LAMP之AMP分离+XCache加速

部署思路 网络环境:

Apache服务器使用双网卡,一块网卡监听外网用户请求,一块网卡和内网服务区进行通信,apache的内网网卡和其他服务器使用交换机进行连接。

Apache和php交互:

Apache和php交互有三种方式,cgi,模块方式,fcgi;但是cgi和fcgi跨主机访问php服务器,所以apache和php服务器只能使用fcgi方式进行交互。

php和MariaDB交互:

安装bbs和blog时,会要求提供MariaDB数据库和用户密码等信息,所以只需要在MariaDB数据创建好相关的数据库和用户,然后在保证php服务器可以访问即可。

bbs和blog安装问题:

安装的程序包需要在apache和php服务器都存在一份,apache提供静态页面访问,php提供动态页面访问;不考虑同步问题

如果出现要求对程序有写入权限,静态服务器设置apache的服务用户daemon对文件可写,动态服务器设置php-fpm的服务用户nobody对文件可写。

实验环境

系统版本

 

主机名

 

ip地址

 

Apache

 

CentOS 6.6 64位

 

web-01

 

外网:eth0: 1.1.1.1

内网:eth1:172.16.4.100

 

论坛

 

Centos 6.6 64位

 

bbs-01

 

内网: eth0:172.16.4.101

 

博客

 

Centos 6.6 64位

 

blog-01

 

内网: eth0:172.16.4.102

 

数据库

 

Centos 6.6 64位

 

MariaDB-01

 

内网:eth0:172.16.4.136

 
使用软件 apr-1.5.0.tar.bz2 apr-util-1.5.3.tar.bz2 httpd-2.4.10.tar.bz2 mariadb-5.5.43-linux-x86_64.tar.gz php-5.4.40.tar.bz2 wordpress-3.3.1-zh_CN.zip xcache-3.2.0.tar.bz2 Discuz_7.2_FULL_SC_UTF8.zip

------------------------------------分割线------------------------------------

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境

Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境 

Windows 7下硬盘安装Ubuntu 14.10图文教程

U盘安装Ubuntu 14.10

Ubuntu 14.10 正式发布下载

Ubuntu 14.04 LTS 如何升级到 Ubuntu 14.10 

Ubuntu 14.10 下安装 LAMP 服务图文详解 

------------------------------------分割线------------------------------------


Apache 配置

解决依赖关系

yum -y groupinstall "Development tools""Desktop Platform Development" yum -y install pcre-devel openssl-devel tar xf apr-1.5.0.tar.bz2 cd apr-1.5.0 ./configure --prefix=/usr/local/apr make && make install cd .. 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 cd ..

编译安装httpd

tar xf httpd-2.4.10.tar.bz2 cd httpd-2.4.10 ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24--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 --with-mpm=event make && make install

修改PATH变量,让系统可以直接找到http的命令路径

[root@web-01 httpd-2.4.10]# vim/etc/profile.d/httpd.sh export PATH=/usr/local/acaphe/bin:$PATH [root@web-01 httpd-2.4.10]# ./etc/profile.d/httpd.sh [root@web-01 httpd-2.4.10]# which httpd /usr/local/apache/bin/httpd

设置启动脚本

[root@web-01 httpd-2.4.10]# cp/usr/local/apache/bin/apachectl /etc/init.d/httpd24 [root@web-01 httpd-2.4.10]# vim /etc/init.d/httpd24 #!/bin/sh # chkconfig: 35 85 15 #设置服务识别参数,3、5级别启动,启动顺序85,关闭顺序15 # description: Apache #服务描述信息 [root@web-01 ~]# chkconfig --add httpd24 [root@web-01 ~]# chkconfig --level 35 httpd24 on [root@web-01 ~]# chkconfig --list httpd24 httpd24 0:off 1:off 2:off 3:on 4:off 5:on 6:off

修改httpd配置文件设置监听的端口

[root@web01 ~]# vim /etc/httpd24/httpd.conf Listen 1.1.1.1:80 Listen 172.16.4.100:80

启动服务并访问验证

[root@web01 ~]# service httpd24 start [root@web01 ~]# netstat -lnt | grep 80 tcp 0 0 172.16.4.100:80 0.0.0.0:* LISTEN tcp 0 0 1.1.1.1:80 0.0.0.0:* LISTE

LAMP之AMP分离+XCache加速

虚拟主机配置

编辑主配置文件,注释中心主机,启用虚拟主机选项

[root@web01 ~]# vim /etc/httpd24/httpd.conf #DocumentRoot "/usr/local/apache/htdocs" Include /etc/httpd24/extra/httpd-vhosts.conf

设置虚拟主机

[root@web01 ~]# vim/etc/httpd24/extra/httpd-vhosts.conf <VirtualHost *:80> ServerName bbs.discuz.com DocumentRoot "/www/bbs" <Directory "/www/bbs"> Options none AllowOverride none Require all granted </Directory> ErrorLog"/var/log/httpd/bbs-error-log" CustomLog"/var/log/httpd/bbs-access-log" common </VirtualHost> <VirtualHost *:80> ServerName blog.wordpress.com DocumentRoot "/www/blog" <Directory "/www/blog"> Options none AllowOverride none Require all granted </Directory> ErrorLog"/var/log/httpd/blog-error-log" CustomLog"/var/log/httpd/blog-access-log" common </VirtualHost>

设置虚拟主机目录

[root@web01 ~]# mkdir -p /www/{bbs,blog} [root@web01 ~]# echo bbs > /www/bbs/index.html [root@web01 ~]# echo blog > /www/blog/index.html

访问测试虚拟主机

LAMP之AMP分离+XCache加速

LAMP之AMP分离+XCache加速

MariaDB 配置

配置/dev/sda3为lvm分区

[root@MariaDB-01 ~]# fdisk -l /dev/sda Disk /dev/sda: 128.8 GB, 128849018880 bytes 255 heads, 63 sectors/track, 15665 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000471dd DeviceBoot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 7859 62914560 8e Linux LVM /dev/sda3 7859 11775 31462303+ 8e Linux LVM

创建逻辑卷

[root@MariaDB-01 ~]# lvcreate /dev/sda3 [root@MariaDB-01 ~]# vgcreate myvg /dev/sda3 [root@MariaDB-01 ~]# lvcreate -L 15G -n mydata myvg [root@MariaDB-01 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mydata myvg-wi-a----- 15.00g root vg0 -wi-ao---- 20.00g swap vg0 -wi-ao---- 2.00g usr vg0 -wi-ao---- 10.00g var vg0 -wi-ao---- 20.00g

格式化并挂载

[root@MariaDB-01 ~]# mkfs.ext4 /dev/myvg/mydata [root@MariaDB-01 ~]# vim /etc/fstab /dev/myvg/mydata /mydata ext4 defaults 0 0 [root@MariaDB-01 ~]# mkdir /mydata [root@MariaDB-01 ~]# mount -a

创建MariaDB服务用户,并且设置数据目录的属主属组为服务用户

[root@MariaDB-01 ~]# groupadd -r mysql [root@MariaDB-01 ~]# useradd -g mysql -r -s/sbin/nologin -M mysql [root@MariaDB-01 ~]# mkdir /mydata/data [root@MariaDB-01 ~]# chown -R mysql:mysql/mydata/data/

安装MariaDB并初始化

tar xf mariadb-5.5.43-linux-x86_64.tar.gz -C/usr/local/ cd /usr/local/ ln -sv mariadb-5.5.43-linux-x86_64/ mysql cd mysql/ chown -R mysql:mysql . scripts/mysql_install_db --user=mysql--datadir=/mydata/data/

为MariaDB提供主配置文件

[root@MariaDB-01 mysql]# cpsupport-files/my-large.cnf /etc/my.cnf [root@MariaDB-01 mysql]# vim /etc/my.cnf thread_concurrency = 2 #设置CPU核心数量乘以2 datadir = /mydata/data #设置数据文件目录 innodb_file_per_table = 1 #使用inoodb引擎,每表一个表文件

为MariaDB提供启动脚本

[root@MariaDB-01 mysql]# cpsupport-files/mysql.server /etc/rc.d/init.d/mysqld [root@MariaDB-01 mysql]# chkconfig --add mysqld [root@MariaDB-01 mysql]# chkconfig mysqld on [root@MariaDB-01 mysql]# chkconfig --list mysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

修改PATH环境变量,让系统直接使用MariaDB相关命令

[root@MariaDB-01 ~]# vim /etc/profile.d/mysql.sh export PATH=/usr/local/mysql/bin:$PATH [root@MariaDB-01 ~]# . /etc/profile.d/mysql.sh

启动测试

[root@MariaDB-01 ~]# service mysqld start Starting MySQL... [ OK ] [root@MariaDB-01 ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 2 Server version: 5.5.43-MariaDB-log MariaDB Server Copyright (c) 2000, 2015, Oracle, MariaDBCorporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clearthe current input statement. MariaDB [(none)]> 

更多详情见请继续阅读下一页的精彩内容

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d747b2aef52016bf2bb1fdb2869d1336.html