Nginx简介与Docker Compose部署指南

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

什么是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

在这里,我们将 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;
      }
     }
}
  • 启动容器

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

复制代码
docker-compose up -d 
  • 访问服务

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

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

总结

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

相关推荐
tianyuanwo1 分钟前
项目内自我管理:一名OS领域DevOps的破局之路
运维·devops
三十..8 分钟前
Redis 核心原理与高可用架构实践
运维·数据库·redis
我是谁??2 小时前
ubuntu22.04 通过docker部署vLLM(Qwen3-0.6B)大模型+New API+OpenWebUI
docker·容器·vllm
jinglong.zha2 小时前
LScript-从零基础到商业变现的AI自动化学习平台
运维·学习·自动化
运维瓦工2 小时前
DevOps 生态介绍(十):Docker Compose 核心 YAML 配置详解与常用命令大全
spring cloud·docker·容器
Adorable老犀牛3 小时前
Telegraf:InfluxData 出品的指标采集代理
运维·telegraf
云烟成雨TD3 小时前
Spring AI 1.x 系列【59】容器化开发支持:Docker Compose 与 Testcontainers
人工智能·spring·docker
北塔软件3 小时前
北塔软件智能体平台 | 不只监控,更是AI时代的数据资产
运维·人工智能·知识库·北塔软件
Plastic garden3 小时前
K8s(10)NFS 的动态 PV 创建数据库给k8s的mysql和redis
docker·容器·kubernetes
AOwhisky3 小时前
学习自测与解析:MySQL第五、六、七期核心知识点详解
运维·数据库·笔记·学习·mysql·云计算