一、部署环境
环境 | 服务 | 版本号 |
系统 | Ubuntu | 22.04 server lts |
运行环境1 | JDK | 1.8 |
前端WEB | Nginx | 1.8 |
数据库 | postgresql | postgresql13+postgis3.1+pgrouting3.1 |
消息队列 | rabbitmq | 3.X(3.0以上) |
运行环境2 | erlang | 23.3.3.1 |
二、安装系统
2.1安装
1.安装方式,选第一条。
2.选择语言,建议英语,报错时比较好百度,中文版报错不容易搜索。
3.选择键盘标准,默认即可。
4.选择安装版本为标准server,键盘方向键控制光标,空格键选中。
5. 设置网卡,联网环境下稍稍等待一下,即可自动获取到IP地址。
6.配置代理,没特殊需求不用理,直接下一步。
7.设置镜像源,后面可以设置,这里直接下一步。
8.选择装系统的硬盘,多块硬盘时需要进行选择。
9.硬盘分区,默认即可。
10.设置名字、主机名、用户名,设置用户名密码。
11.升级Ubuntu pro,不升级,选择跳过。(默认选项即是跳过。Skip)
12.开启ssh服务,这个建议开启,否则还需进系统修改,比较麻烦。空格选中。
13.选中服务快照,这里不做选择,直接下一步。
14.系统自动执行安装,等待进度结束,点击重启即可。
15.点击重启,等待服务器自动重启。
16.输入先前自己设置的用户名与密码。密码为不可见状态,输入完直接Enter。
##若半天不进入到用户登录页,就手动重启一遍或多变。##
17.进入系统
2.2系统设置
进入系统后可使用ip a命令查看现有ip与网卡名称,在通过终端工具连接,我使用xshell 7进行连接。
2.2.1配置ip
#进入到/etc/netplan/
cd /etc/netplan/
#此目录下有一个为.yaml的文件,此文件为网卡配置文件,修改现有配置文件名称为.bak如:00-installer-config.yaml修改为00-installer-config.yaml.bak
sudo mv 00-installer-config.yaml 00-installer-config.yaml.bak
#用vi或vim编辑器打开、创建一个名为01-netcfg.yaml的文件。
##注意,所有命令都需要在前面加上sudo。
sudo vim 01-netcfg.yaml
#第一次使用sudo 命令需要输入密码。输入你登录的密码,密码为不可见。
#---------------------------------------------------------
network:
version: 2
renderer: networkd
ethernets:
ens33: #网卡名称
addresses: [10.0.0.22/24] #IP地址/子网掩码
gateway4: 10.0.0.2 #网关
nameservers:
addresses: #DNS不联网不用加,联网就百度,查公用DNS与企业内部自己的DNS
#---------------------------------------------------------
#ens33:为服务器的网卡名称。
#addresses: [10.0.0.22/24] 为此台服务器的ip/子网掩码。
#gateway4: 10.0.0.2 网关
#下面是DNS 不需要连外网可以不设
#保存退出--先按一下esc,然后输入“:wq”点击“Enter”。
#重启网卡或服务器生效
#重启网卡
sudo netplan apply
#重启服务器
sudo reboot
三、部署JDK
#上传nVisual-ubuntu_22.04_x86.tar.gz至服务器。
#使用cd命令进入到所上传的目录。
#进入到解压开的目录内
cd nVisual/jdk
#查看JDK名称
sudo dpkg -i *.deb
#验证JDK安装是否成功
java -version
#出现版本号为部署成功。有问题请自行百度。
四、部署Nginx
4.1部署
#在刚刚已经上传的包里 已有NGINX部署文件,进入到NGINX目录。
cd nginx/
#使用dpkg命令安装所有包。" * 代表所有文件"
sudo dpkg -i *
#启动NGINX
sudo systemctl start nginx.service
#重启NGINX
sudo systemctl restart nginx.service
#停止NGINX
sudo systemctl stop nginx.service
#查看服务状态
sudo systemctl status nginx.service
#加入到开机自启动
sudo systemctl enable nginx.service
4.2修改配置文件
#将标准配置文件替换现有Nginx配置文件。
#备份现有配置文件。
cd /etc/nginx
mv ngnx.conf nginc.conf.bak
#在微盘里获取Nginx配置文件,上传至/etc/nginx目录。
#获取地址:
https://drive.weixin.qq.com/s?k=AN0AjwcKAAwPPJlnYV
##修改NGINX启动用户,第一行的user修改为“登录Ubuntu的用户名”,否则会重启报错。
user [hostmane];
##修改Nginx访问地址。
server_name localhost;
五、部署postgresql13+postgis+pgrouting
5.1部署postgresql
5.1.1部署
#在之前上传的tar包内,以有postgresql13的安装包。
#进入到postgresql目录
cd nVisual/pgsql/postgresql
#安装所有deb包。
sudo dpkg -i *.deb
#等待安装结束。
#启动命令
sudo systemctl start postgresql.service
#重启命令
sudo systemctl restart postgresql.service
#加入到开机自启
sudo systemctl enable postgresql.service
#查看服务状态
sudo systemctl status postgresql.service
5.1.2设置优化
#进入数据库并设置密码
#切换至postgres用户
sudo su - postgres
#进入数据库
psql
#设置密码
alter user postgres with password 'NWEpassword';
#退出PostgreSQL数据库
"\q" 或 "ctrl+d" 或 "quit" 或 "exit"
5.1.3配置远程连接
#配置/etc/postgresql/13/main/pg_hba.conf
#pg_hba.conf修改项:
sudo vim /etc/postgresql/13/main/pg_hba.conf
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 trust
#配置 /etc/postgresql/13/main/postgresql.conf
sudo vim /etc/postgresql/13/main/postgresql.conf
#postgresql.conf修改项:
#listen_addresses = 'localhost'
#改为
listen_addresses = '*'
#重启生效
systemctl restart postgresql
PGAdmin 4 测试连接
连接成功
5.2部署postgis
#进入到以上传的文件目录
cd nVisual/pgsql/postgis
#安装postgis
sudo dpkg -i *.deb
#开启postgis插件
--------------------------------------
#进入到数据库
sudo -u postgres psql
#开启postgis插件
create extension postgis;
create extension postgis_topology;
create extension fuzzystrmatch;
create extension address_standardizer;
create extension address_standardizer_data_us;
create extension postgis_tiger_geocoder;
#查看postgis版本,成功打印出版本号为开启postgis插件成功。
SELECT PostGIS_full_version();
#退出查看模式(键入q就会自动退出。)
q
5.3部署pgrouting
#进入到以上传的文件目录。
cd nVisual/pgsql/pgrouting
#安装pgrouting。
sudo dpkg -i *.deb
#等待安装完成。
#开启pgrouting的插件。
CREATE EXTENSION pgrouting;
#查看pgrouting版本。
select pgr_version();
#打印出pgrouting版本号为开启插件成功。
5.4导入基础数据
5.4.1备份基础数据
使用PGadmin 4 备份一份基础数据库,基础数据库为nvisual_empty_template。
5.4.2同步基础数据
创建一个数据库
#恢复备份好的数据文件。
六、nVisual项目部署
6.1部署nVisual前端
#在/home/目录下创建 nvisual-frontend 文件夹
sudo mkdir /home/nvisual-frontend/
#给 home 目录以及home下的所有文件及目录授权给登录用户。
#命令为:词条命令为,给根下的 home目录,包括以下所有文件、文件夹的用户与用户组授权为nvisual用户与nvisual组。
shdo chown nvisual:nvisual -R /home
---------------------------------------
#上传dist包至nvisual-frontend下并解压。
tar xvf dist.tar.gz
---------------------------------------
## 如果dist目录有更新,可以找前端人员获取更新包,上传至服务器解压更新包后,使用“\cp -a”对原dist目录进行覆盖
---------------------------------------
#dist目录不为dist如“dist-2.0.71.2”请修改为“dist”
sudo mv dist-2.0.71.2 dist
##注意nvisual的前端标准部署目录路径为/home/nvisual-frontend/若修改了前端文件的路径,需要修改在微盘内获取的Nginx配置文件的相关路径。批量替换可使用 :%s###g,具体使用方法如下。
##使用vi或vim编辑文件时先不进入编辑模式,直接键入 :%s#要替换的内容#替换成的内容#g
-----------------------------------------------------------------------
##导入SSL证书
如果项目部署没有跳转https的需求,请注释掉nginx配置文件中的ssl部分,并忽略这一步。
01. 将SSL证书导入至客户服务器
将两个SSL证书导入客户服务器的/etc/nginx/ssl/目录下
02. 检查nginx语法并重启nginx
nginx -t
systemctl restart nginx
03. 如果客户服务器不需要配置https跳转,则不需要进行SSL证书的相关配置
6.2访问测试
使用电脑浏览器访问所部署的nVisual的服务器。出现以下页面为前端配置成功。
6.3部署nVisual后端
#在/home下,创建 nvisual-backend 目录
sudo mkdir /home/nvisual-backend
#上传后端jar包至/home/nvisual-backend/下
#进入/home/nvisual-backend/
#修改后端jar包配置文件
##**检查数据库地址与端口、数据库名称、数据库密码**
#启动命令
sudo java -Dfile.encoding=utf-8 -jar xxx.jar
#在程序加载后无报错,并出现(JVM***)表示启动成功,转至后台启动。
sudo nohup java -Dfile.encoding=utf-8 -jar xxx.jar &
#后端启动完成,查看下Java进程
ps -ef | grep java
6.4授权
访问服务地址:ip
管理员账号:admin_user
管理员密码:Admin
初次登录会提示Mac地址错误,并跳转到授权页面。
#授权页面,点击服务器地址,会自动弹出服务器所存在的ip,只需点击想要授权的ip即可,**有域名的用户,手动填写域名。
#点击生成用户识别码,并把生成码复制出来,发给实施或客服进行授权。
#授权生成后,会有两个文件,一个是TXT文件,里面是后端授权码,点击去输入授权码。并把授权码输入进文本框,点击注册。
#授权成功
#授权那成功后,重新打开一页浏览器页面,输入服务ip或域名进行访问nVisual。就可进入到系统。
#授权文件里的另一个“header.js”文件,为前端授权文件,复制到/home/nvisual-frontend/dist/libs/ht/core/about/目录下。
#刷新浏览器页面生效,拖拽一两个节点进行测试,拖拽出的节点或设备可编辑表示授权成功。如果不生效,请清楚浏览器缓存重试。
七、部署rabbitmq
7.1部署
#进入以上传的rabbitmq文件目录
cd nVisual/rabbitmq/
#安装所有.deb包。
sudo dpkg -i *.deb
#等待安装完成
#启动
sudo systemctl start rabbitmq-server
#重启
sudo systemctl restart rabbitmq-server
#状态
sudo systemctl status rabbitmq-server
#加入到开机自启
sudo systemctl enable rabbitmq-server
----------------------
7.2开启可视化图形管理界面
RabbitMQ是自带了图形化操作界面插件的,端口默认是15672,图形化界面默认是关闭的,可以通过命令开启。
#开启RabbitMQ图形化界面并查看端口
#启动图形化界面:
sudo rabbitmq-plugins enable rabbitmq_management
7.3访问 rabbitmq
#浏览器尝试访问
访问地址:服务器地址ip:15672
默认用户名:guest
默认密码: guest
##报错显示只能本地访问,简易使用下方“解决方法”
#修改配置文件
#所以需要手动创建以下配置文件。
vim /etc/rabbitmq/rabbitmq.conf
#文件内容为
loopback_users = none
#保存退出
#配置文件创建完成后重启RabbitMQ即可在本地进行登录。
sudo systemctl restart rabbitmq-server
#(RabbitMQ重启有点慢,多等几秒即可)
#重启结束成功后,再次访问图形化界面。
7.4创建admin用户
#使用命令创建新用户并设置权限。
#创建用户admin 密码admin
sudo rabbitmqctl add_user admin admin
#授予admin用户默认visual host "/" 下的所有资源的配置、写、读的权限
sudo rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
#授予admin用户管理员角色
sudo rabbitmqctl set_user_tags admin administrator
7.5创建交换机
#创建交换机
交换机名称(Name):
nvisual-exchange
类型(Type):
direct
7.6测试
7.6.1测试用户操作日志
点击 “管理->日志” 可查看到用户操作过的日志记录。
7.6.2测试用户登录日志
点击 “管理->日志->登录日志” 可查看到用户登录和退出的日志记录。
7.6.3测试报表
点击 “管理->报表"可查看初始的报表数据。(初始部署是没有数据的,可以拖拽一两个设备过节点。)
八、登录优化
8.1登录页优化
8.1.1注册入口优化
#服务器的/home/nvisual-frontend/dist/config/目录下为页面配置文件目录。
#使用修改diagram.js.sample为diagram.js。
mv diagram.js.sample diagram.js
#按照说明,把代码前后的注释删除掉。
8.1.2登录视图优化
#用vim打开access.js文件。
vim access.js
#根据注释设置边框,自定义名称,logo等
8.2主页优化
#无监“测模”块的项目,隐藏“监测”功能。
九、数据库备份
9.1创建备份脚本
#第一步 创建目录结构 /home/pgsql/pgsql_backup
sudo mkdir -p /home/pgsql/pgsql_backup
#第二步 设置变量 用vim或vi打开/etc/profile 在最后另起一行写入下列。保存退出。
PGPASSWORD='NWEpassword'
#刷新环境变量
source /etc/profile
#备份机制为,每天凌晨4点备份,保留时常为7天,时间可修改。
#在pgsql目录下创建备份名为pgsql_backup.sh的脚本文件,创建备份脚本,内容如下 :
#用vim编辑器打开
vi /home/pgsql/pgsql_backup.sh
--------------------------------------------------------------------------
# Backup Nvisual Database At 4am Everyday
# Delete The Backup File Made 7 Days Ago
DATE=`date "+%Y-%m-%d_%H:%M"`
PGPASSWORD='NWEpassword' pg_dump -U postgres -p 5432 nVisual > /home/pgsql/pgsql_backup/nvisual_$DATE.sql
rm -f `find /home/pgsql/pgsql_backup/ -name 'nvisual*.sql' -mtime +7`
--------------------------------------------------------------------------
#手动执行脚本已确认脚本是否生效
bash /home/pgsql/pgsql_backup.sh
说明:
- 正文宋体小四,1.5倍行距,两端对齐,首行缩进2字符,表格内字体宋体五号,全篇正文内容段落格式要统一。
- 一级标题宋体二号加粗,设置段前分页,二级标题宋体三号加粗,级标题宋体四号加粗,四级标题宋体小四加粗。
- 图片、表格及其题注应居中,首行无缩进。同一章节中的图表编号应连贯。
- 招标文件有特殊字体、段落格式等要求的,要严格按照招标文件要求编制。
- 标题名称根据招标文件大纲标题编制要求确定,商务标、技术标负责人提前沟通确定下标题编号、标题名称顺序。
- 招标文件有明确要求大纲标题内容和顺序的,要严格按照招标文件要求编制。
- 技术内容评分响应点建议不要写到太深的标题里,尽量写在一至四级标题中,便于在目录里显示。
- 文档内部交叉引用须使用软件“交叉引用”功能,合稿后须更新域。
- 商务标、技术标务必使用此模板创建文档编写(直接双击模板打开后另存文档即可)。设置标题的时候,首先把光标放在要设置成标题的文字处,然后在“开始”菜单栏的样式列表里选择合适的标题样式(1级标题、2级标题……)即可,务必不能更改已有的标题样式。