如何使用 Nginx 和 GUnicorn 在单个服务器上部署多个 Django 应用程序?
Posted
技术标签:
【中文标题】如何使用 Nginx 和 GUnicorn 在单个服务器上部署多个 Django 应用程序?【英文标题】:How to Deploy Multiple Django Apps on Single server using Ngnix & GUnicorn? 【发布时间】:2021-10-06 13:29:18 【问题描述】:我正在尝试使用具有相同 IP 的单个 AWS EC2 实例部署两个 Django 应用程序。 但是当我添加第二个 App.sock 和测试主管时它总是失败。 我喜欢以前有人问过类似的问题。但没有正确回答,我的用例略有不同。 (Run multiple django project with nginx and gunicorn)
我已按照以下步骤操作: .
从 Git * 克隆我的项目
pip install -r requiernments.txt
pip3 安装 gunicorn
sudo apt-get install nginx -y
sudo apt-get install supervisor -y
cd /etc/supervisor/conf.d
sudo touch testapp2.conf
sudo nano testapp2.conf
更新配置文件如下
[程序:gunicorn]
目录=/home/ubuntu/projects/testapp2/testerapp 命令=/home/ubuntu/projects/testapp2/venv/bin/gunicorn --workers 3 --bind unix:/home/ubuntu/projects/testapp2/testerapp/app.sock testerapp.wsgi:application 自动启动=真 自动重启=真 stderr_logfile=/home/ubuntu/projects/testapp2/log/gunicorn.err.log stdout_logfile=/home/ubuntu/projects/testapp2/log/gunicorn.out.log
[组:guni]
程序:gunicorn
*----------
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl status
如果上面只有一个配置,则以下步骤将起作用并且站点在浏览器上可用。但是当我添加了一个额外的配置时,它会在浏览器上显示 502 Bad Gateway。请帮我解决这个问题。
【问题讨论】:
【参考方案1】:您可以在 supervisor conf.d 中再添加一个配置文件,并在不同的 Django 应用程序中使用不同的端口号。
【讨论】:
我已经这样做了,但是当我添加了第二个端口时,第一个站点没有显示。它显示 500 内部服务器错误。你能告诉我我应该遵循的完整步骤吗? ?以上是关于如何使用 Nginx 和 GUnicorn 在单个服务器上部署多个 Django 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
nginx+gunicorn+flask部属web时,使用nginx如何指定多个静态文件路径
如何在 ubuntu 14.04 上使用 nginx 和 gunicorn 部署 django 1.8 应用程序
使用 Gunicorn 和 nginx 部署 Django 项目
使用 Traefik 时如何使用 Nginx 和 Django Gunicorn 提供静态内容
如何在 AWS Elastic Beanstalk 上使用 Nginx、React、Webpack、Gunicorn、PostgreSQL、Django 和 DRF 部署应用程序?如何使用此应用程序处