Nginx+LAMP构建动静分离

结合nginx反向代理构建nginx+lamp实现动静分离以及PHP服务器的负载均衡

准备环境

机器名称IP地址内存服务
c7--01192.168.2.11Gnginx服务
c7--07192.168.2.71Glamp服务
c7--08192.168.2.81Glamp服务

准备c7--01机器环境    安装步骤参考—(Nginx-简介及安装编译安装)

 c7--07:部署 real1节点的lamp服务

准备软件:

[root@C7--07 ~]# ls
httpd-2.2.17.tar.gz     mcrypt-2.6.8.tar.gz   mysql-5.6.36.tar.gz  cmake-2.8.6.tar.gz  libmcrypt-2.5.8.tar.gz  mhash-0.9.9.9.tar.gz  php-5.5.38.tar.gz

 安装步骤:  

一、安装mysql数据库:十章——MySQL主从复制与读写分离(应用——linux防护与群集)

二、安装httpd:Apache的管理

三 、安装PHP服务:Centos 7.4——LAMP架构分离部署+社区论坛部署

 创建index.php文件

[root@C7--07 ~]# vim /usr/local/httpd/htdocs/index.php


<meta charset="utf-8">
<?php
session_start();
$_SESSION['time'] =date("Y:m:d:H:s",time());
echo "本次访问时间"."<font color=red>".$_SESSION['time']."</font>"."<br>";
echo "访问的服务器地址是"."<font color=red>".$_SERVER['SERVER_ADDR']."</font>"."<br>";
echo "访问的服务器域名是"."<font color=red>".$_SERVER['SERVER_NAME']."</font>"."<br>";
echo "SESSIONNAME是"."<font color=red>".session_name()."</font>"."<br>";
echo "SESSIONID是"."<font color=red>".session_id()."</font>"."<br>";
?>

保存退出

c7--08部署 real2节点的lamp服务与c7--07相同

访问测试 192.168.2.7 192.168.2.8

注意: 如果访问不成功那就把index.html移到其他地方

配置 c7--01:Nginx节点的反向代理服务

[root@C7--01 ~]# vim /usr/local/nginx/conf/nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream lamp {                               #配置负载均衡池
         server 192.168.2.7:80 weight=1;          #加权轮系设置为1
         server 192.168.2.8:80 weight=1;          #加权轮系设置为1
         }
    
    server {
        listen       80;
        server_name  www.benet.com;
        location / {
            root   html;
            index  index.html index.htm;
        }
        location ~ \.(asp|aspx|php|jsp|do|js|css|png|jpg)$ {     #设置匹配后缀;匹配后跳转到轮询的负载均衡池的地址
             proxy_pass http://lamp;                             #当前是URI(相对路径)
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

保存退出

 修改本机的hosts文件   修改 c7--01的hosts文件

访问测试 : http://www.benet.com/    和   http://www.benet.com/index.php

以上SEDDIONID没变,是浏览器cookie导致的,清除并阻止浏览器的cookie

 Cookie的解释 :是一个保存在客户机中的简单的文本文件, 这个文件与特定的 web文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供该文档使用

查看日志分析访问情况

[root@C7--01 ~]# tail -3 /usr/local/nginx/logs/access.log 
192.168.2.254 - - [27/Nov/2021:03:01:11 +0800] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.2.254 - - [27/Nov/2021:03:01:21 +0800] "GET /index.php HTTP/1.1" 200 777 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.2.254 - - [27/Nov/2021:03:01:23 +0800] "GET /index.php HTTP/1.1" 200 777 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
[root@C7--07 ~]# tail -3 /usr/local/httpd/logs/access_log
192.168.2.254 - - [27/Nov/2021:02:51:58 +0800] "GET / HTTP/1.1" 200 784
192.168.2.1 - - [27/Nov/2021:03:01:01 +0800] "GET /index.php HTTP/1.0" 200 777
192.168.2.1 - - [27/Nov/2021:03:01:21 +0800] "GET /index.php HTTP/1.0" 200 777
[root@C7--08 ~]# tail -3 /usr/local/httpd/logs/access_log
192.168.2.254 - - [27/Nov/2021:02:51:54 +0800] "GET / HTTP/1.1" 200 790
192.168.2.1 - - [27/Nov/2021:03:01:06 +0800] "GET /index.php HTTP/1.0" 200 777
192.168.2.1 - - [27/Nov/2021:03:01:22 +0800] "GET /index.php HTTP/1.0" 200 777

调整负载调度算法

[root@C7--01 ~]# vim /usr/local/nginx/conf/nginx.conf

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream lamp {
         server 192.168.2.7:80 weight=1 down backup max_fails=3 fail_timeout=30;    #可以设置为最大失败次数;达到最大次数后停止服务30s
         server 192.168.2.8:80 weight=1;
         }
    
    server {
.......
...

配置nginx会话session保持

注意:客户端实现会话保持后,ip_hash模块默认计算值为客户端访问IP地址的前三段,如
若前三段一致,则会使用同一个hash值,所以在C类地址中,会产生同一个网段的所有主
机访问到同一个web节点的情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘浪初心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值