โหมด Apache/mod_wsgi daemon ไม่ทำงาน

ฉันมีปัญหาในการทำให้ mod_wsgi ทำงานในโหมด daemon ในการตั้งค่า Debian/Apache/Python2.6/Django ของฉัน ในไฟล์กำหนดค่าโฮสต์เสมือนของฉันฉันมี

<VirtualHost *:80>

  ServerName mysite.com

  WSGIDaemonProcess mysite.com processes=2 threads=15
  WSGIProcessGroup mysite.com

  WSGIScriptAlias / /path/to/mysite/wsgi/django.wsgi

  <Directory /path/to/mysite/wsgi/>
    Order deny,allow
    Allow from all
  </Directory>

</VirtualHost>

ติดตั้ง. เพื่อทดสอบการเปิดใช้งานโหมด daemon ฉันใช้สคริปต์ wsgi นี้:

import sys
import os

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')

def application(environ, start_response):
    print >> sys.stderr, 'mod_wsgi.process_group = %s' % repr(environ['mod_wsgi.process_group']) 

    from django.core.handlers.wsgi import WSGIHandler
    _application = WSGIHandler()

    return _application(environ, start_response)

และไฟล์บันทึกผลลัพธ์จะแจ้งว่า:

mod_wsgi.process_group = ''

ซึ่งตามเอกสารประกอบระบุว่าไม่ได้ใช้โหมด daemon ฉันตรวจสอบการตั้งค่าของฉันหลายครั้ง เวอร์ชันของ Apache, mod_wsgi และ Python ตรงกัน และการตั้งค่าของฉันก็ถูกต้องตาม HOWTO ทั้งหมดที่ฉันเคยอ่านมา ฉันจะพลาดอะไรไป?


แก้ไข: โปรดทราบว่าแอปพลิเคชันของฉันทำงานได้ดีในโหมดฝังตัว ฉันแค่อยากจะเปลี่ยนไปใช้โหมด daemon และพบว่ามันไม่ได้เปิดใช้งานโดยใช้สคริปต์ wsgi ด้านบน


person Florian Ledermann    schedule 19.02.2013    source แหล่งที่มา


คำตอบ (2)


ปรากฎว่าไม่ได้ตั้งค่า symlink อย่างถูกต้อง ดังนั้นการเปลี่ยนแปลงการกำหนดค่าของฉันไม่เคยโหลดใน Apache ขออภัยที่เสียเวลา ฉันคิดว่าฉันได้ตรวจสอบทุกอย่างอย่างละเอียดก่อนโพสต์

person Florian Ledermann    schedule 19.02.2013

บรรทัด mod_wsgi.process_group = '' บ่งบอกว่าคุณยังคงทำงานในโหมดฝังตัว (ตามที่คุณทราบ) mod_wsgi โหมด daemon จะไม่ทำงานบน Apache 1.x ดังนั้นฉันคิดว่าคุณกำลังใช้งาน 2.x (ตามที่คุณทราบ)

คุณสามารถลองตั้งค่า apache ได้

LogLevel info

เพื่อให้มีข้อมูลที่เป็นประโยชน์มากขึ้นในไฟล์บันทึก ฉันยังถือว่าคุณบังคับให้ apache รีสตาร์ท

# /etc/init.d/apache2 restart

สิ่งนี้ไม่จำเป็นในโหมด daemon มากนัก แต่ถ้าคุณอยู่ในโหมดฝังตัวก่อนหน้านี้ คุณจะต้องโหลดไฟล์ปรับแต่งของคุณใหม่

person danodonovan    schedule 19.02.2013
comment
สมมติฐานทั้งหมดของคุณเป็นจริง และฉันรีสตาร์ท apache ซ้ำแล้วซ้ำอีกในขณะที่พยายามแก้ไขข้อบกพร่องนี้ ฉันยังตั้งค่า LogLevel info โดยไม่มีข้อมูลเพิ่มเติมปรากฏในไฟล์บันทึก น่าเสียดายที่ฉันยังคงติดอยู่กับปัญหานี้ ... - person Florian Ledermann; 19.02.2013