Centos7.9 x86架构部署
一、部署环境
环境 | 服务 | 版本号 |
系统 | centos7.9_2009 | |
运行环境1 | JDK | 1.8_321 |
前端WEB | Nginx | 1.14 |
数据库 | postgresql | postgresql13+postgis3.1+pgrouting3.1 |
消息队列 | rabbitmq | 3.8.16 |
运行环境2 | erlang | 23.3.3.1 |
二、部署JDK
2.1下载JDK安装包
官网下载JDK8
官网地址:
https://www.oracle.com/java/technologies/downloads/#java8
2.2安装JDK
将下载好的安装包移动至/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行。
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
3.1安装Nginx
将下载好的安装包移动至/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
3.2系统优化
#根据客户需求关闭防火墙,防止后续测试无法访问web页面。
#关闭防火墙,仅本次生效。
systemctl stop firewalld
#关闭开机自启。
systemctl disable firwalld
#根据客户需求关闭selinux。
#临时关闭。
selinux:setenforce 0
#查看selinux状态:
getenforce
#永久关闭:更改selinux配置文件,将其设置为非开机自启项
vim /etc/seling/config
3.3修改配置文件
#将标准配置文件替换现有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数据库
4.1 postgresql
4.1.1下载postgresql安装包
企业中,服务器设备安全等级较高,所以在部署服务时,不能连接互联网,所以部署纯内网环境时,可以联网的电脑上使用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
4.1.2安装postgresql
安装
#把下载好的安装包上传至服务器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
pg_hba.conf修改项:
(IPV4 local connections):host all all 0.0.0.0/0 trust
#配置/var/lib/pgsql/13/data/postgresql.conf
postgresql.conf修改项:
listen_addresses = 'localhost'改为listen_addresses = '*'
#重启生效
systemctl restart postgresql-13
PGadmin 4 连接测试
4.2 postgis
4.2.1下载postgis
#安装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/
4.2.2 安装postgis
#把下载好的postgis安装包上传至服务器并解压。
#使用rpm命令安装,需要加“--force”强制安装与“--nodeps”不考虑依赖关系。
rpm -ivh *.rpm --force --nodeps
#安装成功后进入数据库开启postgis插件。
su postgres
psql
#开启pgsql的插件。
create extension postgis;
create extension postgis_topology;
#查看postgis版本,验证安装、启动是否成功 。
SELECT PostGIS_full_version();
4.3 pgrouting
4.3.1 下载pgrouting
#下载安装包到本地
yum install pgrouting_13 --downloadonly --downloaddir=/root/pgsql/pgrouting
4.3.2 安装pgrouting
#把下载好的包,上传至服务器,解压并安装。
#使用rpm命令安装,需要加“--force”强制安装与“--nodeps”不考虑依赖关系。
rpm -ivh *.rpm --force --nodeps
#安装成功后进入数据库开启pgrouting插件。
su postgres
psql
#开启pgrouting的插件。
CREATE EXTENSION pgrouting;
#查看pgrouting版本
select pgr_version();
4.4 导入基础数据库
4.4.1 备份基础数据库
使用PGadmin 4 备份一份基础数据库,基础数据库为nvisual_empty_template。
等待备份成功即可。
4.4.2 恢复基础数据库到新项目
选择备份好的基础数据文件,恢复到新的数据库内,等待数据库恢复完毕即可。
4.5 数据库备份
4.5.1 创建备份脚本
#备份机制为,每天凌晨4点备份,保留时常为7天,时间可修改。
#创建备份脚本,内容如下
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"`
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
4.5.2 创建定时任务
#使用crontab服务,创建定时任务。
crontab -e
# Backup Nvisual Database At 4am Everyday && Delete The Backup File Made 7 Days Ago
#每天凌晨4点备份。
-----------------------------------------------------------------
* 04 * * * sh /home/pgsql/pgsql_backup.sh > /dev/null
-----------------------------------------------------------------
4.5.3数据库性能优化
#下列数据为初始化安装参数示例,具体调整参数根据实际业务、配置设定。
#内存优化,建议内存优化值设置为服务器内存大小的25%。
shared_buffers = 128MB # min 128kB
#最大连接数优化,建议优化至500-1000
max_connections = 100
五、部署项目五、部署项目
5.1 部署nVisual前端5.1 部署nVisual前端5.1 部署nVisual前端
#在/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证书的相关配置
5.2 访问测试
5.2 访问测试5.2 访问测试
使用电脑浏览器访问所部署的nVisual的服务器。出现以下页面为前端配置成功。
5.3 部署nVisual后端
5.3 部署nVisual后端5.3 部署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
5.4 授权
5.4 授权5.4 授权
访问服务地址:ip
管理员账号:admin_user
管理员密码:Admin
初次登录会提示Mac地址错误,并跳转到授权页面。
#授权页面,点击服务器地址,会自动弹出服务器所存在的ip,只需点击想要授权的ip即可,**有域名的用户,手动填写域名。
#点击生成用户识别码,并把生成码复制出来,发给实施或客服进行授权。
#授权生成后,会有两个文件,一个是TXT文件,里面是后端授权码,点击去输入授权码。并把授权码输入进文本框,点击注册。
#授权成功
#授权那成功后,重新打开一页浏览器页面,输入服务ip或域名进行访问nVisual。就可进入到系统。
#授权文件里的另一个“header.js”文件,为前端授权文件,复制到/home/nvisual-frontend/dist/libs/ht/core/about/目录下。
#刷新浏览器页面生效,拖拽一两个节点进行测试,拖拽出的节点或设备可编辑表示授权成功。如果不生效,请清楚浏览器缓存重试。
六、部署rabbitmq
六、部署rabbitmq六、部署rabbitmq
6.1 下载6.1 下载6.1 下载
rabbitmq主要是推送操作日志消息、报表消息
6.1.1 下载erlang6.1.1 下载erlang6.1.1 下载erlang
#rabbitmq是使用Erlang语言开发的,所以在安装rabbitmq之前,需要先安装Erlang。不同版本的rabbitmq对Erlang语言的版本要求不同,具体可根据官网列出的依赖关系选择
#查看版本依赖关系:https://www.rabbitmq.com/which-erlang.html
#先进入Erlang下载地址下载Erlang
#Erlang下载地址:https://packagecloud.io/rabbitmq/erlang
#点击下载
6.1.2 下载socat6.1.2 下载socat6.1.2 下载socat
#socat是rabbitmq的一个重要的网络工具依赖,需要提前安装。
#在联网的环境使用yum install --downloadonly [软件名称] –-downloaddir=[指定rpm包存放路径] 下载即可。
#系统内如预装了socat,忽略此条。
6.1.3 下载rabbitmq6.1.3 下载rabbitmq6.1.3 下载rabbitmq
#RabbitMQ版本选择3.8.16
#RabbitMQ下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.16
6.2 安装
6.2 安装
6.2.1 安装erlang
#erlang上传至服务器,使用rpm命令安装。
rpm -ivh erlang-23.3.3-1.el7.x86_64.rpm
6.2.2 安装socat6.2.2 安装socat6.2.2 安装socat
#上传socat至服务器,使用rpm命令安装。
rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm
6.2.3 安装rabbitmq6.2.3 安装rabbitmq6.2.3 安装rabbitmq
#上传rabbitmq至服务器,使用rpm命令安装。
rpm -ivh rabbitmq-server-3.8.16-1.el7.noarch.rpm
6.3启动rabbitmq6.3启动rabbitmq6.3启动rabbitmq
#立即启动并设置为开机自启
systemctl enable --now rabbitmq-server
#重启
systemctl restart rabbitmq-server
#查看服务状态
systemctl status rabbitmq-server
6.4 开启可视化图形管理界面
RabbitMQ是自带了图形化操作界面插件的,端口默认是15672,图形化界面默认是关闭的,可以通过命令开启。
#开启RabbitMQ图形化界面并查看端口
#启动图形化界面:
rabbitmq-plugins enable rabbitmq_management
#查看端口:
lsof -i:15672
6.5 访问 rabbitmq
#浏览器尝试访问
访问地址:服务器地址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重启有点慢,多等几秒即可)
#重启结束成功后,再次访问图形化界面。
6.6 创建admin用户
#使用命令创建新用户并设置权限。
#创建用户admin 密码admin
rabbitmqctl add_user admin admin
#授予admin用户默认visual host "/" 下的所有资源的配置、写、读的权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
#授予admin用户管理员角色
rabbitmqctl set_user_tags admin administrator
6.7 创建交换机
#创建交换机
交换机名称(Name):
nvisual-exchange
类型(Type):
Direct
6.8测试
6.8.1 测试用户操作日志
点击 “管理->日志” 可查看到用户操作过的日志记录。
6.8.2 测试用户登录日志
点击 “管理->日志->登录日志” 可查看到用户登录和退出的日志记录。
6.8.3 测试报表
点击 “管理->报表"可查看初始的报表数据。(初始部署是没有数据的,可以拖拽一两个设备过节点。)
七、页面优化
7.1登录页优化
7.1.1 注册入口优化
#服务器的/home/nvisual-frontend/dist/config/目录下为页面配置文件目录。
#使用修改diagram.js.sample为diagram.js。
mv diagram.js.sample diagram.js
#按照说明,把代码前后的注释删除掉。
7.1.2 登录视图优化
#用vim打开access.js文件。
vim access.js
#根据注释设置边框,自定义名称,logo等
7.2 主页优化
#无监“测模”块的项目,隐藏“监测”功能。
其余功能不做过多赘述,看注释说明。