我已经发布了默认的django项目,并且运行良好,我可以使用域名访问它,然后我只是替换了saleor的详细信息,但现在却找不到404。这是我的配置文件:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /home/ubuntu/ecom
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /static /home/ubuntu/ecom/saleor/saleor/static
<Directory /home/ubuntu/ecom/saleor/saleor/static>
Require all granted
</Directory>
<Directory /home/ubuntu/ecom/saleor/saleor/wsgi>
<Files __init__.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myproject2 python-home=/home/ubuntu/ecom/ecom python-path=/home/ubuntu/ecom
WSGIProcessGroup myproject2
WSGIScriptAlias / /home/ubuntu/ecom/saleor/saleor/wsgi/__init__.py
</VirtualHost>
/home/ubuntu/ecom
是我的项目主目录,它包含ecom(虚拟环境)和saleor文件夹。
我已将glintwear.com
网域添加到saleor项目的settings.py文件中
编辑 这是来自error.log文件的错误:
[Wed Aug 15 01:09:17.240064 2018] [wsgi:error] [pid 14328:tid 140275526600448] [remote 39.53.22.238:27753] mod_wsgi (pid=14328): Target WSGI script '/home/ubuntu/ecom/$
[Wed Aug 15 01:09:17.240110 2018] [wsgi:error] [pid 14328:tid 140275526600448] [remote 39.53.22.238:27753] mod_wsgi (pid=14328): Exception occurred processing WSGI scr$
[Wed Aug 15 01:09:17.240269 2018] [wsgi:error] [pid 14328:tid 140275526600448] [remote 39.53.22.238:27753] Traceback (most recent call last):
[Wed Aug 15 01:09:17.240291 2018] [wsgi:error] [pid 14328:tid 140275526600448] [remote 39.53.22.238:27753] File "/home/ubuntu/ecom/saleor/saleor/wsgi/__init__.py", l$
[Wed Aug 15 01:09:17.240296 2018] [wsgi:error] [pid 14328:tid 140275526600448] [remote 39.53.22.238:27753] from django.core.wsgi import get_wsgi_application # noqa
[Wed Aug 15 01:09:17.240310 2018] [wsgi:error] [pid 14328:tid 140275526600448] [remote 39.53.22.238:27753] ImportError: No module named 'django'
答案 0 :(得分:0)
编辑:
@Graham Dumpleton指出,您必须更改
python-home=/home/ubuntu/ecom/ecom
这不是通往虚拟环境的路径。
检查提供给python-home的目录是否与sys.prefix相同 虚拟环境。
所以你应该有这样的东西:
python-home=/home/ubuntu/ecom/venv
答案 1 :(得分:0)
因此,如果有人遇到问题,我将回答这个问题。这个项目被搁置了,这就是为什么我最近要更新它。无论如何,问题是python-home
应该指向manage.py
所在的根目录。并且python-path
应该指向您的virtualenv
文件夹。就是这样。
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /home/ubuntu/ecom
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /static /home/ubuntu/ecom/saleor/saleor/static
<Directory /home/ubuntu/ecom/saleor/saleor/static>
Require all granted
</Directory>
<Directory /home/ubuntu/ecom/saleor/saleor/wsgi>
<Files __init__.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myproject2 python-home=/home/ubuntu/ecom/ecom/saleor python-path=/home/ubuntu/ecom/env
WSGIProcessGroup myproject2
WSGIScriptAlias / /home/ubuntu/ecom/saleor/saleor/wsgi/__init__.py
</VirtualHost>