ดังนั้นฉันจึงรันคอนเทนเนอร์ nginx ด้วย docker-compose:
บริการ:
จิงซ์:
สร้าง:
บริบท: .
นักเทียบท่าไฟล์: Dockerfile
รีสตาร์ท: เสมอ
ชื่อคอนเทนเนอร์: webserver_nginx
ชื่อโฮสต์: nginx
stop_grace_period: 1 นาที 30 วินาที
ตรวจสุขภาพ:
ทดสอบ: ["CMD-SHELL", "curl -sf http://127.0.0.1/ -o /dev/null || exit 1"]
ช่วงเวลา: 1m30s
หมดเวลา: 10 วินาที
ลองใหม่: 3
start_period: 40 วินาที
พอร์ต:
- 443:443
- 80:80
ปริมาณ:
# ข้อ จำกัด บริการด้วยรหัสผ่าน
- ./.credentials/.htpasswd:/var/.credentials/.htpasswd
# การกำหนดค่า Nginx
- ./nginx.conf:/etc/nginx/nginx.conf
- ./proxy_params:/etc/nginx/proxy_params
- ./conf:/etc/nginx/conf.d
#Nginx ให้บริการไฟล์คงที่
- /var/backups/off:/var/web_data/off
# การบันทึก Nginx
- /var/log/nginx:/var/log/nginx
เครือข่าย:
- เว็บเซิร์ฟเวอร์_เครือข่าย
เครือข่าย:
เว็บเซิร์ฟเวอร์_เครือข่าย:
ภายนอก: จริง
ไฟล์นักเทียบท่า:
จาก nginx
CMD ["nginx", "-g", "daemon off;"]
nginx.conf ของฉัน:
ผู้ใช้ nginx;
worker_processes อัตโนมัติ
error_log /var/log/nginx/error.log เตือน;
pid /var/run/nginx.pid;
เหตุการณ์ {
worker_connections 1024;
}
http {
รวม /etc/nginx/mime.types;
แอปพลิเคชัน default_type/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request"'
'$สถานะ $body_bytes_sent "$http_referer"'
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log หลัก;
ส่งไฟล์บน;
keepalive_timeout 65;
รวม /etc/nginx/conf.d/*.conf;
}
และกำหนดค่าสำหรับคอนเทนเนอร์ของฉัน:
เซิร์ฟเวอร์ {
ฟัง 80;
ฟัง [::]:80;
ชื่อเซิร์ฟเวอร์.com;
ตำแหน่ง / ผู้ดูแลระบบ {
proxy_pass http://off:4000;
proxy_set_header โฮสต์ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_read_timeout 100;
proxy_http_version 1.1;
}
ตำแหน่ง / คงที่ {
นามแฝง /var/web_data/off/collectstatic;
}
สถานที่ / สื่อ {
นามแฝง /var/web_data/off/upload;
}
ที่ตั้ง / {
กลับ 404;
}
}
ดังนั้นเมื่อใดก็ตามที่ฉันพยายามร้องขอ http://name.com/admin
ฉันได้รับบันทึกประเภทนี้จาก access.log:
127.0.0.1 - - [16/พฤษภาคม/2022:15:53:42 +0000] "GET / HTTP/1.1" 404 153 "-" "curl/7.74.0" "-"
127.0.0.1 - - [16/พฤษภาคม/2022:15:55:12 +0000] "GET / HTTP/1.1" 404 153 "-" "curl/7.74.0" "-"
127.0.0.1 - - [16/พฤษภาคม/2022:15:56:42 +0000] "GET / HTTP/1.1" 404 153 "-" "curl/7.74.0" "-"
และฉันได้รับข้อผิดพลาด 502 Gateway จาก nginx บนเบราว์เซอร์
แม้ว่าฉันพยายามเข้าถึงเว็บไซต์หลักเช่น http://name.com/
ฉันยังคงได้รับข้อผิดพลาด 502
คอนเทนเนอร์ของฉันประกอบด้วย:
รุ่น: '3.8'
บริการ:
ปิด:
สร้าง:
บริบท: .
dockerfile: ปรับใช้/เบต้า/Dockerfile.dll
หาเรื่อง:
WORKING_DIR: /แอป
container_name: ปิด
ชื่อโฮสต์: django
รีสตาร์ท: 'เสมอ'
คำสั่ง: gunicorn -c deploy/beta/configs/gunicorn/conf.py --chdir api api.wsgi:application
ปริมาณ:
# รหัสแหล่งที่มาของโครงการ
- .:/แอป
# รวบรวมไฟล์คงที่
- /var/backups/offch/collectstatic:/collectstatic
# ไฟล์สื่อ (อัปโหลด)
- /var/backups/offch/upload:/app/media/upload
- /var/log/upstart:/var/log/พุ่งพรวด
stop_grace_period: 1 นาที 30 วินาที
ตรวจสุขภาพ:
ทดสอบ: ["CMD", "curl", "-f", "http://127.0.0.1:4000"]
ช่วงเวลา: 1m30s
หมดเวลา: 10 วินาที
ลองใหม่: 3
start_period: 40 วินาที
พอร์ต:
- "4000:4000"
เครือข่าย:
- เว็บเซิร์ฟเวอร์_เครือข่าย
เครือข่าย:
เว็บเซิร์ฟเวอร์_เครือข่าย:
ภายนอก: จริง
แต่ฉันสามารถเข้าถึงไซต์ผ่าน ip และพอร์ต ฉันมีปัญหานี้กับ nginx เท่านั้น