Centos7.9 x86架构部署

时间:2024-11-03 21:36:36

一、部署环境

表 1‑1

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

#无监“测模”块的项目,隐藏“监测”功能。

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