Django

การ Deploy Django

WSGI, ASGI, Gunicorn, uWSGI, nginx, static files, environment variables, production settings

24 คำถามสัมภาษณ์·
Mid-Level
1

ในบริบทของการ deploy Python คำย่อ WSGI ย่อมาจากอะไร?

คำตอบ

WSGI ย่อมาจาก Web Server Gateway Interface เป็นข้อกำหนดมาตรฐาน (PEP 3333) ที่นิยามว่าเว็บเซิร์ฟเวอร์สื่อสารกับแอปพลิเคชัน Python อย่างไร อินเทอร์เฟซนี้ให้ชั้นการ abstraction ระหว่างเว็บเซิร์ฟเวอร์กับแอปพลิเคชัน ทำให้แอปพลิเคชัน Python สามารถย้ายไปใช้กับเซิร์ฟเวอร์ที่รองรับ WSGI ต่าง ๆ ได้ เช่น Gunicorn, uWSGI หรือ mod_wsgi

2

คำสั่ง Django ใดที่รวบรวมไฟล์ static ทั้งหมดไว้ในไดเรกทอรีเดียวสำหรับการใช้งานจริง?

คำตอบ

คำสั่ง collectstatic จะรวบรวมไฟล์ static ทั้งหมดจากแต่ละแอป Django และไดเรกทอรีที่กำหนดใน STATICFILES_DIRS ไปยังไดเรกทอรีที่ระบุโดย STATIC_ROOT ขั้นตอนนี้จำเป็นในการใช้งานจริงเพราะเว็บเซิร์ฟเวอร์ (เช่น nginx) จะให้บริการไฟล์เหล่านี้โดยตรงโดยไม่ผ่าน Django ทำให้ประสิทธิภาพดีขึ้นอย่างมาก

3

การตั้งค่า DEBUG ควรมีค่าใดในสภาพแวดล้อม production ของ Django?

คำตอบ

DEBUG ต้องตั้งเป็น False ในการใช้งานจริง เมื่อ DEBUG เป็น True Django จะแสดงหน้าข้อผิดพลาดโดยละเอียดที่มีข้อมูลที่ละเอียดอ่อน (ตัวแปรสภาพแวดล้อม การกำหนดค่า stack trace) ซึ่งอาจถูกผู้โจมตีใช้ประโยชน์ได้ นอกจากนี้ Django ยังเก็บ query SQL ที่ดำเนินการทั้งหมดไว้ในหน่วยความจำเมื่อ DEBUG เป็น True ทำให้เกิดการรั่วไหลของหน่วยความจำบนเว็บไซต์ที่ใช้งานจริง

4

บทบาทหลักของ Gunicorn ใน stack การ deploy Django คืออะไร?

5

การตั้งค่า ALLOWED_HOSTS ใน Django มีจุดประสงค์อะไร?

+21 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ Django อื่นๆ

พื้นฐาน Python

Junior
25 คำถาม

Python เชิงวัตถุ

Junior
20 คำถาม

พื้นฐาน Django

Junior
20 คำถาม

Django Models - พื้นฐาน

Junior
22 คำถาม

Django Views

Junior
20 คำถาม

เทมเพลต Django

Junior
18 คำถาม

ฟอร์ม Django

Mid-Level
22 คำถาม

QuerySets ขั้นสูง

Mid-Level
25 คำถาม

การยืนยันตัวตนใน Django

Mid-Level
22 คำถาม

Django Middleware

Mid-Level
18 คำถาม

Django Admin

Mid-Level
20 คำถาม

Django REST Framework

Mid-Level
30 คำถาม

Django Signals

Mid-Level
18 คำถาม

การอัปโหลดไฟล์

Mid-Level
20 คำถาม

การแคชใน Django

Mid-Level
20 คำถาม

Django Sessions

Mid-Level
18 คำถาม

อีเมลใน Django

Mid-Level
18 คำถาม

การทดสอบ Django

Mid-Level
22 คำถาม

ความปลอดภัยของ Django

Mid-Level
22 คำถาม

Django ORM ขั้นสูง

Senior
28 คำถาม

ประสิทธิภาพของ Django

Senior
24 คำถาม

Django & Celery

Senior
22 คำถาม

Django Channels

Senior
24 คำถาม

Django & GraphQL

Senior
24 คำถาม

Django & Docker

Senior
20 คำถาม

Django ในระบบนิเวศ Microservices

Senior
24 คำถาม

คำสั่ง Django แบบกำหนดเอง

Senior
18 คำถาม

การทำให้รองรับหลายภาษาใน Django

Senior
20 คำถาม

Design Patterns ใน Django

Senior
24 คำถาม

Django Async และ ASGI

Senior
26 คำถาม

Settings และการตั้งค่า Production

Senior
22 คำถาม

Observability และ Monitoring

Senior
24 คำถาม

เชี่ยวชาญ Django สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี