基于Docker部署并试用Nginx主要功能

本文介绍了如何使用Docker部署Nginx并实现Web服务器功能,包括基于域名和端口访问的配置及测试,以及反向代理、负载均衡和流量限制等高级特性。通过实战步骤,读者将掌握Nginx配置和功能测试的全过程。

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

1 Web服务器功能

1.1 基于域名访问

1.1.1 需求说明

  1. 局域网内部有A和B两个网站,利用Nginx可以做为Web服务器的功能,把这两个网站部署到同一台Nginx类型的Web服务器上,并在Nginx中设置按域名来访问这两个网站,其中对域名aaa.test.com的访问请求由A网站处理,对域名bbb.test.com的访问请求由B网站处理。
  2. 在Ubuntu中部署一个Nginx的Docker容器,该容器即为Nginx Web服务器,其中A网站部署在Nginx Web服务器的/usr/local/html/aaa目录下,B网站部署在Nginx Web服务器的/usr/local/html/bbb目录下。

1.1.2 准备工作

  1. 在ubuntu的/mnt/share/config/nginx/web/aaa目录下创建一个index.html网页文件,该文件表示A网站主页,其内容如下:
    <html>
    	<head>
    		<title>index</title>
    	</head>
    	<body>
    		<b2>This is aaa index page</b2>
    	</body>
    </html>
    
  2. 在ubuntu的/mnt/share/config/nginx/web/bbb目录下创建一个index.hmtl网页文件,该文件表示B网站主页,其内容如下:
    <html>
    	<head>
    		<title>index</title>
    	</head>
    	<body>
    		<b2>This is bbb index page</b2>
    	</body>
    </html>
    

1.1.3 实战过程

  1. ubuntu的/mnt/share/config/nginx目录下创建名称为nginx.conf的配置文件,该配置文件会被用于Nginx服务器,其内容如下:

    user               nginx;
    worker_processes   1;
    
    error_log          /var/log/nginx/error.log warn;
    pid                /var/run/nginx.pid;
    
    
    events {
        worker_connections   1024;
    }
    
    
    http {
        include              /etc/nginx/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           /var/log/nginx/access.log  main;
    
        sendfile             on;
        #tcp_nopush          on;
    
        keepalive_timeout    65;
    
        #gzip  on;
    	
        server {
            listen           80;
            server_name      aaa.test.com; 
            location / {  
                root /usr/local/html/aaa;
                index        index.html;
            }  
        }
        
        server {
            listen           80;
            server_name      bbb.test.com; 
            location / {  
                root /usr/local/html/bbb;
                index        index.html;
            }  
        }
    }
    
  2. 在ubuntu中运行以下docker命令以创建nginx服务器:

    docker run -d -p 80:80 \
    -v /mnt/share/config/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \
    -v /mnt/share/config/nginx/web:/usr/local/html \
    --name nginx --restart always nginx:1.18.0
    
  3. 在windows的C://Windows/System32/drivers/etc/host文件中加上以下DNS映射配置。说明:本文ubuntu虚拟机的ip地址为192.168.1.238,请换成读者自己的虚拟机的ip地址

    192.168.1.238 aaa.test.com
    192.168.1.238 bbb.test.com
    

1.1.4 功能测试

  1. 在windows浏览器中访问 http://aaa.test.com,如果显示的页面如下图所示,则表示访问的是A网站。
    在这里插入图片描述
  2. 在windows浏览器中访问 http://bbb.test.com ,如果显示的页面如下图所示,则表示访问的是B网站。在这里插入图片描述

1.2 基于端口访问

1.2.1 需求说明

  1. 局域网内部有A和B两个网站,利用Nginx可以做为Web服务器的功能,把这两个网站部署到同一台Nginx类型的Web服务器上,并在Nginx中设置按端口来访问这两个网站,其中对端口8081的访问请求由A网站处理,对端口8082的访问请求由B网站处理。
  2. 在Ubuntu中部署一个Nginx的Docker容器,该容器即为Nginx Web服务器,其中A网站部署在Nginx Web服务器的/usr/local/html/aaa目录下,B网站部署在Nginx Web服务器的/usr/local/html/bbb目录下。

1.2.2 准备工作

  1. 在ubuntu的/mnt/share/config/nginx/web/aaa目录下创建一个index.html网页文件,该文件表示A网站主页,其内容如下:
    <html>
    	<head>
    		<title>index</title>
    	</head>
    	<body>
    		<b2>This is aaa inde
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值