如何使用Apache 2和mod-wsgi-pytho 3在Ubuntu上部署Django应用程序

dxxyhpgq  于 2023-01-03  发布在  Go
关注(0)|答案(1)|浏览(111)

我尝试按照这篇文章Link of the article在AWS上部署我的Django应用程序。我做了几乎相同的事情,但得到这个错误[Sun Nov 13 16:02:45.432532 2022] [wsgi:error] [pid 116628:tid 140699140834880] [remote 171.78.234.250:51518] ModuleNotFoundError: No module named 'bitssatoshiproject>这里是我的http conf文件-'

<VirtualHost *:80>
        ServerAdmin ubuntu@172-31-11-19
        ServerName 172-31-11-19
        ServerAlias 172-31-11-19.com    

        ErrorLog /home/ubuntu/site/logs/error.log
        CustomLog /home/ubuntu/site/logs/access.log combine
        
        <Directory /home/ubuntu/BitsSatoshi/bitssatoshiproject>
                <Files wsgi.py>
                        Require all granted
                </Files>
        </Directory>
        WSGIDaemonProcess bits python-home=/home/ubuntu/bitsvenv python-path=/home/ubuntu/BitsSatoshi/
        WSGIProcessGroup bits
        WSGIScriptAlias / /home/ubuntu/BitsSatoshi/bitssatoshiproject/wsgi.py

</VirtualHost>

'
请帮帮我的家伙,我尝试了这么多天。
我尝试了google上的每一个指南,但是没有成功,甚至不知道我错了。但是有一件事是肯定的,wsgi没有得到我的虚拟环境python。

5us2dqdw

5us2dqdw1#

您好,问题出在第14行的WSGIDaemonProcess行,您没有将wsgi指向正确的虚拟环境目录,请查看下面的示例以了解项目结构和Apache文件,并使用此link了解更多详细信息
django项目
─ ─ env(所有ENV文件)
├── manage.py
─ ─我的 Django 计划
├── init.py
├── settings.py
├── urls.py
└── wsgi.py
文件Apache配置文件

<VirtualHost *:80>
    ServerAdmin admin@djangoproject.localhost
    ServerName djangoproject.localhost
    ServerAlias www.djangoproject.localhost
    DocumentRoot /home/user/django_project
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /static /home/user/django_project/static
    <Directory /home/user/django_project/static>
        Require all granted
    </Directory>

    Alias /static /home/user/django_project/media
    <Directory /home/user/django_project/media>
        Require all granted
    </Directory>

    <Directory /home/user/django_project/my_django_project>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    WSGIDaemonProcess django_project python-path=/home/user/django_project python-home=/home/user/django_project/env
    WSGIProcessGroup django_project
    WSGIScriptAlias / /home/user/django_project/my_django_project/wsgi.py
</VirtualHost>

其中django_project是主目录,my_django_project是其中的子目录,分别更改上面代码中的目录。
为Django项目启用虚拟主机文件创建djangoproject.conf文件后,我们需要输入以下命令来启用该虚拟主机文件

cd /etc/apache2/sites-available
sudo a2ensite djangoproject.conf

相关问题