部署LAMP+NFS实现双Web服务器负载均衡

部署LAMP+NFS实现双Web服务器负载均衡

一、需求分析

1.前端需支持更大的访问量,单台Web服务器已无法满足需求了,则需扩容Web服务器;
2.虽然动态内容可交由后端的PHP服务器执行,但静态页面还需要Web服务器自己解析,那是否意味着多台Web服务器都需要在各自的系统中都存有一份静态页面数据呢?那么如果能将静态页面集中存放,所有Web服务器都来集中地取文件,对于文件的一致性就有了保障,这个集中地就叫做“文件共享服务器”;

二、需求实现:

1.web1充当http服务器和DNS解析服务器,客户端到web1和web2的请求,如果是静态资源请求通过php主机的NFS服务挂载的存储返回结果
2.web1和web2对于客户端动态资源请求都反向代理到后端php服务器进行执行后返回结果
3.web1和web2实现DNS轮询,客户端访问博客网站是负载均衡的。
4.建立wordpress博客
5.数据库存储wordpress博客的各种数据

三、架构图

部署LAMP+NFS实现双Web服务器负载均衡

四、步骤概述

1.部署LAMP环境、配置NFS服务器
2.web1、web2、php服务器全部挂载NFS共享目录为网站根目录
3.配置httpd实现动静分离
4.配置DNS实现负载均衡

五、详细过程 1.web1、web2服务器编译安装Apache # 安装依赖包 yum groupinstall "development tools" yum install openssl-devel expat-devel pcre-devel # # 解压文件 tar xvf apr-1.6.2.tar.gz tar xvf apr-util-1.6.0.tar.gz tar xvf httpd-2.4.27.tar.bz2 cp -r apr-1.6.2 httpd-2.4.27/srclib/apr cp -r apr-util-1.6.0 httpd-2.4.27/srclib/apr-util # # 编译安装 cd httpd-2.4.27/ ./configure \ --prefix=/app/httpd24 \ --sysconfdir=/etc/httpd24 \ --enable-so --enable-ssl \ --enable-rewrite --with-zlib \ --with-pcre --with-included-apr \ --enable-modules=most \ --enable-mpms-shared=all \ --with-mpm=prefork # make && make install # #配置环境变量 vim /etc/profile.d/lamp.sh PATH=/app/httpd24/bin/:$PATH . /etc/profile.d/lamp.sh # # 启动服务 apachectl start 2.数据库服务器二进制安装mariadb # 解压文件 tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/ cd /usr/local # # 创建软连接,mariadb在/usr/local下必须名为MySQL,可以创建软连接,可以改名 ln -s mariadb-10.2.8-linux-x86_64/ mysql # # 创建用户 useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql cd mysql/ # # 初始化数据库 scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql # # 创建配置文件 mkdir /etc/mysql cp support-files/my-large.cnf /etc/mysql/my.cnf # # 修改配置文件,指定数据库存放路径 vim /etc/mysql/my.cnf [mysqld] datadir = /app/mysqldb 在mysqld下添加这三行 innodb_file_per_table = ON skip_name_resolve = ON # # 复制启动脚本,添加开机自动启动 cp support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld chkconfig --list service mysqld start # # 创建日志目录 mkdir /var/log/mariadb chown mysql /var/log/mariadb/ # #添加环境变量 vim /etc/profile.d/lamp.sh PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH . /etc/profile.d/lamp.sh # #调用安全加固脚本,加固数据库。汉字为每一项的翻译 mysql_secure_installation 是否设置root密码 输入密码 确认密码 是否设置匿名用户 是否允许root远程登录 删除test数据库 现在是否生效 3.PHP应用服务器编译安装PHP7 # 安装依赖包 yum install libxml2-devel bzip2-devel libmcrypt-devel gcc openssl-devel tar xvf php-7.1.7.tar.bz2 # #编译安装 cd php-7.1.7.tar.bz2 ./configure \ --prefix=/app/php \ --enable-mysqlnd \ #mysqlnd 指明Mysql不再本地 --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-openssl \ --enable-mbstring \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir=/usr \ --enable-xml \ --enable-sockets \ --enable-fpm \ #用FPM模式 --with-mcrypt \ --with-config-file-path=/etc/php \ --with-config-file-scan-dir=/etc/php.d \ --with-bz2 # # 创建PHP配置文件 mkdir /etc/php/ cp php.ini-production /etc/php/php.ini # # 复制服务脚本,添加开机自动启动 cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig --list php-fpm # # 创建fpm的配置文件 cd /app/php/etc cp php-fpm.conf.default php-fpm.conf cd /app/php/etc/php-fpm.d/ cp default vim listen = 172.18.68.23:9000 #设置监听的IP,注释监听所有, 只写端口监听鄋 ;listen.allowed_clients = 127.0.0.1. #把这项注释掉,分号为注释 systemctl start php-fpm 4.配置NFS服务器

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

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