美文网首页
使用 Docker Compose 部署 Nginx 配置虚拟主

使用 Docker Compose 部署 Nginx 配置虚拟主

作者: 小蜗牛爬楼梯 | 来源:发表于2020-05-22 17:52 被阅读0次

    使用 Docker Compose 部署 Nginx 配置虚拟主机

    Nginx 简介

    Nginx 是一款高性能的 HTTP 服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。官方测试 Nginx 能够支撑 5 万并发链接,并且 CPU、内存等资源消耗却非常低,运行非常稳定。

    Nginx 的应用场景

    • HTTP 服务器:Nginx 是一个 HTTP 服务可以独立提供 HTTP 服务。可以做网页静态服务器。
    • 虚拟主机:可以实现在一台服务器虚拟出多个网站。
    • 反向代理 + 负载均衡:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 Nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

    容器编排

    服务器 IP:192.168.230.130

    • 创建 docker-compose.yml

      version: '3.1'
      services:
        nginx:
          restart: always
          image: nginx
          container_name: nginx
          ports:
            - 80:80
          volumes:
            - ./conf/nginx.conf:/etc/nginx/nginx.conf
            - ./wwwroot:/usr/share/nginx/wwwroot
      复制代码
      
    • 启动容器

      $ docker-compose up -d
      复制代码
      
    • 打开浏览器访问 192.168.230.130

    什么是虚拟主机

    虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供 www 服务,这样就可以实现一台主机对外提供多个 web 服务,每个虚拟主机之间是独立的,互不影响的。

    通过 Nginx 可以实现虚拟主机的配置,Nginx 支持三种类型的虚拟主机配置

    • 基于 IP 的虚拟主机
    • 基于域名的虚拟主机
    • 基于端口的虚拟主机

    功能需求

    • Nginx 服务器:192.168.230.130
    • Nginx 对外提供 808080 两个端口监听服务
    • 请求 80 端口则请求 html80 目录下的 html
    • 请求 8080 端口则请求 html8080 目录下的 html

    配置 Nginx 虚拟主机

    • /usr/local/docker/nginx/wwwroot 目录下创建 html80html8080 两个目录,并分别创建两个 index.html 文件

    • /usr/local/docker/nginx/conf 目录下创建 nginx.conf,挂载 Nginx 配置文件

      user  nginx;
      # 指定使用 CPU 资源数量
      worker_processes  1;
      
      events {
          # 连接数
          worker_connections  1024;
      }
      
      http {
          include       mime.types;
          default_type  application/octet-stream;
          sendfile        on;
          keepalive_timeout  65;
      
          # 虚拟主机一配置
          server {
              # 指定端口
              listen       80;
              # 指定 IP (可以是域名)
              server_name  192.168.230.130;
              location / {
                  # 虚拟主机内的资源访问路径
                  root   /usr/share/nginx/wwwroot/html8080;
                  # 首页
                  index  index.html index.htm;
              }
          }
      
          # 虚拟主机二配置
          server {
              listen       8080;
              server_name  192.168.230.130;
              location / {
                  root   /usr/share/nginx/wwwroot/html8080;
                  index  index.html index.htm;
              }
          }
      }
      复制代码
      

      每个 server 节点代表一个虚拟主机

    • 创建 docker-compose.yml

      version: '3.1'
      services:
        nginx:
          restart: always
          image: nginx
          container_name: nginx
          ports:
            - 80:80
          volumes:
            - ./conf/nginx.conf:/etc/nginx/nginx.conf
            - ./wwwroot:/usr/share/nginx/wwwroot
      复制代码
      
    • 启动容器

      $ docker-compose up -d
      复制代码
      
    • 打开浏览器分别访问 192.168.230.130192.168.230.130:8080

    相关文章

      网友评论

          本文标题:使用 Docker Compose 部署 Nginx 配置虚拟主

          本文链接:https://www.haomeiwen.com/subject/qvlcahtx.html