Python的DjangoREST-uWSGi-nginx的

时间:2016-11-28 05:20:43

标签: python django nginx

这是我第一次发帖,这是一个很长的问题。 我是初学者,我决定学习并使用Python和DjangoREST构建我的第一个Web应用程序。

不幸的是,我有很多问题,我不知道如何得到答案。每个组件一次查询一个谷歌给我的答案有时会与另一个组件发生冲突。

首先,以下是我的项目设置: -

  • OS-> Ubuntu 16.04.1
  • Backend-> Python3和DjangoREST
  • 网络服务器 - > uWSGI和nginx
  • 数据库 - > PostgreSQL的
  • 客户端软件 - > AngularJS(需要设置Node.js和NPM)

现在我安装了pip并完成了创建virtualenv并运行测试Django应用程序的过程。我完成了这件事。

当我在这里http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html查看uWSGI和Nginx的文档时,我遇到了以下行

网络客户端< - >网络服务器< - >套接字< - > uwsgi< - > Django的

这让我有点困惑。我需要安装我需要的软件的特定订单吗?如果是的话,你能告诉我正确的订单吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

这实际上不是您应该安装软件的顺序。这是您(您的浏览器)连接到服务器上的django应用程序的通信流。

要在服务器中使用您的应用程序,您应该执行以下操作:

  1. 首先安装nginx(以及反向代理服务器和Web服务器)
  2. 安装Gunicorn(wsgi服务器实现)
  3. 将django项目从远程git克隆到任何目录中(或直接从本地PC上传)
  4. 现在在项目目录中运行以下命令
gunicorn YOUR_PROJECT_NAME.wsgi:application \
  --name GIVE_A_NAME_AS_YOUR_WISH \
  --worker-connections=1000 \
  --threads=3 \
  --workers NUM_WORKERS \
  --user=USER --group=GROUP \
  --bind=SERVER_HOST:ANY_PORT_AS_YOUR_CHOICE (TYPICALLY IT IS 8000)

  1. 第4点足以在服务器中运行项目。在下面的链接中检查 http://YOUR_HOST_ADDRESS:8000/

现在,您可以通过nginx Web服务器配置将所有流量重定向到此应用程序。为此,请在/etc/nginx/conf.d/内部创建一个文件,命名为my_app.conf。在此文件副本内粘贴以下代码:

server {
    listen 80;

    location / {
        proxy_pass http://127.0.0.1:8000;        
    }
}

希望没关系!