为什么 Django 应用程序在生产服务器上不起作用?

时间:2021-05-13 20:41:11

标签: django apache web

我正在尝试在我的生产服务器上启动并运行 django,但它不起作用。顺便说一句,操作系统是 ubuntu。

我会一步一步地描述我所做的一切,所以不会丢失任何细节。

所以,我安装了 mod_wsgi:

apt-get install libapache2-mod-wsgi-py3

已安装的 venv:

apt-get install python3-venv

在我的 django 目录中创建 venv:

sudo python3 -m venv venv

已安装的 Django:

pip install Django

然后我创建了名为 dj.conf 的 000-default.conf 副本,并使用以下代码填充它:

<VirtualHost *:80>

    WSGIScriptAlias / /home/path/mysite/mysite/wsgi.py
    WSGIPythonHome /home/path/mysite/venv
    WSGIPythonPath /home/path/mysite

    <Directory /home/path/mysite>
    <Files wsgi.py>
    Require all granted
    </Files>
    </Directory>

</VirtualHost>

然后我启用了新配置并禁用了旧的和重新启动的服务器:

sudo a2ensite dj
sudo a2dissite 000-default.conf
systemctl reload apache2
sudo service apache2 restart

然后我在浏览器地址栏中输入我的服务器的ip,我看到了默认页面!和我刚买 VPS 时看到的一样,它说“您的新 Web 服务器已准备好使用。”。这甚至不是默认的 apache 页面。所以,什么都没有改变,我的所有设置由于某种原因都没有效果!

我还在控制台中输入了 netstat -tulpen |grep 80,它给了我这个:

tcp   0   0 VPS_IP:8080          0.0.0.0:*         LISTEN      0       164979     88786/apache2
tcp   0   0 VPS_IP:80            0.0.0.0:*         LISTEN      0       22066      773/nginx: master p
tcp   0   0 127.0.0.1:8081       0.0.0.0:*         LISTEN      0       164975     88786/apache2
tcp   0   0 127.0.0.1:8084       0.0.0.0:*         LISTEN      0       22068      773/nginx: master p

我希望它说一些有用的东西并且可以帮助解决问题。

请帮忙!我非常感谢您的帮助!

0 个答案:

没有答案