- 基于 WebSocket 的聊天服务
- 基于 Alfred 框架的 WebServer 实现后端接口
- 使用 Sqlite3 的数据库存储用户数据
下面以 Ubuntu 20.04 系统为例
-
安装 Dart 执行环境(已安装请跳过),地址: https://dart.cn/get-dart
-
安装 Sqlite3 依赖
sudo apt-get install sqlite3
-
更改数据库的路径,在
./lib/sqlite_db/database.dart
文件中更改_dbPath
变量 (已更改请忽略) -
执行命令直接运行(不打包)
dart pub get dart run
如果报下面错误:
Invalid argument(s): Failed to load dynamic library 'libsqlite3.so': libsqlite3.so: cannot open shared object file: No such file or directory
可以安装 libsqlite3-dev 解决问题
sudo apt-get install -y libsqlite3-dev
-
打包运行(AOT方式,详情请参考官方文档 https://dart.cn/tools/dart-compile#aot-snapshot)
-
运行
build_aot.sh
这个 shell 脚本进行打包成可执行文件,格式sh build_aot.sh <可执行文件的输出路径>
例如:
sh build_aot.sh ~/Downloads/server.aot
server.aot 就是可执行文件的文件名称
-
运行可执行文件,需要使用
dartaotruntime
这个命令,如下所示:dartaotruntime ~/Downloads/server.aot
-
-
如果访问失败出现 502 Bad Gateway 的情况,请确保服务器安全组开放相应的端口,例如当前服务的监听端口是 3000,云服务器必须要开放 3000 对应的端口。