• Nginx简介与Docker Compose部署指南


    Nginx是一款高性能的开源Web服务器和反向代理服务器,以其卓越的性能、可伸缩性和灵活性而闻名。它在全球范围内广泛用于托管Web应用程序、负载均衡、反向代理和更多场景中。在本文中,我们将首先介绍Nginx的基本概念,然后演示如何使用Docker Compose轻松部署Nginx服务器。

    nginx.jpg

    什么是Nginx?

    Nginx是一个高性能的HTTP和反向代理服务器,它可以用于以下用途:

    • 作为Web服务器托管静态内容。
    • 作为反向代理服务器,将请求转发到应用程序服务器。
    • 负载均衡多个应用程序服务器以提高性能和可用性。
    • 提供SSL/TLS终端加密和安全性。
    • 处理HTTP请求和响应,支持高并发。

    为什么选择Nginx?

    Nginx的流行原因如下:

    • 性能卓越: Nginx以其低内存消耗和高并发处理能力而著称,可在大流量负载下保持出色的性能。

    • 可扩展性: Nginx易于配置和扩展,可以根据需求轻松添加新功能。

    • 反向代理和负载均衡: 它是一个强大的反向代理服务器,可以将请求分发到多个后端服务器,提高应用程序的可用性。

    • SSL/TLS支持: Nginx提供了强大的SSL/TLS支持,用于安全地传输数据。

    • 活跃的社区: 有一个庞大的活跃社区,提供支持和插件,使其更加强大和灵活。

    使用Docker Compose部署Nginx

    • 创建docker-compose.yml文件

    首先,要创建一个名为 docker-compose.yml 的文件,本文中我们将使用之前介绍过的前端项目 “jsonhelp” 来作为演示示例。这个文件应包含以下内容:

    version: '3.3'
    services:
      jsonhelp:
        image: nginx:1.18
        container_name: jsonhelp-ng
        restart: always
        logging:
          driver: 'json-file'
          options:
            max-size: '5g'
        environment:
          - NGINX_PORT=80
        ports:
          - 8090:80
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf
          - ./html:/usr/share/nginx/html
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这里,我们将 nginx.confhtml 使用数据卷进行挂载。

    • html: 前端打包之后的文件
    • nginx.conf: nginx的配置文件,具体如下:

    nginx.conf

    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;
    
        keepalive_timeout  65;
    
        client_max_body_size 500m;
    
        include /etc/nginx/conf.d/*.conf;
    
    
    
         server {
            listen       80;
    #        外网访问的域名
            server_name  192.168.10.105;
    
          location / {
              root /usr/share/nginx/html;
              index index.html;
              try_files $uri $uri/ /index.html;
          }
         }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 启动容器

    在docker-compose.yml 的同级目录下,执行以下命令启动容器

    docker-compose up -d 
    
    • 1
    • 访问服务

    浏览器中打开 地址 http://192.168.10.105:8090即可访问到我们刚刚部署的服务。

    _20231001174907.png

    到此,我们的nginx服务就部署完成了

    总结

    Nginx是一款功能强大且高度灵活的Web服务器和反向代理服务器,适用于提供卓越性能的Web服务。通过使用Docker Compose,您可以轻松地部署和管理Nginx服务器,以满足各种应用场景的需求。虽然本文只是简单介绍了如何部署前端项目,但请继续关注我们,因为我们将在后续分享更多关于Nginx高级用法的内容。希望本文对您了解Nginx以及学习如何使用Docker Compose来部署它有所帮助。

  • 相关阅读:
    Delphi中资源文件使用详解
    WatchDog:一款.NET开源的实时应用监控系统
    SSM框架整合详细教程
    智慧城市的发展趋势
    leetcode - 1877. Minimize Maximum Pair Sum in Array
    软件设计师考试学习2
    Linux-挖矿木马清理
    做自动驾驶的同学看过来:场景理解、辅助功能、导航、寻路、避障数据集
    重难点详解-关系代数表达式
    2311ddip1000不能从函数返回域引用
  • 原文地址:https://blog.csdn.net/weixin_44002151/article/details/133467653