首页 > 系统相关 >docker nginx 完美实践

docker nginx 完美实践

时间:2025-02-18 14:12:05浏览次数:13  
标签:log 完美 nginx html proxy conf docker

拉取镜像

docker pull nginx

创建映射文件夹

mkdir -p /data/nginx/{conf,html,log}

创建容器 并copy 配置文件

#生成容器
docker run --name nginx -p 9001:80 -d nginx
#将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf
#将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /data/nginx/conf/conf.d
#将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /data/nginx/

卸载镜像

docker rm -f nginx

安装镜像

docker run -p 80:80 --name nginx \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  \
-v /data/nginx/conf/conf.d:/etc/nginx/conf.d  \
-v /data/nginx/log:/var/log/nginx  \
-v /data/nginx/html:/usr/shard/nginx/html -d \
nginx

在/data/nginx/conf/conf.d下创建jenkins.conf

# 定义一个名为 jenkins_upstream 的上游服务器组
upstream jenkins_upstream {
    server 127.0.0.1:9010;
    # 如果需要,可以添加更多后端服务器
    # server backup_server_ip:port;
}

server {
    listen 80;

    server_name myjdyun.com;

    # 访问日志配置
    access_log /var/log/nginx/jenkins.access.log;
    error_log /var/log/nginx/jenkins.error.log;

    # SSL 配置(如果需要的话)
    # listen 443 ssl;
    # ssl_certificate /etc/nginx/ssl/myjdyun.com.crt;
    # ssl_certificate_key /etc/nginx/ssl/myjdyun.com.key;
    # ssl_protocols TLSv1.2 TLSv1.3;
    # ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256...';
    # ssl_prefer_server_ciphers on;

    # HSTS 配置(如果需要的话)
    # add_header Strict-Transport-Security "max-age=31536000" always;

    # 设置客户端请求体大小限制
    client_max_body_size 100m;

    # 设置根目录(如果需要的话)
    # root /usr/share/nginx/html;

    location / {
        proxy_pass http://jenkins_upstream;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # 设置代理连接的超时时间
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;

        # 如果Jenkins需要知道客户端的真实IP,则启用以下行
        # proxy_set_header X-Forwarded-Host $server_name;

        # 如果需要,可以设置代理缓存(不建议用于动态内容)
        # proxy_cache my_cache;
        # proxy_cache_valid 200 302 10m;
        # proxy_cache_valid 404 1m;
    }

    # 如果需要,可以添加更多的 location 块来处理特定的路径或文件类型

    # 错误页面配置
    error_page 404 /404.html;
    location = /404.html {
        root /usr/share/nginx/html;
        internal;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
}

重启nginx

docker restart  nginx

标签:log,完美,nginx,html,proxy,conf,docker
From: https://www.cnblogs.com/Microants/p/18664123

相关文章