ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2021-08-04 13:01:06  阅读:166  来源: 互联网

标签:index 虚拟主机 nginx 访问 server ssl conf


一、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

在这里插入图片描述
在这里插入图片描述
清除浏览器缓存
在这里插入图片描述

标签:index,虚拟主机,nginx,访问,server,ssl,conf
来源: https://blog.csdn.net/sl963216757/article/details/119361872

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有