Ubuntu 22.04安装部署

news2024/12/23 15:00:24

一、部署环境

表 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.coloradmin.cn/o/2230350.html

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

相关文章

无需手动部署的正式版comfyUI是否就此收费?开源等同免费?

​ ​ 关于ComfyUI的正式版是否会收费的问题是很多AI玩家都关心的问题。 一旦ComfyUI正式版发布,我们是否需要为它买单?不再开源 同时这也引出了一个核心问题:开源究竟等不等于免费? ComfyUI正式版到底是什么?它会收…

云计算作业二Spark:问题解决备忘

安装spark 教程源地址:https://blog.csdn.net/weixin_52564218/article/details/141090528 镜像下载 教程给的官网下载地址很慢,https://archive.apache.org/dist/spark/spark-3.1.1/ 这里的镜像快很多: 清华软件源:https://mi…

C语言 | Leetcode C语言题解之第524题通过删除字母匹配到字典里最长单词

题目&#xff1a; 题解&#xff1a; char * findLongestWord(char * s, char ** d, int dSize){char *result "";int max -1;for (int i 0; i < dSize; i) {char *p s, *q d[i];int j 0, k 0;while (p[j] ! \0 && q[k] ! \0) {if (p[j] q[k]) {k…

【含文档】基于ssm+jsp的学科竞赛系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: apache tomcat 主要技术: Java,Spring,SpringMvc,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定义了四个…

【5.5】指针算法-三指针解决颜色分类

一、题目 给定一个包含红色、白色和蓝色&#xff0c;一共n个元素的数组&#xff0c;原地对它们进行排序&#xff0c;使得相同颜色的元素相邻&#xff0c;并按照红色、白色、蓝色顺序排列。 此题中&#xff0c;我们使用整数0、1和2分别表示红色、白色和蓝色。 示例 1&#xff1…

双向链表及如何使用GLib的GList实现双向链表

双向链表是一种比单向链表更为灵活的数据结构&#xff0c;与单向链表相比可以有更多的应用场景&#xff0c;本文讨论双向链表的基本概念及实现方法&#xff0c;并着重介绍使用GLib的GList实现单向链表的方法及步骤&#xff0c;本文给出了多个实际范例源代码&#xff0c;旨在帮助…

web——warmup——攻防世界

这道题还是没有做出来。。&#xff0c;来总结一下 1.ctrlU显示源码 2.看见body里有source.php 打开这个source.php 看见了源码 highlight_file(FILE); 这行代码用于高亮显示当前文件的源码&#xff0c;适合调试和学习&#xff0c;但在生产环境中通常不需要。 class emmm 定义…

【MATLAB代码】三个CT模型的IMM例程,各CT旋转速率不同,适用于定位、导航、目标跟踪

三个CT模型&#xff0c;各CT模型下的运动旋转速率不同&#xff0c;适用于定位、导航、目标跟踪 文章目录 代码构成运行结果源代码代码讲解概述代码结构1. 初始化2. 仿真参数设置3. 生成量测数据4. IMM迭代5. 绘图 主要功能函数部分1. 卡尔曼滤波函数2. 模型综合函数3. 模型概率…

sklearn 实现随机森林分类器 - python 实现

python sklearn 实现随机森林分类器 from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_iris # 加载数据集 irisload_iris() x,yiris.data,iris.target print("x y shape:",x.shape,y.shape) # 创建并训练模型 model Random…

GetX的一些高级API

目录 前言 一、一些常用的API 二、局部状态组件 1.可选的全局设置和手动配置 2.局部状态组件 1.ValueBuilder 1.特点 2.基本用法 2.ObxValue 1.特点 2.基本用法 前言 这篇文章主要讲解GetX的一些高级API和一些有用的小组件。 一、一些常用的API GetX提供了一些高级…

WPF+MVVM案例实战(十一)- 环形进度条实现

文章目录 1、运行效果2、功能实现1、文件创建与代码实现2、角度转换器实现3、命名空间引用3、源代码下载1、运行效果 2、功能实现 1、文件创建与代码实现 打开 Wpf_Examples 项目,在Views 文件夹下创建 CircularProgressBar.xaml 窗体文件。 CircularProgressBar.xaml 代码实…

SYN590RH

一般描述 SYN590RH是SYNOXO全新开发设计的一款宽电压范围&#xff0c;低功耗&#xff0c;高性能&#xff0c;无需外置AGC电容&#xff0c;灵敏度达到典型-110 dBm,400MHz~450MHz频率范围应用的单芯片ASK或00 K射频接收器。 SYN590RH是一款典型的即插即用型单片高…

kafka里的consumer 是推还是拉?

大家好&#xff0c;我是锋哥。今天分享关于【kafka里的consumer 是推还是拉&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; kafka里的consumer 是推还是拉&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在Kafka中&#xff0c;消费者&…

C语言的数组地址 数组的遍历与练习

1.int main(void) { int a[5] { 10,20,30,40,50 };//数组间的元素地址相连的 int* p; printf("%d\n", &a[0]); printf("%d\n", &a[1]); printf("%d\n", &a[2]); printf("%d\n", &a[3]); …

基于springboot + vue的网上订餐系统的设计与实现(附源码)

一、项目背景 随着互联网技术的飞速发展和智能手机的普及&#xff0c;人们的生活方式发生了翻天覆地的变化&#xff0c;其中之一便是网上订餐系统的兴起。这种系统通过在线平台连接消费者和餐饮服务提供商&#xff0c;使得用户可以随时随地浏览菜单、下单并支付&#xff0c;极…

Redis安装及运维

源码安装 Redis安装前建议要进行残留数据检查&#xff0c;排除后期存在的各种隐患 官网&#xff1a;https://redis.io/&#xff0c;Linux版本只会提供源码&#xff0c;不提供二进制安装包&#xff0c;因此需要编译源码进行安装&#xff0c;本次使用CentOS8 VMware虚拟机进行安…

windows10 安装 达梦数据库DM8

一. 前期工作 下载 https://www.dameng.com/list_103.html 通过百度网盘分享的文件&#xff1a;达梦数据库 链接&#xff1a;https://pan.baidu.com/s/1mJcT3UiwojeWIhXpAwh-RA 提取码&#xff1a;jyzi 点我: 想要 解压 双击iso文件 二. 安装步骤 1 .双击setup.ext安装 …

机器人大模型GR2——在大规模视频数据集上预训练且机器人数据上微调,随后预测动作轨迹和视频(含GR1详解)

前言 上个月的24年10.9日&#xff0c;我在朋友圈看到字节发了个机器人大模型GR2&#xff0c;立马去看了下其论文(当然了&#xff0c;本质是个技术报告) 这次也是我头一次看paper&#xff0c;不看正文&#xff0c;而是直奔其References&#xff0c;​看有没有我预想中的文献&a…

PCB电源层布线信号

在印刷电路板(PCB)的设计过程中,电源层通常被视为电源分配网络(PDN)的核心。电源层和接地层通常是通过平面铜层来实现的,旨在确保系统稳定性。然而,随着电路板复杂性的增加,尤其是在多层电路板中,设计师可能面临在电源层上布置信号线路的需求。虽然这种做法可以节省空…

【大数据学习 | kafka】producer的参数与结构

1. producer的结构 producer&#xff1a;生产者 它由三个部分组成 interceptor&#xff1a;拦截器&#xff0c;能拦截到数据&#xff0c;处理完毕以后发送给下游&#xff0c;它和过滤器不同并不是丢弃数据&#xff0c;而是将数据处理完毕再次发送出去&#xff0c;这个默认是不…