lamp架构nginx常见配置:虚拟主机ssl权重backup相关算法添加

Posted dezasseis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lamp架构nginx常见配置:虚拟主机ssl权重backup相关算法添加相关的知识,希望对你有一定的参考价值。

一、nginx虚拟主机

构建nginx虚拟主机,可以使在访问同一台主机不同域名的时候访问不同的页面

  • vim /usr/local/nginx/conf/nginx.conf 编辑配置文件添加相应设置
         location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

##最后添加
server {
        listen 80;  
        server_name     www.westos.org;

        location / {
        proxy_pass http://westos;
        }
}
server {
        listen 80;
        server_name     www.linux.org;
        
        location / {
                root  /web1;
                index   index.html;
        }


  • 语法检测

  • 创建访问web1时的默认发布界面
  • 测试

二、添加ssl

  • 创建证书与key的相关文件

cd /etc/pki/tls/private/
make cert.pem

  • 将证书与key放在nginx相关配置目录中
    mv cert.pem /usr/local/nginx/conf/
  • 编辑nginx配置文件
server {
    listen       443 ssl;
    server_name  localhost;

    ssl_certificate      cert.pem;
    ssl_certificate_key  cert.pem;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root   html;
        index  index.html index.htm;
    }
}

  • 语法检测
    nginx -t
  • 重载
    nginx -s reload
  • 测试
    https开启443端口
    访问http://172.25.2.1/

三、设置权重与backup

  • vim /usr/local/nginx/conf/nginx.conf 编辑配置文件
http {
    upstream westos {
    server 172.25.2.2:80 weight=3;
    server 172.25.2.3:80;
    server 127.0.0.1:80 backup;
    }
    include       mime.types;
    default_type  application/octet-stream;

nginx -t
nginx -s reload

  • 当server2宕机,只会调度到server3
    systemctl stop httpd.service

    当server2和server3宕机,调度到backup端
    systemctl stop httpd.service

四、添加算法

01_ip_hash算法

源地址不变,则访问的后端不变,同一主机IP会被调度到同一后段

  • server2和server3开启apache服务:
    systemctl start httpd.service
  • vim /usr/local/nginx/nginx.conf

客户访问nginx大致流程为:client > cdn加速(反向代理机制)> nginx ip_hash。上述流程nginx得到的cdn的ip地址,无法获得客户端ip地址,故经过cdn访问时,不适合采用ip_hash算法

采用cookie方式解决此问题,客户端通过浏览器访问服务器时,服务器会给每个客户端返回一个cookie,cookie值保存在客户端的浏览器中,只要不关闭浏览器,此cookie值就不会改变。之后客户端再访问浏览器时,凭借此cookie值匹配服务器的session,达到访问同一后端的目的。

02_sticky

模拟cookie实验
cd //root/nginx-1.18.0/
make clean
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --add-module=/root/nginx-goodies-nginx-sticky-module-ng-08a395c66e42
make

nginx -s stop

vim /usr/local/nginx/nginx.conf

nginx -t
nginx -s reload



清除浏览器缓存

以上是关于lamp架构nginx常见配置:虚拟主机ssl权重backup相关算法添加的主要内容,如果未能解决你的问题,请参考以下文章

lamp架构nginx常见配置:虚拟主机ssl权重backup相关算法添加

LAMP架构(nginx安装,默认虚拟主机,用户认证,域名重定向,nginx配置文件详解)

基于LAMP架构实现web网站高可用集群

KVM虚拟化搭建nginx负载均衡 和lamp 架构(三 nginx负载均衡)

第十二章LNMP架构(下)

Lamp架构部署网络环境——nginx服务的配置