设为首页 加入收藏

TOP

docker部署安装Nginx(一)
2023-07-23 13:33:30 】 浏览:44
Tags:docker 安装 Nginx

docker部署安装Nginx

前言

Nginx是一个高性能的HTTP和反向代理web服务器,同事也提供了IMAP/POP3/SMTP服务。

特点:

  1. 轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器
  2. 占用内存少
  3. 并发能力强

应用

动静分离

Nginx可以作为静态web服务器来部署静态资源,包含一些常见的html页面、css文件、js文件、图片等。动静分离是将动态内容例如php、jsp等转发到tomcat等容器服务上,将静态内容例如html、图片就直接访问。

反向代理

反向代理服务器位于用户和目标服务器之间,对于用户而言,反向代理服务器相当于目标服务器,用户只需要访问反向代理服务器,反向代理服务器负责将用户请求转发给目标服务器,保护了真实的目标服务器。

负载均衡

避免单独一个服务器压力过大导致服务崩溃,Nginx需要将不同用户的请求转发给不同的服务器,包装集群里面的每一台服务器都能正常运作。主要有轮询(默认)、权重(weight,加权轮询)、ip_hash等。

安装步骤

查询镜像

docker search nginx

拉取镜像

docker pull nginx

创建文件夹

mkdir -p /usr/services/docker/nginx/conf.d
mkdir -p /usr/services/docker/nginx/log
mkdir -p /usr/services/docker/nginx/html

创建配置文件

touch nginx.conf

启动

docker run --restart unless-stopped --name nginx -p 80:80 -p 8080:8080 -p 8081:8081 -v /usr/services/docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -v /usr/services/docker/nginx/conf.d:/etc/nginx/conf.d:ro -v /usr/services/docker/nginx/html:/usr/share/nginx/html:ro -v /usr/services/docker/nginx/log:/var/log/nginx -d nginx

解释:

? -p 指定多个端口

? :ro 表示只读

扩展

  1. 使用allow和deny允许或者禁止某个ip访问是,docker部署使用桥接网络只会获取到docker宿主机的ip,所以无法对ip进行过滤,使用host网络模式可以解决该问题。

  2. nginx.conf文件

    # For more information on configuration, see:
    #   * Official English Documentation: http://nginx.org/en/docs/
    #   * Official Russian Documentation: http://nginx.org/ru/docs/
    
    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    
    # Load dynamic modules. See /usr/share/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;
    
    events {
        worker_connections 1024;
    }
    
    http {
        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;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
    
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
    
        # Load modular configuration files from the /etc/nginx/conf.d directory.
        # See http://nginx.org/en/docs/ngx_core_module.html#include
        # for more information.
        include /etc/nginx/conf.d/*.conf;
    
    }
    
  3. default.conf

    server {
    
       listen 80;
    
       server_name localhost;
    
    #charset koi8-r;
    
    #access_log /var/log/nginx/host.access.log main;
    
    location / {
    
        root /usr/share/nginx/html;
    
        index index.html index.htm;
    
       }
    
    location /api{
    
       proxy_pass http://ip:port/api;
    
          # access_log "logs/test.log"; } 
    }
    

如有侵权请立即与我们联系,我们将及时处理,联系邮箱:865934097@qq.com。

原文链接:https://monkey.blog.xpyvip.top/archi

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇[ Docker ] 部署 nps 和 npc 实现.. 下一篇TCP/UDP 编程模型

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目