You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ISPmanager服务器上部署Flutter Web应用

Flutter Web 部署到 ISPmanager 服务器操作指引

1. 本地构建Flutter Web生产包

首先在你的Flutter项目根目录执行构建命令:
flutter build web --release
构建完成后,产物会存放在项目的build/web目录下。

注意:如果你的应用是部署在域名根路径,直接保持项目web目录下index.html里的<base href="/">配置即可;如果是部署在子路径(比如https://你的域名/app/),需要提前把base href改成对应子路径,否则部署后会出现所有静态资源404、页面白屏的问题。

2. ISPmanager面板基础配置

  • 登录你的ISPmanager管理员/站点账号,在侧边栏找到「WWW域」(部分版本叫「网站」)选项,确认你要部署的域名已经创建为站点,记录下站点对应的根目录路径,默认路径一般为/var/www/你的域名/public_html
  • 进入站点根目录,把目录里默认生成的占位index.html、测试文件全部删除,避免和你的Flutter应用冲突

3. 上传构建产物

两种上传方式选其一即可:

  • 面板文件管理器上传:把本地build/web目录下的所有文件(包含assets、canvaskit文件夹,以及index.html、main.dart.js等所有文件)压缩为zip包,通过面板文件管理器上传到站点根目录,在线解压后确认index.html直接处于根目录下,不要出现public_html/web/index.html这类嵌套层级
  • FTP上传:如果站点开启了FTP服务,用FTP工具连接服务器,同样把所有构建产物直接上传到站点根目录即可

文件权限注意:所有文件权限设置为644,文件夹权限设置为755即可,不要给777权限,避免安全问题。

4. 配置单页应用路由重写规则(必做,否则刷新子路由会404)

Flutter Web是单页应用,所有路由都需要转发到index.html处理,根据你服务器用的web服务选对应配置:

Apache环境

在站点根目录新建名为.htaccess的文件,写入以下内容保存:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

Nginx环境

在ISPmanager面板找到对应站点的Nginx配置编辑项,在server块的location /配置段中加入以下规则:

location / {
  try_files $uri $uri/ /index.html;
}

配置完成后,在面板的服务管理里重启对应的Apache/Nginx服务让规则生效。

5. 部署校验

  • 直接在浏览器输入你的域名,确认应用首页可以正常加载,没有白屏问题
  • 点击应用内的路由跳转到其他页面,再手动按F5刷新,确认不会出现404错误
  • 打开浏览器开发者工具的控制台、网络面板,确认没有静态资源加载失败的报错

常见踩坑汇总

  • 页面白屏:优先检查base href配置是否正确,是否漏传canvaskit、assets等静态资源文件夹
  • 访问报403:检查文件权限是否正确,确认index.html直接在站点根目录下,没有嵌套文件夹
  • 刷新子路由404:检查重写规则是否正确添加,web服务是否重启生效
  • 部分功能加载异常:确认构建时用的是--release模式,不要用debug模式的产物部署

内容的提问来源于stack exchange,提问作者Mahmoud Haj Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 23:27:28