菜单

Anolis OS7.9_x86架构部署

下载

部署环境

环境 服务 版本号
系统 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

一、部署JDK

1.1 下载JDK安装包

官网下载JDK8
官网地址:https://www.oracle.com/java/technologies/downloads/#java8

1.2 安装JDK

将下载好的安装包移动至/home/soft/目录下,并进入到/home/soft/目录进行操作。

sh 复制代码
#进入到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
#出现版本号为部署成功。有问题请自行百度。

二、部署Nginx

2.1 安装Nginx

将下载好的安装包移动至/home/soft/目录下,并进入到/home/soft/目录进行操作。

sh 复制代码
#使用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

2.2 系统优化

sh 复制代码
 #根据客户需求关闭防火墙,防止后续测试无法访问web页面。
 #关闭防火墙,仅本次生效。
 systemctl stop firewalld.service
 #关闭开机自启。
systemctl disable firewalld.service
 #根据客户需求关闭selinux。
 #临时关闭。
 selinux:setenforce 0
 #查看selinux状态:
 getenforce
 #永久关闭:更改selinux配置文件,将其设置为非开机自启项
vim /etc/seling/config

2.3 修改配置文件

sh 复制代码
#将标准配置文件替换现有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;

三、部署postgresql数据库

3.1 postgresql

3.1.1 下载postgresql安装包

企业中,服务器设备安全等级较高,所以在部署服务时,不能连接互联网,所以部署纯内网环境时,可以联网的电脑上使用VMwear虚拟机先模拟部署,在部署时使用:yum install --downloadonly [软件名称] --downloaddir=[指定rpm包存放路径] 下载好相对应的软件包后服务器上,运行rpm -ivh *.rpm。注意,模拟环境的系统版本需与实际部署的系统版本一至。

sh 复制代码
##创建一个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

3.1.2 安装postgresql

安装

sh 复制代码
#把下载好的安装包上传至服务器soft目录并解压。
#rpm安装
rpm -ivh *.rpm
#建议按顺序安装
rpm -ivh libicu*
rpm -ivh postgresql13-libs*
rpm -ivh postgresql13*
rpm -ivh postgresql13-server*

初始化

sh 复制代码
#初始化命令
/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

设置数据库密码

sh 复制代码
#切换至postgres用户
su  postgres
#进入数据库 
psql 
#设置数据库密码 
alter user postgres with password 'NWEpassword'; 
#退出PostgreSQL数据库 
"\q" 或 "ctrl+d" 或 "quit" 或 "exit" 

配置远程连接

sh 复制代码
#配置/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 连接测试

3.2 postgis

3.2.1下载postgis

sh 复制代码
#安装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/

3.2.2 安装postgis

3.2.2.1 安装postgis的依赖
sh 复制代码
#先进入到pgsql/postgis-dependent/下,安装postgis的依赖包。
#使用rpm命令安装,需要加“--force”强制安装与“--nodeps”不考虑依赖关系。
rpm -ivh *.rpm --force --nodeps
**必须先安装postgis的所有依赖,再安装postgis,否则安装顺序不正确会导致MVT功能无法生效,原因是全部安装时 protobuf-c 会在postgis之后才会安装,导致安装postgis时,没有应用到 protobuf-c包的库,MVT功能调取失败,从而这里对安装部署顺序做了调整,先安装依赖,再安装postgis。**
3.2.2.2 安装postgis
sh 复制代码
#把下载好的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();

3.2.3 测试MVT启用是否正常

sql 复制代码
#验证MVT是否能正常使用,执行此SQL出现下图数据表示开启MVT功能正常。
WITH mvtgeom AS ( SELECT ST_TileEnvelope(12,513,412) AS geom ) SELECT ST_AsMVT(mvtgeom.*) FROM mvtgeom;

3.3 pgrouting

3.3.1 下载pgrouting

shell 复制代码
#下载安装包到本地
yum  install pgrouting_13 --downloadonly --downloaddir=/root/pgsql/pgrouting

3.3.2 安装pgrouting

sh 复制代码
#把下载好的包,上传至服务器,解压并安装。
#使用rpm命令安装,需要加“--force”强制安装与“--nodeps”不考虑依赖关系。
rpm -ivh *.rpm --force --nodeps
#安装成功后进入数据库开启pgrouting插件。  
su postgres   
psql   
#开启pgrouting的插件。
CREATE EXTENSION pgrouting;
#查看pgrouting版本
select pgr_version();

3.4 导入基础数据库

3.4.1 备份基础数据库

使用PGadmin 4 备份一份基础数据库,基础数据库为nvisual_empty_template。

等待备份成功即可。

3.4.2 恢复基础数据库到新项目

选择备份好的基础数据文件,恢复到新的数据库内,等待数据库恢复完毕即可。

恢复完成后 可看到 结构 public下 已经存在了所有表。共92个。

3.5 数据库备份

3.5.1 创建备份脚本

sh 复制代码
#备份机制为,每天凌晨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

3.5.2 创建定时任务

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
--------------------------------------------------------------------------

3.5.3 数据库性能优化

sh 复制代码
#下列数据为初始化安装参数示例,具体调整参数根据实际业务、配置设定。
#内存优化,建议内存优化值设置为服务器内存大小的25%。
shared_buffers = 128MB			# min 128kB
#最大连接数优化,建议优化至500-1000
max_connections = 100

四、部署项目

4.1 部署nVisual前端

