如何使用Flask后端api构建Angular 2前端应用程序?

时间:2016-12-26 06:39:18

标签: ubuntu angular nginx flask gunicorn

我想使用Nginx提供前端角度2应用程序。我使用Gunicorn作为Nginx和Flask之间的媒介。我想部署这个Web应用程序进行生产。什么应该是适当的应用程序结构呢?另外,nginx服务器块配置是什么?我主持了一个基于数字海洋Linux的小滴(Ubuntu 16.04)。我已经引用了以下链接,但他们似乎也在使用Flask来为前端服务。
https://www.digitalocean.com/community/tutorials/how-to-structure-large-flask-applications
https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-ubuntu-16-04

1 个答案:

答案 0 :(得分:1)

这是一个示例Nginx配置文件。我确信这不是最好的方法,但它让我测试了我的应用程序。

    server {
        listen       80;
        server_name  localhost;

        # Your angular app
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
            try_files $uri $uri/ =404;
        }

        # Static files 
        location /static {
            alias /usr/share/nginx/flask/static;
        }

        # Gunicorn 
        location /api {
            proxy_pass http://localhost:4000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }   
    }

注意事项

  1. 使用Angular CLI构建您的Angular应用程序,例如dist文件夹。让nginx指向它。在配置中为/usr/share/nginx/html。这个link帮助我更好地理解了Angular CLI。

  2. 使用gunicorn为您的烧瓶后端提供服务。说,gunicorn -b 127.0.0.1:4000 app:app。路由到/api

  3. 配置nginx以反向代理到gunicorn。在代码中给出。

  4. 希望这至少让你前进。