Ubuntu 22.04安装部署

发布于:2024-11-02 ⋅ 阅读:(68) ⋅ 点赞:(0)

一、部署环境

表 1‑1

环境 服务 版本号
系统 Ubuntu 22.04 server lts
运行环境1 JDK 1.8
前端WEB Nginx 1.8
数据库 postgresql postgresql13+postgis3.1+pgrouting3.1
消息队列 rabbitmq 3.X(3.0以上)
运行环境2 erlang 23.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级标题……)即可,务必不能更改已有的标题样式。