如何在华为鲲鹏云服务器上安装PostgreSQL

举报
jackwangcumt 发表于 2021/05/11 15:22:09 2021/05/11
【摘要】       最近,公司想将自研的一套企业安全双重预防管理软件迁移到华为鲲鹏云服务器上来,并逐步加入华为鲲鹏生态圈体系中。因此,为了评估和自测系统的兼容性,就租赁了一台华为鲲鹏云服务器,并记录了在CentOS7上安装tomcat和PostgreSQL的基本过程。

      最近,公司想将自研的一套企业安全双重预防管理软件迁移到华为鲲鹏云服务器上来,并逐步加入华为鲲鹏生态圈体系中。因此,为了评估和自测系统的兼容性,就租赁了一台华为鲲鹏云服务器,它是基于Centos7.6,内置了openJDK1.8。

    通过这两天的华为云迁移过程来说,总体还是非常满意的,购买华为云只需要按照自身的需求,选择配置,然后按照向导直至支付完成即可,支付的化也很方便,直接用支付宝即可完成支付。支付完成后,即可在控制台的弹性云服务器ECS中查看到服务器信息,这里有IP的信息,可以根据公网的IP进行远程管理。

图片3.png

由于我们自研的孔智安全双重预防管理软件采用Java语言开发,因此软件本身的发布包迁移没有什么成本,借助华为CloudShell工具,可以非常方便的远程通过浏览器连接华为云服务器,并进行基本的操作。具体如下图所示:

图片1.png

成功登录后,就可以在命令行中输入相关命令,如创建文件夹,切换目录等。这里首先在root目录下创建kzcloud目录,即可看到如下界面:

图片2.png

孔智安全双重预防管理软件采用Spring Boot框架,可以基于Tomcat进行部署,下面简单介绍一下Tomcat的安装过程:

首先通过SSH工具,如Bitvise SSH连接华为云服务器,并将下载的apache-tomcat-9.0.45.tar.gz安装包上传到kzcloud目录,然后解压即可:

图片4.png

[root@ecs-de6f kzcloud]# tar -zxvf apache-tomcat-9.0.45.tar.gz

[root@ecs-de6f kzcloud]# mv apache-tomcat-9.0.45 tomcat9

[root@ecs-de6f bin]# ./startup.sh

然后查看一下8080端口是否已被监听

[root@ecs-de6f bin]# netstat -anput|grep 8080

此时,可能由于华为云服务器的端口还未开放,需要进行设置,设置过程也非常的方便,华为云服务器控制台内置了WebServer规则,可以根据需要选择配置即可,如开通8080和5432端口:

图片6.png

此时打开浏览器,输入华为云服务器公网地址:如http://IP:8080,会查看如下界面,说明Tomcat部署成功:

图片7.png

  下一步就需要安装PostgreSQL数据库了,这里遇到了一点坑,主要是Yum源的问题,默认的安装过程中找不到源。还有就是基于鲲鹏ARM架构,需要安装PostgreSQL 对应的 aarch64版本。后来发现,华为云已经提供了官方镜像地址:https://mirrors.huaweicloud.com/  具体如下图所示:

图片8.png

这里选择华为(CentOS7.6)yum源地鲲鹏的镜像,鲲鹏址:https://repo.huaweicloud.com/kunpeng/yum/el/7/aarch64

图片9.png

并安装官网提示进行如下配置:

1、备份原yum库文件:

mv /etc/yum.repos.d/ /etc/yum.repos.d-bak

2、将新配置写入repo文件:

mkdir /etc/yum.repos.d
echo -e "[kunpeng]\nname=CentOS-kunpeng - Base - repo.huaweicloud.com\nbaseurl=https://repo.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/CentOS-Base-kunpeng.repo

3、更新yum源配置:

yum clean all          # 清除系统所有的yum缓存
yum makecache     # 生成yum缓存

安装PostgresSQL 11.3

[root@ecs-de6f pgsql]# sudo yum install -y https://repo.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/postgresql-11.3-1.lse.el7.aarch64.rpm

图片10.png

#创建文件夹
[root@ecs-de6f ~] mkdir -p /data/pgsql/data 
[root@ecs-de6f ~] mkdir -p /data/pgsql/log
#权限设置
[root@ecs-de6f ~]# chown -R postgres.postgres /data/pgsql /usr/local/pgsql/
[root@ecs-de6f ~]# su - postgres

#### 修改环境变量
vi ~/.bash_profile
# 增如下内容
export PG_HOME=/usr/local/pgsql
export PGDATA=/data/pgsql/data
export PATH=${PG_HOME}/bin:$PATH
export PGPORT=5432
export PGUSER=postgres
export PGDATABASE=postgres
# 重载环境变量
source ~/.bash_profile
#用默认地址初始化
${PG_HOME}/bin/initdb -D ${PGDATA} -E utf8

图片11.png

#设置监听
vi ${PGDATA}/postgresql.conf
# 设置监听所有IP(生产环境慎用)
listen_addresses = '*'
port = 5432
#设置数据库白名单
vi ${PGDATA}/pg_hba.conf
# 增加如下记录,用户密码模式(生产环境慎用)
host    all    all    0.0.0.0/0      md5
#启动
${PG_HOME}/bin/pg_ctl start
# 停止
${PG_HOME}/bin/pg_ctl stop

进入pgsql环境:

[postgres@ecs-de6f bin]$ psql -U postgres -d postgres

图片12.png

可以设置初始密码,创建数据库和授权等。

postgres=# alter user postgres with password 'yourpassword';
ALTER ROLE
postgres=# select oid,datname from pg_database;
postgres=# create database dcs_kzcloud owner postgres;
CREATE DATABASE
postgres=# grant all on database dcs_kzcloud to postgres;
GRANT

关于数据库结构和数据的同步,可以用命令,也可以用Navicat Premium 工具,首先同步结构,再同步数据:

图片13.png

最后,将Web安装包上传到华为云,并解压,然后修改tomcat配置文件server.xml和Web程序的数据库链接等信息,重启tomcat即可。

QQ截图20210511151648.jpg

通过自测,所有的业务模块都可以在华为云鲲鹏云服务器上正常运行。

   

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。