温馨提示×

centos中flutter部署怎么进行

小樊
39
2025-10-22 01:00:56
栏目: 智能运维

一、系统环境准备

  1. 更新系统并安装基础依赖
    运行以下命令更新系统软件包,安装编译Flutter应用所需的工具链及网络工具:

    sudo yum update -y && sudo yum upgrade -y
    sudo yum groupinstall "Development Tools" -y  # 安装gcc、make等开发工具
    sudo yum install -y git curl unzip wget zsh gtk3-devel  # 安装git、curl、GTK3开发库(用于UI渲染)
    
  2. 安装Java SDK(可选,部分Flutter插件需要)
    若项目依赖Java环境(如使用flutter_java_plugin),安装JDK 17(推荐):

    sudo yum install -y java-17-openjdk-devel  # 安装OpenJDK 17
    echo "export JAVA_HOME=/usr/lib/jvm/java-17-openjdk" >> ~/.bashrc  # 配置环境变量
    echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> ~/.bashrc
    source ~/.bashrc
    

二、安装Flutter SDK

  1. 下载Flutter SDK
    访问Flutter官网(flutter.cn)获取最新稳定版本的Linux SDK下载链接,使用wget下载(以3.19.6为例):

    wget https://storage.flutter-io.cn/flutter-infra_release/releases/stable/linux/flutter_linux_3.19.6-stable.tar.xz
    
  2. 解压并配置环境变量
    将SDK解压到用户目录(如~/flutter),并添加bin目录到PATH

    tar xf flutter_linux_3.19.6-stable.tar.xz -C ~/
    echo 'export PATH="$PATH:~/flutter/bin"' >> ~/.bashrc  # 添加到PATH
    source ~/.bashrc  # 立即生效
    
  3. 验证安装
    运行flutter doctor检查环境完整性,根据提示安装缺失的依赖(如Android SDK、iOS工具链等)。

三、配置Flutter开发环境(可选,若需开发移动端应用)

  1. 安装Android Studio及SDK

    • 下载并安装Android Studio:访问官网获取Linux版本安装包,按向导完成安装。
    • 配置Android SDK:打开Android Studio→PreferencesAppearance & BehaviorSystem SettingsAndroid SDK,安装Android SDK Platform(如Android 13)和Android SDK Build-Tools(如34.0.0)。
    • 添加SDK环境变量:编辑~/.bashrc,添加以下内容:
      export ANDROID_HOME=$HOME/Android/Sdk
      export PATH=$PATH:$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
      source ~/.bashrc
      
  2. 配置模拟器或真机

    • 启动模拟器:运行flutter emulators --launch <emulator_name>(如flutter emulators --launch pixel_6_api_34)。
    • 连接真机:通过USB连接Android设备,开启USB调试模式,运行flutter devices确认设备被识别。

四、部署Flutter应用到CentOS服务器(Web/后端服务)

  1. 构建Flutter Web应用
    进入项目目录,运行以下命令生成Web版本:

    flutter build web  # 生成静态文件到build/web目录
    
  2. 安装并配置Nginx服务器

    • 安装Nginx:sudo yum install -y nginx
    • 配置Nginx:创建/etc/nginx/conf.d/flutter_app.conf,添加以下内容(替换your_domain_or_IP/path/to/build/web):
      server {
          listen 80;
          server_name your_domain_or_IP;  # 替换为域名或服务器IP
          root /path/to/build/web;        # Flutter构建的静态文件目录
          index index.html;
      
          location / {
              try_files $uri $uri/ /index.html;  # 支持前端路由
          }
      }
      
    • 启动Nginx:sudo systemctl start nginx && sudo systemctl enable nginx
  3. (可选)使用Docker部署

    • 创建Dockerfile:在项目根目录下创建文件,内容如下:
      FROM cirrusci/flutter:stable
      WORKDIR /app
      COPY . .
      RUN flutter build web
      EXPOSE 8080
      CMD ["flutter", "run", "--release", "--web-port=8080", "--web-hostname=0.0.0.0"]
      
    • 构建并运行容器:
      docker build -t flutter_web_app .
      docker run -d -p 8080:8080 flutter_web_app
      
  4. 验证部署
    浏览器访问http://your_domain_or_IP(或http://localhost:8080),若看到Flutter应用页面则表示部署成功。

五、常见问题解决

  • flutter doctor报错:根据提示安装缺失的依赖(如Android SDKGTK3),运行flutter doctor --android-licenses接受Android许可证。
  • Nginx无法访问:检查防火墙是否放行80端口:sudo firewall-cmd --permanent --add-service=http && sudo firewall-cmd --reload
  • Docker容器无法启动:确保Docker镜像正确拉取,检查容器日志:docker logs <container_id>

0