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

本文详细介绍了Nginx配置虚拟主机、实现反向代理及负载均衡的方法。通过端口和域名区分虚拟主机,利用Nginx进行反向代理,实现Tomcat服务器集群的负载均衡,提升网站性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

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 效果展示

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值