0
我有一個網站,有一組子網域。當我訪問這些子域包括實際領域之一,它有時顯示在瀏覽器內部服務器錯誤,當我檢查apache的是error.log它告訴它拋出一個導入錯誤:子域Django設置衝突
[Tue Oct 11 06:47:10.999837 2016] [:error] [pid 13114] [client 0.0.0.0:58735] mod_wsgi (pid=13114): Target WSGI script '/var/www/html/api.ai-labs.co/ai_labs_apps/wsgi.py' cannot be loaded as Python module.
[Tue Oct 11 06:47:11.000377 2016] [:error] [pid 13114] [client 0.0.0.0:58735] mod_wsgi (pid=13114): Exception occurred processing WSGI script '/var/www/html/api.ai-labs.co/ai_labs_apps/wsgi.py'.
[Tue Oct 11 06:47:11.000478 2016] [:error] [pid 13114] [client 0.0.0.0:58735] Traceback (most recent call last):
[Tue Oct 11 06:47:11.000552 2016] [:error] [pid 13114] [client 0.0.0.0:58735] File "/var/www/html/api.ai-labs.co/ai_labs_apps/wsgi.py", line 27, in <module>
[Tue Oct 11 06:47:11.000675 2016] [:error] [pid 13114] [client 0.0.0.0:58735] application = get_wsgi_application()
[Tue Oct 11 06:47:11.000737 2016] [:error] [pid 13114] [client 0.0.0.0:58735] File "/usr/local/lib/python2.7/dist-packages/django/core/wsgi.py", line 13, in get_wsgi_application
[Tue Oct 11 06:47:11.000853 2016] [:error] [pid 13114] [client 0.0.0.0:58735] django.setup()
[Tue Oct 11 06:47:11.000913 2016] [:error] [pid 13114] [client 0.0.0.0:58735] File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 17, in setup
[Tue Oct 11 06:47:11.001017 2016] [:error] [pid 13114] [client 0.0.0.0:58735] configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
[Tue Oct 11 06:47:11.001076 2016] [:error] [pid 13114] [client 0.0.0.0:58735] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 55, in __getattr__
[Tue Oct 11 06:47:11.001269 2016] [:error] [pid 13114] [client 0.0.0.0:58735] self._setup(name)
[Tue Oct 11 06:47:11.001330 2016] [:error] [pid 13114] [client 0.0.0.0:58735] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 43, in _setup
[Tue Oct 11 06:47:11.001395 2016] [:error] [pid 13114] [client 0.0.0.0:58735] self._wrapped = Settings(settings_module)
[Tue Oct 11 06:47:11.001450 2016] [:error] [pid 13114] [client 0.0.0.0:58735] File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 99, in __init__
[Tue Oct 11 06:47:11.001526 2016] [:error] [pid 13114] [client 0.0.0.0:58735] mod = importlib.import_module(self.SETTINGS_MODULE)
[Tue Oct 11 06:47:11.001581 2016] [:error] [pid 13114] [client 0.0.0.0:58735] File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
[Tue Oct 11 06:47:11.001689 2016] [:error] [pid 13114] [client 0.0.0.0:58735] __import__(name)
[Tue Oct 11 06:47:11.001765 2016] [:error] [pid 13114] [client 0.0.0.0:58735] ImportError: No module named project.settings
我就張貼五分之二的應用程序的文件,因爲我實在無法找出錯誤,我很差勁,在部署到實際的服務器
1日申請:佔
這是第一個應用程序的Apache2 /網站可用/ accounts.ai-labs.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 accounts.ai-labs.co
# ServerAdmin [email protected]
DocumentRoot /var/www/html/accounts.ai-labs.co/project
# 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
<Directory /var/www/html/accounts.ai-labs.co/project>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Alias /static /var/www/html/accounts.ai-labs.co/project/static
<Directory /var/www/html/accounts.ai-labs.co/project/static>
Require all granted
</Directory>
Alias /static /var/www/html/accounts.ai-labs.co/project/media
<Directory /var/www/html/accounts.ai-labs.co/project/media>
Require all granted
</Directory>
<Directory /var/www/html/accounts.ai-labs.co/project/project>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIScriptAlias//var/www/html/accounts.ai-labs.co/project/project/wsgi.py
</VirtualHost>
這是第一個應用程序的wsgi.py
"""
WSGI config for project project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/
"""
import os
import sys
import site
site.addsitedir('/var/www/html/accounts.ai-labs.co/lib/python2.7/site-packages')
sys.path.append('/var/www/html/accounts.ai-labs.co/project')
sys.path.append('/var/www/html/accounts.ai-labs.co/project/project')
from django.core.wsgi import get_wsgi_application
from django.conf import settings
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
activate_env=os.path.expanduser("/var/www/html/accounts.ai-labs.co/bin/activate_this.py")
execfile(activate_env, dict(__file__=activate_env))
application = get_wsgi_application()
第二個應用程序:博客
這是第二個應用程序的apache2/sites-available/blogs.ai-labs.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 blogs.ai-labs.co
# ServerAdmin [email protected]
DocumentRoot /var/www/html/blogs.ai-labs.co
# 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
<Directory /var/www/html/blogs.ai-labs.co>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Alias /static /var/www/html/blogs.ai-labs.co/static
<Directory /var/www/html/blogs.ai-labs.co/static>
Require all granted
</Directory>
Alias /static /var/www/html/blogs.ai-labs.co/media
<Directory /var/www/html/blogs.ai-labs.co/media>
Require all granted
</Directory>
<Directory /var/www/html/blogs.ai-labs.co/ai_labs_blogs>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIScriptAlias//var/www/html/blogs.ai-labs.co/ai_labs_blogs/wsgi.py
</VirtualHost>
這是第二個應用程序的wsgi.py
"""
WSGI config for ai_labs_blogs project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/
"""
import os
import sys
import site
site.addsitedir('/var/www/html/.virtualenvs_copy/ai-labs-website-pure-django/local/lib/python2.7/site-packages')
sys.path.append('/var/www/html/blogs.ai-labs.co')
sys.path.append('/var/www/html/blogs.ai-labs.co/ai_labs_blogs')
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ai_labs_blogs.settings")
activate_env=os.path.expanduser("/var/www/html/.virtualenvs_copy/ai-labs-website-pure-django/bin/activate_this.py")
execfile(activate_env, dict(__file__=activate_env))
application = get_wsgi_application()
我該如何解決這個問題?
你是絕對正確的!謝謝! –