我有/etc/apache2/sites-available/SpinnerApp.conf
<VirtualHost *:80>
ServerName 95.xxx.xxx.xx
ServerAlias domain.ru
WSGIScriptAlias / /var/www/SpinnerApp/spinnerapp.wsgi
WSGIDaemonProcess SpinnerApp user=www-data group=www-data threads=5
<Directory /var/www/SpinnerApp/SpinnerApp/>
WSGIProcessGroup SpinnerApp
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
和/var/www/SpinnerApp/spinnerapp.wsgi
#!/usr/bin/python
import os, sys, logging
logging.basicConfig(stream=sys.stderr)
activate_this = os.path.join('/var/www/SpinnerApp/SpinnerApp/spinnerenv', 'bin', 'activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
sys.path.insert(0,'/var/www/SpinnerApp')
from SpinnerApp import app as application
但是当输入ip到浏览器页面loadind没有结束时。 apache日志中没有错误。
请帮助
答案 0 :(得分:0)
这是错误的:
<Directory /var/www/SpinnerApp/SpinnerApp/>
它应该是:
<Directory /var/www/SpinnerApp>
它起作用表明你的整体Apache配置可能会被破坏,因为访问控制不应该允许该位置的WSGI脚本在错误的情况下被使用。
这个错误的其他含义是代码在嵌入模式下运行,这不是首选安排。也就是说,没有使用创建的守护程序进程组。此外,WSGIApplicationGroup
指令并未暗示。这个特定的一个是您可能会看到您所遇到的问题的原因。也就是说,您正在使用第三方Python模块,该模块无法正确使用Python子解释器。该指令避免使用子解释器。
此外,ServerName
指令值不应该是IP地址而是主机名。将其设置为您用于ServerAlias
的值,然后删除ServerAlias
指令行。