0

我已经运行了已发布的默认 django 项目,它运行良好,我可以使用域名访问它,然后我只是替换了 saleor 的详细信息,现在我找不到 404。这是我的conf文件:

<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'
4

2 回答 2

1

因此,如果其他人有问题,我正在回答这个问题。这个项目被搁置了,这就是我这么晚才更新它的原因。无论如何,问题是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>
于 2019-09-27T19:32:59.080 回答
0

编辑:

正如@Graham Dumpleton 所指出的,你必须改变你的

python-home=/home/ubuntu/ecom/ecom

这不是您的虚拟环境的路径。

检查提供给 python-home 的目录是否与虚拟环境的 sys.prefix 相同。

所以你应该有这样的东西:

python-home=/home/ubuntu/ecom/venv
于 2018-08-14T16:56:18.063 回答