nginx配置虚拟主机,实现反向代理和负载均衡

一、前言

nginx的安装、启动使用教程请参考前一篇文章
nginx基础

二、nginx配置虚拟主机

就是在一台服务器启动多个网站。
如何区分不同的网站:

  • 域名不同
  • 端口不同

2.1 通过端口区分不同虚拟机

2.1.1 找到nginx安装的配置文件

在这里插入图片描述

2.1.2 修改配置文件

这里建议采用xftp软件打开配置文件,方便操作
在这里插入图片描述
打开之后如图所示,文档中#开头为注释,可以去掉


```java

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

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


在这里插入图片描述
在配置文件中添加虚拟主机
在这里插入图片描述

2.1.3 复制html文件

为了便于呈现效果,复制html文件,并修改其内容

命令:cp html html81
在这里插入图片描述

2.1.4 重新加载配置文件

在这里插入图片描述

2.1.5 效果展示

在这里插入图片描述
在这里插入图片描述

2.2 通过域名区分虚拟主机

域名就是网站
DNS服务器:把域名解析为ip地址。保存的就是域名和ip的映射关系
一个域名对应一个ip地址,一个ip地址可以被多个域名绑定

2.2.1 修改本机配置文件hosts

为了在本机上起到通过域名访问的效果,需要配置一下hosts文件

hosts文件地址:C:\Windows\System32\drivers\etc

在这里插入图片描述
在这里插入图片描述

2.2.2 修改nginx的配置文件,添加新的服务

在这里插入图片描述

2.2.3 复制html文件,并修改内容

在这里插入图片描述

2.2.4 效果展示

在这里插入图片描述在这里插入图片描述

三、反向代理

3.1 什么是反向代理

正向代理
在这里插入图片描述反向代理
在这里插入图片描述
反向代理服务器决定哪台服务器提供服务

3.2 Nginx实现反向代理

3.2.1 配置域名

首先在本机的hosts文件中添加新的域名
在这里插入图片描述

3.2.2 配置Tomcat服务器

在虚拟机上配置两台Tomcat服务器,并修改其端口号一个为8081,一个为8082
在这里插入图片描述
在这里插入图片描述并修改index.jsp以便于区分
在这里插入图片描述

3.2.3 查看两台Tomcat服务器是否启动成功

在这里插入图片描述
在这里插入图片描述

3.2.4 反向代理服务器的配置

    upstream sina{
	server 192.168.12.128:8082;
   }
    server {
        listen       80;
        server_name  www.sina.com.cn;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://sina;
            index  index.html index.htm;
        }
    }

    upstream sohu{
	server 192.168.12.128:8081;
   }
    server {
        listen       80;
        server_name  www.sohu.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://sohu;
            index  index.html index.htm;
        }
    }

在这里插入图片描述

3.2.5 重新加载配置文件,查看效果

在这里插入图片描述在这里插入图片描述

四、nginx负载均衡(tomcat集群)

如果一个服务由多条服务器提供,需要把负载分配到不同的服务器处理,需要负载均衡

4.1 再新建一台Tomcat服务器,并启动

端口号为:8083
在这里插入图片描述

4.2 修改nginx配置文件

在这里插入图片描述

4.3 效果展示

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一款高性能的Web服务器软件,同时也是一款常用的反向代理服务器软件。通过配置Nginx实现https负载均衡可以提高网站的可用性和稳定性。 在配置https负载均衡前,首先需要准备SSL证书。可以使用自签名证书或者购买第三方认证机构颁发的证书。然后,在Nginx配置文件中做如下设置: 1. 定义上游服务器池:在http块中,使用upstream指令定义上游服务器池,指定多个https后端服务器和端口。例如: ``` http { upstream backend { server 192.168.1.101:443; server 192.168.1.102:443; } } ``` 2. 配置虚拟主机:使用server指令配置虚拟主机,监听https请求并将其转发给上游服务器池。同时,设置SSL相关参数,包括证书文件路径和私钥文件路径等。例如: ``` http { server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; location / { proxy_pass https://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } ``` 3. 重载配置文件:修改Nginx配置文件后,需要使用命令行执行`nginx -s reload`命令,使配置文件生效。 通过以上配置Nginx会接收来自客户端的https请求,然后将其转发给上游服务器池中的后端服务器进行处理。同时,Nginx还会根据负载均衡算法选择一个合适的后端服务器,以实现请求的分发和负载均衡。 需要注意的是,上述配置只是一种简单的https负载均衡配置示例,实际的配置还可以根据具体需求进行调整和扩展。另外,为了确保安全性和性能,建议使用较新版本的Nginx,并遵循最佳实践指南进行配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值