apache2 django 1.8 wsgy.py 找不到我的项目
apache2 django 1.8 wsgy.py can not find my project
我在 运行 将我的项目投入生产时遇到了 2 天的问题。
我的项目名为 'rfaapp',当我尝试访问页面时出现此 apache 错误:Importerror no module named rfaapp.
这是我的 Apache 2 000-default.conf
'
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
Alias /static /home/adminrfaapp/rfaapp/static
<Directory /home/adminrfaapp/rfaapp/static>
Require all granted
</Directory>
<Directory /home/adminrfaapp/rfaapp/rfaapp>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#WSGIDaemonProcess rfa python-path=/home/adminrfaapp/.local/lib/python3.5
WSGIDaemonProcess rfaapp python-path=/home/adminrfaapp/rfaapp/rfaapp:/home/adminrfaapp/.local/lib/python3.5
WSGIProcessGroup rfaapp
WSGIScriptAlias / /home/adminrfaapp/rfaapp/rfaapp/wsgi.py
</VirtualHost>
'
我的wsgi.py
`
import os
import sys
from django.core.wsgi import get_wsgi_application
sys.path.append('home/adminrfaapp/rfaapp')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "rfaapp.settings")
application = get_wsgi_application()
`
有人有想法吗?
一些想法:
1/ 确保您在 rfaapp 文件夹中有 __init__.py 文件。
2/ 在您的 wsgi.py 文件中,您忘记了在主路径中添加前缀 /。
3/ 在您的 wsgi.py 文件中,您可能不想附加您的 rfaapp 路径,而是将其放在第一个位置:
sys.path.insert(1, '/home/adminrfaapp/rfaapp')
我在 运行 将我的项目投入生产时遇到了 2 天的问题。 我的项目名为 'rfaapp',当我尝试访问页面时出现此 apache 错误:Importerror no module named rfaapp.
这是我的 Apache 2 000-default.conf
'
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
Alias /static /home/adminrfaapp/rfaapp/static
<Directory /home/adminrfaapp/rfaapp/static>
Require all granted
</Directory>
<Directory /home/adminrfaapp/rfaapp/rfaapp>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#WSGIDaemonProcess rfa python-path=/home/adminrfaapp/.local/lib/python3.5
WSGIDaemonProcess rfaapp python-path=/home/adminrfaapp/rfaapp/rfaapp:/home/adminrfaapp/.local/lib/python3.5
WSGIProcessGroup rfaapp
WSGIScriptAlias / /home/adminrfaapp/rfaapp/rfaapp/wsgi.py
</VirtualHost>
'
我的wsgi.py
`
import os
import sys
from django.core.wsgi import get_wsgi_application
sys.path.append('home/adminrfaapp/rfaapp')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "rfaapp.settings")
application = get_wsgi_application()
`
有人有想法吗?
一些想法:
1/ 确保您在 rfaapp 文件夹中有 __init__.py 文件。
2/ 在您的 wsgi.py 文件中,您忘记了在主路径中添加前缀 /。
3/ 在您的 wsgi.py 文件中,您可能不想附加您的 rfaapp 路径,而是将其放在第一个位置:
sys.path.insert(1, '/home/adminrfaapp/rfaapp')