Ubuntu 22.04安装部署

一、部署环境

表 1‑1

环境服务版本号
系统Ubuntu22.04 server lts
运行环境1JDK1.8
前端WEBNginx1.8
数据库postgresqlpostgresql13+postgis3.1+pgrouting3.1
消息队列rabbitmq3.X(3.0以上)
运行环境2erlang23.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. 正文宋体小四,1.5倍行距,两端对齐,首行缩进2字符,表格内字体宋体五号,全篇正文内容段落格式要统一。
  2. 一级标题宋体二号加粗,设置段前分页,二级标题宋体三号加粗,级标题宋体四号加粗,四级标题宋体小四加粗。
  3. 图片、表格及其题注应居中,首行无缩进。同一章节中的图表编号应连贯。
  4. 招标文件有特殊字体、段落格式等要求的,要严格按照招标文件要求编制。
  5. 标题名称根据招标文件大纲标题编制要求确定,商务标、技术标负责人提前沟通确定下标题编号、标题名称顺序。
  6. 招标文件有明确要求大纲标题内容和顺序的,要严格按照招标文件要求编制。
  7. 技术内容评分响应点建议不要写到太深的标题里,尽量写在一至四级标题中,便于在目录里显示。
  8. 文档内部交叉引用须使用软件“交叉引用”功能,合稿后须更新域。
  9. 商务标、技术标务必使用此模板创建文档编写(直接双击模板打开后另存文档即可)。设置标题的时候,首先把光标放在要设置成标题的文字处,然后在“开始”菜单栏的样式列表里选择合适的标题样式(1级标题、2级标题……)即可,务必不能更改已有的标题样式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/57795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

红队-windows基础篇

声明 通过学习 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频,做出的文章如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 一.Windows&linux介绍 微软windows操作系统,…

QT 从ttf文件中读取图标

最近在做项目时,遇到需要显示一些特殊字符的需求,这些特殊字符无法从键盘敲出来,于是乎,发现可以从字体库文件ttf中读取显示。 参考博客:QT 图标字体类IconHelper封装支持Font Awesome 5-CSDN博客 该博客封装的很不错…

AnaTraf | 探秘计算机网络:网络流量分析与 TCP 标志位解析

AnaTraf 网络性能监控系统NPM | 全流量回溯分析 | 网络故障排除工具AnaTraf网络流量分析仪是一款基于全流量,能够实时监控网络流量和历史流量回溯分析的网络性能监控与诊断系统(NPMD)。通过对网络各个关键节点的监测,收集网络性能…

瑞格智慧心理服务平台 NPreenSMSList.asmx SQL注入漏洞复现

0x01 产品简介 瑞格智慧心理服务平台是一家致力于提供个性化心理健康支持的平台。通过先进的AI技术和专业心理学家团队,为用户提供定制化的心理评估和个性化的心理咨询服务。平台注重隐私保护和数据安全,用户可以安全、便捷地接受在线咨询和心理指导,帮助他们理解和应对各种…

MATLAB口罩检测

在当今疫情严峻的背景下,口罩成为了人们必备的防护用品。然而,市面上却出现了大量假冒伪劣口罩。为了帮助大家准确辨别真假口罩,小编将为大家介绍一种基于MATLAB的口罩检测方法。 1.口罩检测原理 通过图像处理技术,借助MATLAB强大…

【刷题13】链表专题

目录 一、两数相加二、两两交换链表的节点三、重排链表四、合并k个升序链表五、k个一组翻转链表 一、两数相加 题目: 思路: 注意整数是逆序存储的,结果要按照题目的要求用链表连接起来遍历l1的cur1,遍历l2的cur2,和…

消息队列面试——打破沙锅问到底

消息队列的面试连环炮 前言 你用过消息队列么?说说你们项目里是怎么用消息队列的? 我们有一个订单系统,订单系统会每次下一个新订单的时候,就会发送一条消息到ActiveMQ里面去,后台有一个库存系统,负责获取…

Linux 下执行定时任务之 Systemd Timers

不知道 ECS 因为什么缘故,上面安装的 MySQL 服务老是不定期挂掉,本来想通过 Linux 得 Cron 配置个半小时的定时检测任务,结果一直没有执行,因此又尝试使用了 Systemd Timers 进行了重新配置,简要做个记录。 Systemd Ti…

yocto中如何来安装systemd服务

在 Yocto 项目中安装 systemd 服务可以按照以下步骤进行: 1. 创建服务单元文件(.service 文件) 在 Recipe 中处理:在 Yocto 中,为了将服务单元文件安装到目标系统,首先需要在软件包的 Recipe(…

UE5相机系统初探(一)

UE5相机系统初探(一) 和Unity类似,UE的相机也是由名为Camera的component控制的。那么,在UE中要如何实现一个跟随玩家的第三人称相机呢?假设我们已经有了一个表示玩家的类ACF_Character,首先第一步就是要先在…

【python】OpenCV—Tracking(10.4)—Centroid

文章目录 1、任务描述2、人脸检测模型3、完整代码4、结果展示5、涉及到的库函数6、参考 1、任务描述 基于质心实现多目标(以人脸为例)跟踪 人脸检测采用深度学习的方法 核心步骤: 步骤#1:接受边界框坐标并计算质心 步骤#2&…

【maven】idea执行了maven的install命令给本地安装项目依赖包 安装后删除

目录 事件起因环境和工具操作过程解决办法1、找到对应的目录下的文件,手动去删除,比如我的依赖库的路径是D:\qc_code\apache-maven-3.8.2\repository 我只需要找到这个目录下对应的依赖包进行手动删除即可(不推荐,强行删除文件夹文…

PostgreSQL 到 PostgreSQL 数据迁移同步

简述 PostgreSQL 是一个历史悠久且广泛使用的数据库,不仅具备标准的关系型数据库能力,还具有相当不错的复杂 SQL 执行能力。用户常常会将 PostgreSQL 应用于在线事务型业务,以及部分数据分析工作,所以 PostgreSQL 到 PostgreSQL …

Java项目实战II基于Java+Spring Boot+MySQL的智能推荐的卫生健康系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 基于Java、…

免费插件集-illustrator插件-Ai插件-闭合开放路径

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件,加强illustrator使用人员工作效率,实现图形编辑中闭合开放路径。首先从下载网址下载这款插件https://download.csdn.net/download/m0_67316550/8789…

Java基于SpringBoot+Vue框架的房屋租赁管理系统(附源码,文档)

博主介绍:✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不…

【前端】CSS知识梳理

基础:标签选择器、类选择器、id选择器和通配符选择器 font:font-style(normal) font-weight(400) font-size(16px) /line-height(0) font-family(宋体) 复合: 后代选择器( )、子选择器(>)、并集选择器(…

第16课 核心函数(方法)

掌握常用的内置函数及其用法。 数学类函数:abs、divmod、max、min、pow、round、sum。 类型转换函数:bool、int、float、str、ord、chr、bin、hex、tuple、list、dict、set、enumerate、range、object。 序列操作函数:all、any、filter、m…

基于AI深度学习的中医针灸实训室腹针穴位智能辅助定位系统开发

在中医针灸的传统治疗中,穴位取穴的精确度对于治疗效果至关重要。然而,传统的定位方法,如体表标志法、骨度折量法和指寸法,由于观察角度、个体差异(如人体姿态和皮肤纹理)以及环境因素的干扰,往…

C++ 实现俄罗斯方块游戏

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…