1fb726d48Sopenharmony_ci# SmartPerf 编译部署指导文档 2fb726d48Sopenharmony_ci 3fb726d48Sopenharmony_ci 4fb726d48Sopenharmony_ci## 编译环境搭建 5fb726d48Sopenharmony_ci注意:在linux编译环境安装时以root或者其他 sudo 用户身份运行下面的命令。 6fb726d48Sopenharmony_ci### node 环境安装 7fb726d48Sopenharmony_ci##### 下载Node js安装包(windows推荐, linux跳过此步骤) 8fb726d48Sopenharmony_ci从网站下载node js安装包 https://nodejs.org/en/download/current/ 。 9fb726d48Sopenharmony_ci##### 安装nodejs 10fb726d48Sopenharmony_ci- ubuntu 20.04 与Debian 11系统中,直接用apt-get安装,先切换到 root用户下,命令如下(node 版本 >= 16.15.1 npm 版本 >= 8.13.2) 11fb726d48Sopenharmony_ci``` 12fb726d48Sopenharmony_ci sudo su 13fb726d48Sopenharmony_ci apt-get update 14fb726d48Sopenharmony_ci apt-get install nodejs npm 15fb726d48Sopenharmony_ci``` 16fb726d48Sopenharmony_ci 17fb726d48Sopenharmony_ci 18fb726d48Sopenharmony_ci 19fb726d48Sopenharmony_ci- centos 系统中使用yum安装,先切换到root用户下,命令如下: 20fb726d48Sopenharmony_ci``` 21fb726d48Sopenharmony_ci sudo su 22fb726d48Sopenharmony_ci sudo yum -y install nodejs npm 23fb726d48Sopenharmony_ci``` 24fb726d48Sopenharmony_ci 25fb726d48Sopenharmony_ci 26fb726d48Sopenharmony_ci- windows系统中, 用安装包一路next即可 27fb726d48Sopenharmony_ci 28fb726d48Sopenharmony_ci 29fb726d48Sopenharmony_ci- 安装完成后运行检查是否安装成功 30fb726d48Sopenharmony_ci``` 31fb726d48Sopenharmony_ci node -v 32fb726d48Sopenharmony_ci npm -v 33fb726d48Sopenharmony_ci``` 34fb726d48Sopenharmony_ci 35fb726d48Sopenharmony_ci 36fb726d48Sopenharmony_ci 出现版本号就代表安装成功了。 37fb726d48Sopenharmony_ci 38fb726d48Sopenharmony_ci##### 更换npm源 39fb726d48Sopenharmony_ci``` 40fb726d48Sopenharmony_ci npm config set registry http://registry.npmmirror.com 41fb726d48Sopenharmony_ci``` 42fb726d48Sopenharmony_ci 43fb726d48Sopenharmony_ci##### 安装tsc typeScript 编译器 44fb726d48Sopenharmony_ci直接使用npm 安装运行命令。 45fb726d48Sopenharmony_ci``` 46fb726d48Sopenharmony_ci npm install -g typescript 47fb726d48Sopenharmony_ci tsc -v 48fb726d48Sopenharmony_ci``` 49fb726d48Sopenharmony_ci 50fb726d48Sopenharmony_ci 验证安装完成: 51fb726d48Sopenharmony_ci 52fb726d48Sopenharmony_ci 53fb726d48Sopenharmony_ci### go 编译环境安装 54fb726d48Sopenharmony_ci- ubuntu 环境下直接使用apt安装,以root用户执行(go 版本 >= 1.13.8 ) 55fb726d48Sopenharmony_ci``` 56fb726d48Sopenharmony_ci apt-get install golang-go 57fb726d48Sopenharmony_ci``` 58fb726d48Sopenharmony_ci 59fb726d48Sopenharmony_ci 60fb726d48Sopenharmony_ci- centos系统中使用yum安装,先切换到root用户下,命令如下: 61fb726d48Sopenharmony_ci 62fb726d48Sopenharmony_ci``` 63fb726d48Sopenharmony_ci sudo su 64fb726d48Sopenharmony_ci sudo yum -y install go 65fb726d48Sopenharmony_ci``` 66fb726d48Sopenharmony_ci 67fb726d48Sopenharmony_ci 68fb726d48Sopenharmony_ci- windows 系统下 从官网下载安装包, 一路next 完成 安装即可 69fb726d48Sopenharmony_ci 70fb726d48Sopenharmony_ci- 安装完成后 命令行运行验证是否安装成功 71fb726d48Sopenharmony_ci 72fb726d48Sopenharmony_ci``` 73fb726d48Sopenharmony_ci go version 74fb726d48Sopenharmony_ci``` 75fb726d48Sopenharmony_ci## 项目编译 76fb726d48Sopenharmony_ci#### 先下载sql.js的二进制包 77fb726d48Sopenharmony_ci从如下 https://github.com/sql-js/sql.js/releases/download/v1.6.2/sqljs-all.zip 获取到sql.js的二进制包。 78fb726d48Sopenharmony_ci将压缩包解压后,将文件放置到项目third-party 目录下,如果项目中无third-party目录,先创建third-party目录 79fb726d48Sopenharmony_ci 80fb726d48Sopenharmony_ci 81fb726d48Sopenharmony_ci 82fb726d48Sopenharmony_ci 83fb726d48Sopenharmony_ci#### 先编译获取trace_streamer 的二进制包 84fb726d48Sopenharmony_ci参照:smartperf/trace_streamer/compile_trace_streamer.md 编译出wasm版本的二进制文件。 85fb726d48Sopenharmony_ci将获取到二进制文件放入到项目bin目录下,如果项目目录中无bin目录 先创建bin目录。 86fb726d48Sopenharmony_ci然后将trace_streamer的二进制文件放入bin目录中。 87fb726d48Sopenharmony_ci 88fb726d48Sopenharmony_ci 89fb726d48Sopenharmony_ci 90fb726d48Sopenharmony_ci 91fb726d48Sopenharmony_ci#### 代码编译(依赖于上面node环境 和 go环境) 92fb726d48Sopenharmony_ci在项目目录安装项目依赖: 93fb726d48Sopenharmony_ci``` 94fb726d48Sopenharmony_ci npm install 95fb726d48Sopenharmony_ci``` 96fb726d48Sopenharmony_ci在项目目录下运行命令: 97fb726d48Sopenharmony_ci``` 98fb726d48Sopenharmony_ci npm run build 99fb726d48Sopenharmony_ci``` 100fb726d48Sopenharmony_ci 101fb726d48Sopenharmony_ci 编译成功后会有main 可执行文件生成。 102fb726d48Sopenharmony_ci 103fb726d48Sopenharmony_ci## 项目部署 104fb726d48Sopenharmony_ci直接运行 ./main 可执行程序,完成项目的部署。 105fb726d48Sopenharmony_ci 106fb726d48Sopenharmony_ci ## 访问项目 107fb726d48Sopenharmony_ci在浏览器上打开 https://[部署机器ip地址]:9000/application/ 108fb726d48Sopenharmony_ci!!! 注意一定是https。 109fb726d48Sopenharmony_ci 110fb726d48Sopenharmony_ci 111fb726d48Sopenharmony_ci 112fb726d48Sopenharmony_ci 备注:如果未出现如图所示网页,而是显示无法访问此网站。 113fb726d48Sopenharmony_ci可以在window cmd 里执行telnet [部署机器ip地址] 9000。 114fb726d48Sopenharmony_ci如果显示端口连接失败,可能是防火墙未对9000 端口放开。