请求解决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证书的存放位置:
docker-compose up -d
运行yml文件,成功但查看容器时发现容器一直重启:
访问网站网址,失败:

1回答
正常的操作 web 容器服务,比如 nginx 的时候,一般的操作顺序是:
使用 nginx 容器的基础配置,测试 nginx 的脚本是否正常;
启动 nginx 容器,测试 nginx 容器是否正常运行;
加入新的配置,比如 jenkins 的配置,放在宿主机的 conf.d 目录下。
然后,使用 docker exec -it nginx容器 nginx -t 进行测试
测试通过之后
使用 docker network connect https jenkins容器
使用 docker restart nginx容器
查看 nginx 日志
相似问题
回答 2