一、系统环境准备
更新系统并安装基础依赖
运行以下命令更新系统软件包,安装编译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渲染)
安装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
下载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
解压并配置环境变量
将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 # 立即生效
验证安装
运行flutter doctor检查环境完整性,根据提示安装缺失的依赖(如Android SDK、iOS工具链等)。
三、配置Flutter开发环境(可选,若需开发移动端应用)
安装Android Studio及SDK
Preferences→Appearance & Behavior→System Settings→Android SDK,安装Android SDK Platform(如Android 13)和Android SDK Build-Tools(如34.0.0)。~/.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
配置模拟器或真机
flutter emulators --launch <emulator_name>(如flutter emulators --launch pixel_6_api_34)。USB调试模式,运行flutter devices确认设备被识别。四、部署Flutter应用到CentOS服务器(Web/后端服务)
构建Flutter Web应用
进入项目目录,运行以下命令生成Web版本:
flutter build web # 生成静态文件到build/web目录
安装并配置Nginx服务器
sudo yum install -y 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; # 支持前端路由
}
}
sudo systemctl start nginx && sudo systemctl enable nginx。(可选)使用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
验证部署
浏览器访问http://your_domain_or_IP(或http://localhost:8080),若看到Flutter应用页面则表示部署成功。
五、常见问题解决
flutter doctor报错:根据提示安装缺失的依赖(如Android SDK、GTK3),运行flutter doctor --android-licenses接受Android许可证。sudo firewall-cmd --permanent --add-service=http && sudo firewall-cmd --reload。docker logs <container_id>。