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

[经验分享] nginx高可用,构建LNAMMP架构

[复制链接]

尚未签到

发表于 2018-11-14 06:31:36 | 显示全部楼层 |阅读模式
  keepalived实现nginx高可用:
  Directory1:
  IP:172.16.72.5
  Directory2:
  IP:172.16.72.4
  RS1:
  IP:172.16.72.6
  RS2:
  IP:172.16.72.7
  Virtual IP:172.16.72.1
  ①安装nginx,keepalived
  yum -y install nginx keepalived
  ②校准时间,设置ntpd服务,时间服务器
  ③配置Directory1的nginx
  配置文件/etc/nginx/nginx.conf
DSC0000.jpg

  upstream设置后端服务器的相关信息
  在servver中设置Directory反代
  proxy_pass
  Directory2的nginx配置相同;
  配置keepalived:
DSC0001.jpg

  keepalived脚本接口,用于判断nginx服务是否开启
  若nginx服务已关闭,则返回exit 1,权重-10,这样在抢占模式下BACKUP就会转为MASTER;
DSC0002.jpg

  Directory2的配置:
  nginx配置
DSC0003.jpg

  keepalived配置:
DSC0004.jpg

DSC0005.jpg

  nginx高可用验证:
  MASTER为Directory1:
DSC0006.jpg

  浏览器访问:
DSC0007.jpg

DSC0008.jpg

  关闭Directory1的nginx服务
  [root@localhost 桌面]# nginx -s stop
  MASTER转到Directory2上:
DSC0009.jpg

  访问浏览器:
DSC00010.jpg

DSC00011.jpg

  构建LNAMMP架构:
  1) Nginx既是前端调度器,又是缓存服务器;
  2) 将php的session缓存于memcached中;
  3) 在Apache和php上部署Discuz论坛程序;
  4) 使用https连接,即使用户使用的是http协议也可以以https协议进行访问;
  ①配置Nginx前端调度器,缓存服务器:
  如上所述;
  ②后端真实服务器上配置Discuz程序
  将Discuz程序导入,使用unzip解压缩;
  配置Mariadb
  如:
DSC00012.jpg

  解压后产生文件有upload,readme,utility;
  安装php-fpm;
  ③配置后端服务器的httpd
  两个Real Server的配置均相同,配置密钥的方式在这里不说了
DSC00013.jpg

  #yum install -y mod_ssl
  安装httpd下的https插件
  ④前端nginx的rewrite与反代
  在nginx高可用的基础上进行的修改
DSC00014.jpg

  rewrite重写为https模式;
DSC00015.jpg

  当访问80端口后,重写为https的域名,由443端口获取,再将其反代到wjq这个服务器组中;
  访问结果:
  直接访问https://www.wujunqi1.com/upload/install/index.php
DSC00016.jpg

  访问:http://www.wujunqi1.com/upload/install/index.php便会转到https服务
  断掉Directory1的nginx服务:
  #nginx -s stop
  访问第二台Directory2,结果相同
DSC00017.jpg

  设置memcached缓存服务器:
  缓存服务器IP为172.16.72.5即第一台MASTER主机
  安装memcached
  #yum install -y memcached
  启动memcached
  #systemctl start memcached.service
  并在后端RS的php上设置会话缓存,主要配置/etc/php-fpm.d/www.conf(安装的是php-fpm)
  若安装的是php,则修改/etc/php.ini配置文件;
DSC00018.jpg

  需要注意的是,在配置php会话缓存时,需要与memcached相对应的配置项,如php-pecl-memcache   或者php-pecl-memcached;
  使用如下代码,去验证php缓存是否成功:
DSC00019.jpg

  修改缓存服务器IP地址即可;
  该代码的主要意义在于,连接远程缓存服务器,并将hellokey作为键值,Hello World作为缓存数   据保存在缓存服务器中,保存时间600秒;
  访问nginx的虚拟IP,172.16.72.1,反代至后端的172.16.72.6主机得出缓存成功的结果;
DSC00020.jpg



运维网声明 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-634694-1-1.html 上篇帖子: Nginx配置之Gzip压缩 下篇帖子: Nginx之alias path 与root配置段的区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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