sh 复制代码
#在/home/目录下创建 nvisual-frontend 文件夹
cd /home/
mkdir nvisual-frontend
#上传dist包至nvisual-frontend下并解压。
tar xvf dist.tar.gz
## 如果dist目录有更新,可以找前端人员获取更新包,上传至服务器解压更新包后,使用“\cp -a”对原dist目录进行覆盖
sh 复制代码
##注意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证书的相关配置

4.2 访问测试

使用电脑浏览器访问所部署的nVisual的服务器。出现以下页面为前端配置成功。

4.3 部署nVisual后端

sh 复制代码
#上传后端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

4.4 授权

sh 复制代码
访问服务地址:ip

管理员账号:admin_user

管理员密码:Admin

初次登录会提示Mac地址错误,并跳转到授权页面。
sh 复制代码
#授权页面,点击服务器地址,会自动弹出服务器所存在的ip,只需点击想要授权的ip即可,**有域名的用户,手动填写域名。
sh 复制代码
#点击生成用户识别码,并把生成码复制出来,发给实施或客服进行授权。
sh 复制代码
#授权生成后,会有两个文件,一个是TXT文件,里面是后端授权码,点击去输入授权码。并把授权码输入进文本框,点击注册。
sh 复制代码
#授权成功
sh 复制代码
#授权那成功后,重新打开一页浏览器页面,输入服务ip或域名进行访问nVisual。就可进入到系统。
sh 复制代码
#授权文件里的另一个“header.js”文件,为前端授权文件,复制到/home/nvisual-frontend/dist/libs/ht/core/about/目录下。
sh 复制代码
#刷新浏览器页面生效,拖拽一两个节点进行测试,拖拽出的节点或设备可编辑表示授权成功。如果不生效,请清楚浏览器缓存重试。

四、部署rabbitmq

4.1 下载

rabbitmq主要是推送操作日志消息、报表消息

4.1.1 下载erlang

sh 复制代码
#rabbitmq是使用Erlang语言开发的,所以在安装rabbitmq之前,需要先安装Erlang。不同版本的rabbitmq对Erlang语言的版本要求不同,具体可根据官网列出的依赖关系选择
#查看版本依赖关系:https://www.rabbitmq.com/which-erlang.html
#先进入Erlang下载地址下载Erlang
#Erlang下载地址:https://packagecloud.io/rabbitmq/erlang 
sh 复制代码
#点击下载

4.1.2 下载socat

sh 复制代码
#socat是rabbitmq的一个重要的网络工具依赖,需要提前安装。
#在联网的环境使用yum install --downloadonly [软件名称] –-downloaddir=[指定rpm包存放路径] 下载即可。
#系统内如预装了socat,忽略此条。

4.1.3 下载rabbitmq

sh 复制代码
#RabbitMQ版本选择3.8.16
#RabbitMQ下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.16

4.2 安装

4.2.1 安装erlang

sh 复制代码
#erlang上传至服务器,使用rpm命令安装。
rpm -ivh erlang-23.3.3-1.el7.x86_64.rpm

4.2.2 安装socat

sh 复制代码
#上传socat至服务器,使用rpm命令安装。
rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm

4.2.3 安装rabbitmq

sh 复制代码
#上传rabbitmq至服务器,使用rpm命令安装。
rpm -ivh rabbitmq-server-3.8.16-1.el7.noarch.rpm

4.3启动rabbitmq

sh 复制代码
#立即启动并设置为开机自启
systemctl enable --now rabbitmq-server
#重启
systemctl restart rabbitmq-server
#查看服务状态
systemctl status rabbitmq-server

4.4 开启可视化图形管理界面

RabbitMQ是自带了图形化操作界面插件的,端口默认是15672,图形化界面默认是关闭的,可以通过命令开启。

sh 复制代码
#开启RabbitMQ图形化界面并查看端口
#启动图形化界面:
rabbitmq-plugins enable rabbitmq_management
#查看端口:
lsof -i:15672

4.5 访问 rabbitmq

sh 复制代码
#浏览器尝试访问
	访问地址:服务器地址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重启有点慢,多等几秒即可)
	#重启结束成功后,再次访问图形化界面。

4.6 创建admin用户

sh 复制代码
#使用命令创建新用户并设置权限。
#创建用户admin 密码admin
rabbitmqctl add_user admin 'admin'
#授予admin用户默认visual host "/" 下的所有资源的配置、写、读的权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
#授予admin用户管理员角色
rabbitmqctl set_user_tags admin administrator

4.7 创建交换机

sh 复制代码
#创建交换机
	交换机名称(Name):
		nvisual-exchange
	类型(Type):
		direct

4.8 测试

4.8.1 测试用户操作日志

点击 “管理->日志” 可查看到用户操作过的日志记录。

4.8.2 测试用户登录日志

点击 “管理->日志->登录日志” 可查看到用户登录和退出的日志记录。

4.8.3 测试报表

点击 “管理->报表"可查看初始的报表数据。(初始部署是没有数据的,可以拖拽一两个设备过节点。)

五、页面优化

5.1 登录页优化

5.1.1 注册入口优化

sh 复制代码
#服务器的/home/nvisual-frontend/dist/config/目录下为页面配置文件目录。
#使用修改diagram.js.sample为diagram.js。
mv  diagram.js.sample   diagram.js
#按照说明,把代码前后的注释删除掉。

5.1.2 登录视图优化

sh 复制代码
#用vim打开access.js文件。
vim access.js
#根据注释设置边框,自定义名称,logo等

5.2 主页优化

sh 复制代码
#无监“测模”块的项目,隐藏“监测”功能。

其余功能不做过多赘述,看注释说明。

上一个
KINGBASE部署(centos7.9)
下一个
麒麟V10SP1部署postgresql+postgis+pgrouting
最近修改: 2024-06-21