我想同时运行Django和Flask。Django应用程序将在“hello.com”运行,而Flask应用程序将在“hello.com/flaskapp”运行。我该怎么做?
rt4zxlrg1#
如果你不需要flask中的django-y内容或django中的flak-y内容(即它们完全是独立的应用程序),那么只需设置Web服务器,将对/flaskapp的请求代理到运行Flask的进程,并将/下的其他内容代理到运行Django的进程。我从来没有在生产环境中这样做过,也从来没有特别地将Django和Flask放在一起,但我经常使用NodeJS开发服务器和Django(或Flask)后端API来代理所有对/api/的请求到我运行Django开发服务器的本地主机上的任何端口。实现此目的的nginx配置示例:
/flaskapp
/
/api/
nginx
upstream django { # your usual django config using e.g. uwsgi or gunicorn } upstream flask { # your usual flask config } server { location / { proxy_pass http://django; } location /flaskapp { proxy_pass http://flask; } }
@davidism在评论中提出了一个很好的观点,让Flask知道它并不“拥有”网站根目录。将script_root设置为/flaskapp应该可以做到这一点(参见相关的Flask文档)。
script_root
1条答案
按热度按时间rt4zxlrg1#
如果你不需要flask中的django-y内容或django中的flak-y内容(即它们完全是独立的应用程序),那么只需设置Web服务器,将对
/flaskapp
的请求代理到运行Flask的进程,并将/
下的其他内容代理到运行Django的进程。我从来没有在生产环境中这样做过,也从来没有特别地将Django和Flask放在一起,但我经常使用NodeJS开发服务器和Django(或Flask)后端API来代理所有对
/api/
的请求到我运行Django开发服务器的本地主机上的任何端口。实现此目的的
nginx
配置示例:@davidism在评论中提出了一个很好的观点,让Flask知道它并不“拥有”网站根目录。将
script_root
设置为/flaskapp
应该可以做到这一点(参见相关的Flask文档)。