【发布时间】:2021-02-26 03:09:55
【问题描述】:
现在我第一次尝试使用 mod_wsgi 在 Apache2 上部署 Django 应用程序,但它仍然没有按我希望的方式工作。无论如何,我正在与我的管理员争论,他说我不必在更改我的 python 代码后重新启动服务器,只有当 .conf 文件发生更改时。 在线教程对于这个特定问题也没有多大用处!有的说“A”,有的说“B”,有的根本不提这个话题。
<VirtualHost *:80>
ServerName webapp.company.local
ServerAlias cmp-workbench.company.local
ServerAdmin webmaster@localhost
DocumentRoot /var/www/cmp-workbench
#for django
Alias /static /var/www/cmp-workbench/static
<Directory /var/www/cmp-workbench/static>
Require all granted
</Directory>
<Directory /var/www/cmp-workbench/cmp_workbench>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess cmp-workbench python-path=/var/www/cmp-workbench python-home=/var/www
/cmp-workbench/cmp_workbench
WSGIProcessGroup cmp-workbench
WSGIScriptAlias / /var/www/cmp-workbench/cmp_workbench/wsgi.py
ErrorLog ${APACHE_LOG_DIR}/error_cmp-workbench.log
CustomLog ${APACHE_LOG_DIR}/access_cmp-workbench.log combined
</VirtualHost>
import os
import time
import traceback
import signal
import sys
from django.core.wsgi import get_wsgi_application
sys.path.append('/var/www/cmp-workbench-stage/cmp_workbench_stage')
sys.path.append('/var/www/cmp-workbench-
stage/cmp_workbench_stage/env/lib/python3.7/site-packages')
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
'cmp_workbench_stage.settings')
try:
application = get_wsgi_application()
except Exception:
# Error loading applications
if 'mod_wsgi' in sys.modules:
traceback.print_exc()
os.kill(os.getpid(), signal.SIGINT)
time.sleep(2.5)
已经以这种方式部署的人可以回答我的问题吗? 谢谢,周末愉快!
【问题讨论】:
-
您遇到了什么样的错误(apache 日志)?与我们分享您的 conf 和 wsgi.py 文件
-
这是我的代码的更新。我实际上没有收到错误,该网站一直在加载!
-
感谢您的链接,但它仍然没有回答是否每次在更改我的 python 代码后重新启动服务器的问题。
标签: python django apache2 mod-wsgi restart