centos

centos环境下flutter如何部署应用

小樊
50
2025-10-19 20:56:19
栏目: 智能运维

一、环境准备

  1. 更新系统及安装基础依赖
    运行sudo yum update && sudo yum upgrade更新系统;安装开发工具链和Python依赖:sudo yum groupinstall "Development Tools" && sudo yum install python3-pip
  2. 安装Java SDK
    Flutter依赖Java环境,需安装JDK 17(或更高版本)。可从Oracle官网下载JDK 17 RPM包,或使用sudo yum install java-17-openjdk-devel安装;安装后通过java -version验证是否成功。

二、安装Flutter SDK

  1. 下载并解压SDK
    从Flutter GitHub发布页面下载Linux稳定版SDK(如flutter_linux_3.19.0-stable.tar.xz),解压至指定目录(如/opt/flutter):tar -xf flutter_linux_*.tar.xz -C /opt/flutter
  2. 配置环境变量
    编辑~/.bashrc(或~/.bash_profile),添加以下内容(替换为实际路径):
    export PATH="$PATH:/opt/flutter/bin"
    运行source ~/.bashrc使配置生效。
  3. 验证安装
    运行flutter doctor,根据提示安装缺失组件(如Android工具链、iOS工具链等,若需对应平台开发);运行flutter --version确认版本信息。

三、部署Flutter应用(以Web为例)

  1. 构建Web应用
    进入Flutter项目目录,运行flutter build web,生成静态文件至build/web目录。
  2. 安装并配置Nginx
    • 安装Nginx:sudo yum install nginx
    • 配置Nginx:创建/etc/nginx/conf.d/flutter_app.conf,添加以下内容(替换your_domain_or_IP为实际域名/IP):
      server {
          listen 80;
          server_name your_domain_or_IP;
          location / {
              proxy_pass http://localhost:8080;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
          }
      }
      
    • 启动Nginx:sudo systemctl start nginx && sudo systemctl enable nginx
  3. 部署静态文件
    build/web目录下的所有文件复制到Nginx默认静态目录(如/usr/share/nginx/html):cp -r build/web/* /usr/share/nginx/html/
  4. (可选)配置Systemd服务
    若需后台运行应用,创建服务文件/etc/systemd/system/flutter_app.service,内容如下(替换路径和端口):
    [Unit]
    Description=Flutter Web App
    After=network.target
    
    [Service]
    User=your_username
    WorkingDirectory=/path/to/flutter/app
    ExecStart=/path/to/flutter/app/build/web/webserver --port 8080
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
    运行sudo systemctl start flutter_app && sudo systemctl enable flutter_app启动服务。

四、打包Android/iOS应用(可选)

  1. Android打包
    • 安装Android SDK/NDK:通过Android Studio安装(勾选“Android SDK”“Android SDK Platform-Tools”等组件);或手动下载SDK并配置环境变量(ANDROID_HOME)。
    • 配置Flutter项目:运行flutter config --android-sdk /opt/android-sdk(替换为实际SDK路径)。
    • 打包APK:运行flutter build apk --release,生成未签名APK至build/app/outputs/flutter-apk/release/目录;若需发布,使用jarsigner工具签名(生成密钥库:keytool -genkey -v -keystore my-release-key.keystore ...;签名:jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore app-release.apk my-key-alias)。
    • 安装测试:通过adb install app-release.apk安装到连接设备。
  2. iOS打包
    需在Mac电脑上操作(因Xcode仅支持macOS),使用Xcode打开ios/Runner.xcodeproj,选择Scheme后点击Product > Archive,通过Organizer导出IPA文件。

0
看了该问题的人还看了