请求解决nginx容器一直重启问题

来源:4-4 前后端项目Jenkins任务配置(2)

zippen

2020-02-22 17:32:23

# Upstream server
upstream jenkinsserver {
 server jenkins:8080 fail_timeout=0;
}
# listen on HTTP2/SSL
server {
  listen 443 ssl http2;
  server_name zippen1aw.com.cn;
# send https request back to DSM
  ssl_certificate /etc/nginx/cert/fullchain.cer;
  ssl_certificate_key etc/nginx/cert/zippen1aw.com.cn.key;
  location / {
# set proxy headers for cloudflare/jira
  proxy_set_header Host $host:$server_port;
  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;
# hand the request off to jira on non-ssl
  proxy_pass http://jenkinsserver;
  }
 }
# redirect HTTP and handle let's encrypt requests
server {
  listen 80;
  server_name zippen1aw.com.cn
# root /lzpProject/dist;
# handle letsencrypt domain validation
  location ~ /.well-known {
   allow all;
 }
# send everything else to HTTPS
   location / {
    return 302 https://zippen1aw.com.cn;
# set proxy headers for cloudflare/jira
  proxy_set_header Host $host:$server_port;
  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;
# hand the request off to jira on non-ssl
  proxy_pass http://jenkinsserver;
  }
}

以上是jenkins.conf文件

以下是nginx.conf文件:

user  nobody nogroup;
pid /run/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 65535;
http {
sendfile  on;
tcp_nopush  on;
tcp_nodelay  on;
send_timeout  120;
keepalive_timeout  300;
client_body_timeout  300;
client_header_timeout  120;

proxy_read_timeout  300;
proxy_send_timeout  300;
types_hash_max_size  4096;
client_header_buffer_size  16m;
client_max_body_size  1024m;

include  /etc/nginx/mime.types;
include  /etc/nginx/conf.d/*.conf;

default_type  application/octet-stream;
#                            Logging Settings
access_log  /var/log/nginx/access.log;
error_log  /var/log/nginx/error.log;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" "$http_x_forwarded_for"';
#                            开启gzip
gzip    on;
#                            启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length    1k;
#                            gzip 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
gzip_comp_level    2;
#                            进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找dao.
gzip_types    text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png font/ttf font/otf image/svg+xml;
#                            是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary    on;
#                            禁用IE 6 gzip
gzip_disable  "MSIE [1-6]\.";
}

以下是docker-compose.yml

version: "3"
services:
  web:
   image: nginx
   container_name: "nginx88"
   restart: always
   volumes:
    - /home/nginx/nginx.conf:/etc/nginx/nginx.conf
    - /home/nginx/conf.d:/etc/nginx/conf.d
    - /home/docker-acme/out/zippen1aw.com.cn:/etc/nginx/cert:ro
   ports:
   - 80:80
   - 443:443
   networks:
   - default
networks:
  default:
   external:
    name: https

以下是acme证书的存放位置:http://img.mukewang.com/climg/5e50f40d098b86a314100259.jpg

docker-compose up -d

运行yml文件,成功但查看容器时发现容器一直重启:http://img.mukewang.com/climg/5e50f4a9098cced413390161.jpg访问网站网址,失败:

http://img.mukewang.com/climg/5e50f514094d3cd405340424.jpg

写回答

1回答

Brian

2020-02-22

正常的操作 web 容器服务,比如 nginx 的时候,一般的操作顺序是:

  1. 使用 nginx 容器的基础配置,测试 nginx 的脚本是否正常;

  2. 启动 nginx 容器,测试 nginx 容器是否正常运行;

  3. 加入新的配置,比如 jenkins 的配置,放在宿主机的 conf.d 目录下。

  4. 然后,使用 docker exec -it nginx容器 nginx -t 进行测试

  5. 测试通过之后

  6. 使用 docker network connect https jenkins容器

  7. 使用 docker restart nginx容器

  8. 查看 nginx 日志

1

0 学习 · 1842 问题

查看课程