cd到flutter项目根目录,执行
flutter build web
成功后项目的build目录下会多出一个web目录,结构如下:
image.png
把整个web目录下的内容上传到服务器上,在nginx配置文件里写好路径,我把项目的配置文件放在了/etc/nginx/conf.d/路径下:
server {
listen 80;
server_name www.yourdomain.cn;
access_log /home/DjangoProject/blogserver/nginx_access.log;
error_log /home/DjangoProject/blogserver/nginx_error.log;
location / {
root /home/FlutterProject/blog_web;
index index.html index.htm;
}
location /api {
proxy_pass http://127.0.0.1:8001;
proxy_pass_header Authorization;
proxy_pass_header WWW-Authenticate;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
这里的配置是前后端分离的
location / 下配置的是flutter web项目(前端)
location /api 下配置的是api接口(后端)
这样访问www.yourdomain.cn的时候就会打开flutter web项目,
访问www.yourdomain.cn/api的时候就会访问到后台接口
我后端是用python的django框架写的,配置方法如下:
https://www.jianshu.com/p/d17c2f4f29af
网友评论