环境 | 服务 | 版本号 |
---|---|---|
系统 | Anolis OS7.9_2009 | |
运行环境 | JKD | 1.8_321 |
前端WEB | Nginx | 1.14 |
数据库 | postgresql | postgresql13+postgis3.1+pgrouting3.1 |
消息队列 | rabbitmq | 3.8.16 |
运行环境2 | erlang | 23.3.3.1 |
官网下载JDK8
官网地址:https://www.oracle.com/java/technologies/downloads/#java8
将下载好的安装包移动至/home/soft/目录下,并进入到/home/soft/目录进行操作。
#进入到soft。
cd /hemo/soft/
#解压安装包。
tar xvf jdk-8u321-linux-x64.tar.gz
#将解压好的目录文件复制到指定路径。
cp -r jdk1.8.0_321/ /usr/local/jdk1.8.0_321/
#配置环境变量,使用vi或vim打开/etc/profile在文件最后添加下面4行。
vim /etc/profile
#参数
export JAVA_HOME=/usr/local/jdk1.8.0_321
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
#保存退出--先按一下esc,然后输入“:wq”点击“Enter”。
#刷新环境变量
source /etc/profile
#验证JDK安装是否成功
java -version
#出现版本号为部署成功。有问题请自行百度。
将下载好的安装包移动至/home/soft/目录下,并进入到/home/soft/目录进行操作。
#使用rpm命令安装Nginx包。
rpm -ivh nginx-1.14.1-1.el7_4.ngx.x86_64.rpm
#安装完成后查看Nginx版本,显示版本号为安装正常。
nginx -v
#立即启动并设置为开机自启。
systemctl enable --now nginx
#启动
systemctl start nginx
#查看服务状态
systemctl status nginx
#重启服务
systemctl restart nginx
#停止服务
systemctl stop nginx
#根据客户需求关闭防火墙,防止后续测试无法访问web页面。
#关闭防火墙,仅本次生效。
systemctl stop firewalld.service
#关闭开机自启。
systemctl disable firewalld.service
#根据客户需求关闭selinux。
#临时关闭。
selinux:setenforce 0
#查看selinux状态:
getenforce
#永久关闭:更改selinux配置文件,将其设置为非开机自启项
vim /etc/seling/config
#将标准配置文件替换现有Nginx配置文件。
#备份现有配置文件。
cd /etc/nginx
mv ngnx.conf nginc.conf.bak
#在微盘里获取Nginx配置文件,上传至/etc/nginx目录。
#获取地址:
https://drive.weixin.qq.com/s?k=AN0AjwcKAAwPPJlnYV
##修改Nginx访问地址。
server_name 部署服务器IP;
企业中,服务器设备安全等级较高,所以在部署服务时,不能连接互联网,所以部署纯内网环境时,可以联网的电脑上使用VMwear虚拟机先模拟部署,在部署时使用:yum install --downloadonly [软件名称] --downloaddir=[指定rpm包存放路径] 下载好相对应的软件包后服务器上,运行rpm -ivh *.rpm。注意,模拟环境的系统版本需与实际部署的系统版本一至。
##创建一个pgsql文件夹,在此文件夹下创建postgresql、postgis、pgrouting。
##更新源
yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
##下载postgresql的客户端与服务端到本地
##客户端
yum -y install --downloadonly --downloaddir=/root/pgsql/postgresql/ postgresql-13
##服务端
yum -y install --downloadonly --downloaddir=/root/pgsql/postgresql/ postgresql-13-server
安装
#把下载好的安装包上传至服务器soft目录并解压。
#rpm安装
rpm -ivh *.rpm
#建议按顺序安装
rpm -ivh libicu*
rpm -ivh postgresql13-libs*
rpm -ivh postgresql13*
rpm -ivh postgresql13-server*
初始化
#初始化命令
/usr/pgsql-13/bin/postgresql-13-setup initdb
#立即启动并设置为开机自启。
systemctl enable --now postgresql-13
#启动
systemctl start postgresql-13
#重启
systemctl restart postgresql-13
#查看服务状态
systemctl status postgresql-13
设置数据库密码
#切换至postgres用户
su postgres
#进入数据库
psql
#设置数据库密码
alter user postgres with password 'NWEpassword';
#退出PostgreSQL数据库
"\q" 或 "ctrl+d" 或 "quit" 或 "exit"
配置远程连接
#配置/var/lib/pgsql/13/data/pg_hba.conf
------------------------------------------------------------------------------
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5 #添加此行
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
------------------------------------------------------------------------------------
#配置/var/lib/pgsql/13/data/postgresql.conf
postgresql.conf修改项:
listen_addresses = 'localhost'改为listen_addresses = '*'
#重启生效
systemctl restart postgresql-13
PGadmin 4 连接测试
#安装epel源
yum install -y epel-release
#安装dnf命令
yum install -y dnf dnf-plugins-core
yum install postgis30_13-3.0.7-1.rhel7.x86_64
#安装PostGIS源
dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
#升级旧版本依赖
dnf -y upgrade libmodulemd
#清除原有缓存并重新加载(选择y)
yum clean all && yum makecache
#下载PostGIS3.1 到本地
dnf install postgis31_13 --downloadonly --downloaddir=/root/pgsql/postgis/
#先进入到pgsql/postgis-dependent/下,安装postgis的依赖包。
#使用rpm命令安装,需要加“--force”强制安装与“--nodeps”不考虑依赖关系。
rpm -ivh *.rpm --force --nodeps
**必须先安装postgis的所有依赖,再安装postgis,否则安装顺序不正确会导致MVT功能无法生效,原因是全部安装时 protobuf-c 会在postgis之后才会安装,导致安装postgis时,没有应用到 protobuf-c包的库,MVT功能调取失败,从而这里对安装部署顺序做了调整,先安装依赖,再安装postgis。**
#把下载好的postgis安装包上传至服务器并解压。
rpm -ivh postgis30_13-3.0.7-1.rhel7.x86_64.rpm
#安装成功后进入数据库开启postgis插件。
su postgres
psql
#开启pgsql的插件。
create extension postgis;
create extension postgis_raster;
create extension postgis_topology;
#查看postgis版本,验证安装、启动是否成功 。
SELECT PostGIS_full_version();
#验证MVT是否能正常使用,执行此SQL出现下图数据表示开启MVT功能正常。
WITH mvtgeom AS ( SELECT ST_TileEnvelope(12,513,412) AS geom ) SELECT ST_AsMVT(mvtgeom.*) FROM mvtgeom;
#下载安装包到本地
yum install pgrouting_13 --downloadonly --downloaddir=/root/pgsql/pgrouting
#把下载好的包,上传至服务器,解压并安装。
#使用rpm命令安装,需要加“--force”强制安装与“--nodeps”不考虑依赖关系。
rpm -ivh *.rpm --force --nodeps
#安装成功后进入数据库开启pgrouting插件。
su postgres
psql
#开启pgrouting的插件。
CREATE EXTENSION pgrouting;
#查看pgrouting版本
select pgr_version();
使用PGadmin 4 备份一份基础数据库,基础数据库为nvisual_empty_template。
等待备份成功即可。
选择备份好的基础数据文件,恢复到新的数据库内,等待数据库恢复完毕即可。
恢复完成后 可看到 结构 public下 已经存在了所有表。共92个。
#备份机制为,每天凌晨4点备份,保留时常为7天,时间可修改。
#创建备份脚本,内容如下
vi /home/pgsql/pgsql_backup.sh
--------------------------------------------------------------------------
#!/bin/bash/
# Backup Nvisual Database At 4am Everyday
# Delete The Backup File Made 7 Days Ago
DATE=`date "+%Y-%m-%d_%H:%M"`
pg_dump -h 127.0.0.1 -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
#使用crontab服务,创建定时任务。
crontab -e
# Backup Nvisual Database At 4am Everyday && Delete The Backup File Made 7 Days Ago
#每天凌晨4点备份。
--------------------------------------------------------------------------
0 4 * * * sh /home/pgsql/pgsql_backup.sh
--------------------------------------------------------------------------
#下列数据为初始化安装参数示例,具体调整参数根据实际业务、配置设定。
#内存优化,建议内存优化值设置为服务器内存大小的25%。
shared_buffers = 128MB # min 128kB
#最大连接数优化,建议优化至500-1000
max_connections = 100
#在/home/目录下创建 nvisual-frontend 文件夹
cd /home/
mkdir nvisual-frontend
#上传dist包至nvisual-frontend下并解压。
tar xvf dist.tar.gz
## 如果dist目录有更新,可以找前端人员获取更新包,上传至服务器解压更新包后,使用“\cp -a”对原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证书的相关配置
使用电脑浏览器访问所部署的nVisual的服务器。出现以下页面为前端配置成功。
#上传后端jar包至/home/nvisual-backend/下
#修改后端jar包配置文件检查数据库地址与端口、
#启动命令
java -Dfile.encoding=utf-8 -jar *8081.jar
#在程序加载后无报错,并出现(JVM***)表示启动成功,转至后台启动。
nohup java -Dfile.encoding=utf-8 -jar *8081.jar &
#后端启动完成,查看下Java进程
ps -ef | grep java
访问服务地址:ip
管理员账号:admin_user
管理员密码:Admin
初次登录会提示Mac地址错误,并跳转到授权页面。
#授权页面,点击服务器地址,会自动弹出服务器所存在的ip,只需点击想要授权的ip即可,**有域名的用户,手动填写域名。
#点击生成用户识别码,并把生成码复制出来,发给实施或客服进行授权。
#授权生成后,会有两个文件,一个是TXT文件,里面是后端授权码,点击去输入授权码。并把授权码输入进文本框,点击注册。
#授权成功
#授权那成功后,重新打开一页浏览器页面,输入服务ip或域名进行访问nVisual。就可进入到系统。
#授权文件里的另一个“header.js”文件,为前端授权文件,复制到/home/nvisual-frontend/dist/libs/ht/core/about/目录下。
#刷新浏览器页面生效,拖拽一两个节点进行测试,拖拽出的节点或设备可编辑表示授权成功。如果不生效,请清楚浏览器缓存重试。
rabbitmq主要是推送操作日志消息、报表消息
#rabbitmq是使用Erlang语言开发的,所以在安装rabbitmq之前,需要先安装Erlang。不同版本的rabbitmq对Erlang语言的版本要求不同,具体可根据官网列出的依赖关系选择
#查看版本依赖关系:https://www.rabbitmq.com/which-erlang.html
#先进入Erlang下载地址下载Erlang
#Erlang下载地址:https://packagecloud.io/rabbitmq/erlang
#点击下载
#socat是rabbitmq的一个重要的网络工具依赖,需要提前安装。
#在联网的环境使用yum install --downloadonly [软件名称] –-downloaddir=[指定rpm包存放路径] 下载即可。
#系统内如预装了socat,忽略此条。
#RabbitMQ版本选择3.8.16
#RabbitMQ下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.16
#erlang上传至服务器,使用rpm命令安装。
rpm -ivh erlang-23.3.3-1.el7.x86_64.rpm
#上传socat至服务器,使用rpm命令安装。
rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm
#上传rabbitmq至服务器,使用rpm命令安装。
rpm -ivh rabbitmq-server-3.8.16-1.el7.noarch.rpm
#立即启动并设置为开机自启
systemctl enable --now rabbitmq-server
#重启
systemctl restart rabbitmq-server
#查看服务状态
systemctl status rabbitmq-server
RabbitMQ是自带了图形化操作界面插件的,端口默认是15672,图形化界面默认是关闭的,可以通过命令开启。
#开启RabbitMQ图形化界面并查看端口
#启动图形化界面:
rabbitmq-plugins enable rabbitmq_management
#查看端口:
lsof -i:15672
#浏览器尝试访问
访问地址:服务器地址ip:15672
默认用户名:guest
默认密码: guest
##报错显示只能本地访问,简易使用下方“解决方法”
#修改配置文件
#但是3.8.16版本的RabbitMQ在/usr/share/doc/rabbitmq-server-3.8.16/目录下并没有相应的配置文件
#所以需要手动创建以下配置文件。
vim /etc/rabbitmq/rabbitmq.conf
#文件内容为
loopback_users = none
#保存退出
#配置文件创建完成后重启RabbitMQ即可在本地进行登录。
#systemctl restart rabbitmq-server(RabbitMQ重启有点慢,多等几秒即可)
#重启结束成功后,再次访问图形化界面。
#使用命令创建新用户并设置权限。
#创建用户admin 密码admin
rabbitmqctl add_user admin 'admin'
#授予admin用户默认visual host "/" 下的所有资源的配置、写、读的权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
#授予admin用户管理员角色
rabbitmqctl set_user_tags admin administrator
#创建交换机
交换机名称(Name):
nvisual-exchange
类型(Type):
direct
点击 “管理->日志” 可查看到用户操作过的日志记录。
点击 “管理->日志->登录日志” 可查看到用户登录和退出的日志记录。
点击 “管理->报表"可查看初始的报表数据。(初始部署是没有数据的,可以拖拽一两个设备过节点。)
#服务器的/home/nvisual-frontend/dist/config/目录下为页面配置文件目录。
#使用修改diagram.js.sample为diagram.js。
mv diagram.js.sample diagram.js
#按照说明,把代码前后的注释删除掉。
#用vim打开access.js文件。
vim access.js
#根据注释设置边框,自定义名称,logo等
#无监“测模”块的项目,隐藏“监测”功能。
其余功能不做过多赘述,看注释说明。