Dart服务端部署至Ubuntu服务器执行dart run后终端返回Killed问题求助
Dart服务端部署至Ubuntu服务器执行dart run后终端返回Killed问题求助
各位大佬好,我遇到个棘手的问题想请教下:
我写的这个Dart服务器项目在本地PC上运行完全正常,但部署到Ubuntu 20.04 (LTS) x64服务器上执行dart run后,终端直接返回Killed,完全没法正常启动服务。
先说明下我的服务器环境:Ubuntu 20.04 (LTS) x64
我用来测试的代码如下:
import 'dart:io'; import 'package:shelf/shelf.dart'; import 'package:shelf/shelf_io.dart' as shelf_io; import 'package:shelf_router/shelf_router.dart' as shelf_router; import 'package:shelf_static/shelf_static.dart' as shelf_static; Future main(List<String> arguments) async { final cascade = Cascade().add(_staticHandler).add(_router); final server = await shelf_io.serve(cascade.handler, InternetAddress.anyIPv4, 8085); print('\nServer is running\naddress:${server.address.address}\nhost:${server.address.host}\nport: ${server.port}\n'); } final _staticHandler = shelf_static.createStaticHandler('public_folder', defaultDocument: 'index.html'); final _router = shelf_router.Router() ..all('/<ignored|.*>', (Request request) { return Response.internalServerError(); });
项目的pubspec.yaml依赖配置:
dependencies: path: ^1.8.0 html: ^0.15.1 http_parser: ^4.0.2 shelf: ^1.4.0 shelf_router: ^1.1.3 shelf_multipart: ^1.0.0 shelf_static: ^1.1.1 mongo_dart: ^0.9.1 mime: ^1.0.2 mailer: ^6.0.0 synchronized: ^3.0.1 pdf: ^3.10.1
我是按照官方步骤安装的Dart SDK,具体操作命令如下:
sudo apt update sudo apt install apt-transport-https wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/dart.gpg echo 'deb [signed-by=/usr/share/keyrings/dart.gpg arch=amd64] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main' | sudo tee /etc/apt/sources.list.d/dart_stable.list sudo apt update sudo apt install dart
安装完成后执行dart --version,输出结果为:Dart SDK version: 2.19.6 (stable) (Unknown timestamp) on "linux_x64"
另外我测试了最基础的Dart代码,比如:
void main(){ print('main'); }
执行dart run是可以正常输出main的,说明Dart环境本身没问题。
有没有大佬遇到过类似的情况?到底是什么原因导致服务启动直接被Killed呢?
备注:内容来源于stack exchange,提问作者Sittiphan Sittisak
相关产品推荐
相关产品推荐

