# HiSmartPerf_Host_Statistics **Repository Path**: chuaizhzh/HiSmartPerf_Host_Statistics ## Basic Information - **Project Name**: HiSmartPerf_Host_Statistics - **Description**: smartperf统计网站 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-27 - **Last Updated**: 2025-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SmartPerf 统计网站编译部署指导文档 ## 编译环境搭建 注意:在linux编译环境安装时以root或者其他 sudo 用户身份运行下面的命令。 ### node 环境安装 ##### 安装nodejs - ubuntu 直接用apt-get安装,先切换到 root用户下,命令如下(node 版本 >= 16.15.1 npm 版本 >= 8.13.2) ``` sudo su apt-get update apt-get install nodejs npm ``` - 安装完成后运行检查是否安装成功 ``` node -v npm -v ``` 出现版本号就代表安装成功了。 ##### 更换npm源 ``` npm config set registry http://registry.npmmirror.com ``` ##### 安装tsc typeScript 编译器 直接使用npm 安装运行命令。 ``` npm install -g typescript tsc -v ``` ### go 编译环境安装 (go 版本 >= 1.17.7 ) 以 root 或者其他 sudo 用户身份运行下面的命令,下载并且解压 Go 二进制文件到/usr/local目录: ``` wget -c https://dl.google.com/go/go1.17.7.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local ``` #### 配置环境变量 ``` echo 'export PATH=$PATH:/usr/local/go/bin' >> /etc/profile source /etc/profile ``` - 安装完成后 命令行运行验证是否安装成功 ``` go version ``` #### 配置go下载镜像 ``` go env -w GOPROXY=https://goproxy.cn go env -w GO111MODULE=on ``` ## 项目编译 #### 代码编译(依赖于上面node环境 和 go环境) 在项目目录安装项目依赖: ``` npm install ``` 在项目目录下运行命令: ``` npm run compile ``` 编译成功后会在项目目录下生成dist目录, 编译后的结果文件都在这个目录下 ## 项目部署 ### 数据库安装 #### deb安装包安装(使用apt命令安装,适用于能访问到http://apt.postgresql.org/pub/repos/apt) 创建文件存储库配置 ``` echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list ``` 导入存储库签名密钥 ``` wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - ``` 更新包列表并且安装PostgreSQL ``` apt-get update apt-get install postgresql-15 ``` 连接PostgreSQL ``` su - postgres -c "psql -U postgres -p 5432" ``` 修改postgres密码 ``` alter user postgres with password 'smartperf!1'; ``` 允许远程连接 ``` sed -i "s@#listen_addresses = 'localhost'@listen_addresses = '0.0.0.0'@g" /etc/postgresql/15/main/postgresql.conf echo "host all all 0.0.0.0/0 scram-sha-256" >> /etc/postgresql/15/main/pg_hba.conf ``` 修改用户认证方式 ``` sed -i "s@peer@scram-sha-256@g" /etc/postgresql/15/main/pg_hba.conf ``` 重启服务 ``` systemctl restart postgresql.service ``` 执行sql 创建数据库以及数据库表 ``` psql -U postgres -W -p 5432 -c 'create database smartperf'; psql -U postgres -W -p 5432 -d smartperf -f [sql文件的路径] ``` ### 数据库源码安装 先安装编译依赖的软件: ``` sudo apt-get install build-essential libreadline-dev zlib1g zlib1g-dev bison flex libpq-dev ``` 下载源码 通过官网上的FTP服务器下载tar文件,(如果这一步下载不成功的话,自行通过其他方式拉取postgresql-15.2.tar.gz 压缩包) ``` wget https://ftp.postgresql.org/pub/source/v15.2/postgresql-15.2.tar.gz ``` 解压postgresql-15.2.tar.gz ``` tar -zxvf postgresql-15.2.tar.gz ``` 编译安装pgsql ``` ./configure make sudo make install ``` 添加 postgres 用户 ``` sudo adduser postgres ``` 创建pgsql的data目录,并且将目录所属权限赋予postgres用户 ``` sudo mkdir -p /usr/local/pgsql/data sudo chown postgres /usr/local/pgsql/data ``` 切换到postgres用户 启动pgsql ``` sudo su - postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start ``` 切换到具有sudo权限的用户上,然后执行将pgsql bin 目录配置到环境变量中: ``` sudo vim /etc/profile export PATH=/usr/local/pgsql/bin:$PATH ``` 使能修改环境变量 ``` source /etc/profile ``` 切换到postgres 连接PostgreSQL ``` su - postgres psql -U postgres -p 5432 ``` 修改postgres密码,修改完成退出 ``` alter user postgres with password 'smartperf!1'; exit ``` 修改用户认证方式 ``` sed -i "s@trust@scram-sha-256@g" /usr/local/pgsql/data/pg_hba.conf ``` 允许远程连接, 配置监听所有IP ``` sed -i "s@#listen_addresses = 'localhost'@listen_addresses = '0.0.0.0'@g" /usr/local/pgsql/data/postgresql.conf ``` 允许远程连接, 配置访问规则允许所有的IP都可以通过用户名密码访问 ``` echo "host all all 0.0.0.0/0 scram-sha-256" >> /usr/local/pgsql/data/pg_hba.conf ``` 为了安全也可以配置只允许特定网段或者特定IP能够访问修改上面0.0.0.0/0 内容即可. 规则为: 10.1.0.2/8,说明它的子网掩码是255.0.0.0, 10段的ip都可以访问; 10.1.0.2/16,说明它的子网掩码是255.255.0.0, 10.1段的ip都可以访问; 10.1.0.2/24,说明它的子网掩码是255.255.255.0, 10.1.0段的ip都可以访问。 10.1.0.2/32,这个说明它只允许这个ip进行访问。 重启服务 ``` /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile restart ``` 执行sql 创建数据库以及数据库表 ``` psql -U postgres -W -p 5432 -c 'create database smartperf'; psql -U postgres -W -p 5432 -d smartperf -f [sql文件的路径] ``` 修改项目中使用的配置文件: 根据实际配置修改dist目录下config.ini文件 ``` [server] ** 配置项目启动端口 ** serverPort=9100 ** 关于pgsql数据库的配置 ** [pgsql] ** pgsql所在服务器的IP ** ip=localhost ** pgsql登录的用户名 ** username=postgres ** pgsql登录的密码 ** password=postgres ** pgsql访问端口 ** port=5432 ** pgsq中创建的项目使用的数据库名称 ** dbname=smartperf ``` 配置修改完成,直接运行dist目录下 ./main 可执行程序,完成项目的部署。 ## 访问项目 在浏览器上打开 https://[部署机器ip地址]:[配置在config.ini文件中serverPort指定端口]/application/ 备注:如果未出现如图所示网页.而是显示 无法访问此网站。 可以在window cmd 里执行telnet [部署机器ip地址] [配置在config.ini文件中serverPort指定端口]。 如果显示端口连接失败 可能是防火墙未对serverPort指定端口放开即可。 ## 数据库数据迁移备份 切换postgres 用户下 ``` su - postgres ``` 导出数据 ``` pg_dump smartperf > './smartperf.dump' ``` 导入数据 ``` psql smartperf < './smartperf.dump' ```