首页 > 系统相关 >Nginx简介与Docker Compose部署指南

Nginx简介与Docker Compose部署指南

时间:2023-10-01 18:31:43浏览次数:28  
标签:Compose log nginx Nginx html conf 服务器 Docker

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

Nginx简介与Docker Compose部署指南_Nginx

什么是Nginx?

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

  • 作为Web托管静态内容。
  • 作为反向代-理服务器,将请求转发到应用程序服务器。
  • 负载均衡多个应用程序服务器以提高性能和可用性。
  • 提供终端加密和安全性。
  • 处理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简介与Docker Compose部署指南_服务器_02

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

总结

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

标签:Compose,log,nginx,Nginx,html,conf,服务器,Docker
From: https://blog.51cto.com/xiuji/7674945

相关文章

  • 联想个人云开启Docker并安装常用的Docker
    联想个人云开启Docker并安装常用的Docker启用Docker利用联想个人云的远程协助功能开启SSH并提升普通用户权限后,可安装(开启Docker)新版的固件docker已经安装了,不知道出于什么原因没有启动:[~]#dockerimagelsCannotconnecttotheDockerdaemonatunix:///var/run/docker.s......
  • SpringCloud微服务学习笔记(二)【Feign,Gateway,Docker】
    Feign先来看我们以前利用RestTemplate发起远程调用的代码:存在下面的问题:•代码可读性差,编程体验不统一•参数复杂URL难以维护Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign其作用就是帮助我们优雅的实现http请求的发送,解决上面提到的问题。基......
  • nginx跨域
    add_header'Access-Control-Allow-Origin'*;#允许带上cookie请求add_header'Access-Control-Allow-Credentials''true';#允许请求的方法,比如GET/POST/PUT/DELETEadd_header'Access-Control-Allow-Methods'*;#允许请求的headeradd_hea......
  • 【Nginx23】Nginx学习:响应头与Map变量操作
    Nginx学习:响应头与Map变量操作响应头是非常重要的内容,浏览器或者客户端有很多东西可能都是根据响应头来进行判断操作的,比如说最典型的Content-Type,之前我们也演示过,直接设置一个空的types然后指定默认的数据类型的值,所有的请求浏览器都会直接下载。另外,我们现在在做前后分离的......
  • docker启动常见应用
    #MySQL限制0.5个CPU和0.5G内存dockerpullmysql:5.7dockerrun-itd--namemysql-p3306--cpu-period=1000000--cpu-quota=500000--memory512M--rm-eMYSQL_ROOT_PASSWORD=rootmysql:5.7#本地连接dockerexec-itmysqlmysql-hlocalhost-uroot-proot#远程......
  • docker compose和docker swarm 和 docker stack
    dockercompose:单机部署,使用dockercompose编排多个服务dockerswarm:多机部署,实现对单个服务的简单部署(通过dockerfile)dockerstack:实现集群环境下多服务编排。(通过compose.yml)狂神说docker(最全笔记)_狂神说docker笔记-CSDN博客          ......
  • nginx配置kibana访问用户名和密码认证、及无认证访问配置
    转载请注明出处:在nginx上配置kibana页面访问时,默认是采用kibana的认证,一般直接安装kibana后,是没有用户名和密码认证的。如果要在负载均衡上配置反向代理和用户认证,可按以下步骤进行配置:1.安装Nginx:首先,确保已经安装了Nginx,并且可以正常访问Kibana页面。2.生......
  • Nginx syslog 日志系统
    做ELK目录,其中Logstash需要远程获取其他服务器上的日志,采用nginxsyslog进行传输。以下是对syslog参数的说明server=address        定义syslog服务器地址。该地址可以指定为带有可选端口的域名或IP地址,也可以指定为unix:前缀后面指定的unix域套接字路径。如......
  • 运维 | Nginx Proxy Manager反向代理工具
    运维|NginxProxyManager反向代理工具简介NginxProxyManager(以下简称NPM)就是一个Nginx的代理管理器,它最大的特点是简单方便。即使是没有Nginx基础的小伙伴,也能轻松地用它来完成反向代理的操作,不需要自己写复杂的nginx配置,而且因为自带面板,操作极其简单。NginxProxy......
  • 点播模块编译nginx
    VOD模块NGINX编译部署主要解决我那破电视的观影需求、软件装不了又不想掏钱看线上广告;U盘也没法播、没几个兼容的解码软件,五六年前的电视买的是真坑爹,我又不会刷机,那索性用废笔记本装linux整个nginx-vod模块整个音视频链接,电视上用短小精悍的VLC观影。下包mkdir/usr/local/n......