【知乎大V体验鲲鹏】如何快速实现鲲鹏弹性云服务器的Node.js部署和高可用性?
1047
2022-05-29
使用华为云鲲鹏弹性云服务器部署PostgreSQL,默认已经注册华为云账号,预装了CentOS系统的鲲鹏云服务器,安装、部署、测试PostgreSQL项目。
1. 登录鲲鹏服务器
2. 安装PostgreSQL数据库依赖
3. 配置运行环境
3.1. 授权用户
3.2. 配置环境变量
3.3. 检验配置结果
4. 运行数据库服务
4.1.初始化数据库
4.2. 启动数据库服务
4.3.检查启动结果
5.修改数据库配置
5.1.设置数据库密码
5.3.修改访问地址控制设置
5.4.开放安全组(5432)端口
6. 访问数据库服务
1. 登录鲲鹏服务器
选择控制台,点击“服务列表”->“计算”->“弹性云服务器ECS”进入服务器列表,在此可查看或复制云服务器的公网IP【EIP】。
①打开Terminal,输入以下命令登录云服务器;
②接受秘钥输入“yes”,回车;
③输入密码:使用预置环境信息中云服务器名称为ecs-postgresql的用户密码(输入密码时,命令行窗口不会显示密码,输完之后直接键入回车)。成功登录云服务器之后如下图所示:
2. 安装PostgreSQL数据库依赖
什么是PostgreSQL数据库?PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。
在终端输入下列命令
yum -y install readline-devel zlib-devel gcc gcc-c++ zlib readline
解压压缩文件,运行指令如下:
tar -zxvf postgresql-10.3.tar.gz -C /opt/
进入解压缩的PostgreSQL数据库目录,指令如下:
cd /opt/postgresql-*/
配置编译安装环境:(说明:–build指明编译环境,–host指明运行环境,–prefix指明安装路径)
开始编译安装,指令如下:
make && make install && make clean
等待大约5分钟执行成功,如下图所示,至此PostgreSQL数据库安装完毕:
3. 配置运行环境
添加用户和用户组 postgres,运行指令如下
adduser postgres
将安装目录下的数据授权给postgres用户:
chown -R postgres:postgres /usr/local/pgsql
执行查看指令:
ls -ld /usr/local/pgsql
结果如下图所示:
什么是环境变量?环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
切换到postgres用户(以后的指令都是在postgres用户下执行),指令如下:
su postgres
打开文件.bash_profile,
vim ~/.bash_profile
然后按键盘的“i”键进入编辑模式,在文档的最后输入以下内容:
export PGHOME=/usr/local/pgsqlexport PGDATA=/usr/local/pgsql/dataexport PATH=$PATH:$PGHOME/bin
按键盘上“Esc”键退出编辑模式,输入保存并退出当前编辑文件指令“:wq”,如图所示:
回车,结果如下图:
使配置环境变量生效,这意味着在使用PostgreSQL数据库相关的指令和路径时避免输入全路径(如:/user/local/pgsql/bin/psql可以直接输入psql)。指令如下:
source ~/.bash_profile
检验环境变量是否配置成功正确:
psql -V
配置成功并生效时会显示当前安装的PostgreSQL数据的版本,结果如图所示:
4. 运行数据库服务
设置环境变量完成后,直接执行“initdb”即可完成pg数据库初始化,自动生成对应的相关目录文件:
initdb
运行结果如图所示:
创建数据库日志文件路径,指令如下
mkdir -p /usr/local/pgsql/log
修改日志文件路径访问权限,赋予/usr/local/pgsql/log目录拥有者可读可写可进入的权限,以及其他用户可读可进入的权限:
chmod 755 /usr/local/pgsql/log
启动数据库,指令如下:
pg_ctl -D $PGDATA -l $PGHOME/log/pg_server.log start
执行结果如下图所示:
检查postgres 的进程,指令如下:
ps -ef | grep "postgres"
执行结果如下图所示:
检查服务端口(默认5432),指令如下:
netstat -nlp | grep "postgres"
执行结果如下图所示:
5.修改数据库配置
修改PostgreSQL数据库为可远程访问,用以提供数据存储服务。
数据库登录指令如
psql
设置postgres 用户访问数据库密码,指令如下:
password postgres
按回车键后出现为数据库用户“postgres”设置密码的区域(输入密码时,命令行窗口不会显示密码。密码自定义,如OMnwaaqZak1ka328),输完之后直接回车,根据提示再次输入密码进行确认。密码设置成功如下图所示:
####5.2. 修改数据库配置为远程访问
如何在vim下进行快速查找?Linux中使用vim指令进行文档编辑时,有时想快速找到某一行号或某一个关键字,操作如下:1、查找n(n是数字)行的方式,打开文档后连续按n、shift+g可以快速定位的n行。2、查找关键字,打开文档按“/”,然后输入要查找的内容(会在终端的左下方显示输入内容),最后按回车键可以迅速找到指定内容。
打开配置文件“postgresql.conf”,指令如下
vim /usr/local/pgsql/data/postgresql.conf
然后连续按5、9、shift+G键找到59行【#listen_addresses=‘localhost’】,再按“i”键进入编辑模式,修改数据库服务监听范围。将listen_addresses 的值由“localhost”替换为任意地址“”号,并取消注释开头的“#”号,即最终为【listen_addresses=’’】。按键盘的“Esc”键退出编辑模式,输入保存并退出当前文档编辑的指令“:wq”,如图所示:
打开配置文件“data/pg_hba.conf”,指令如下:
vim /usr/local/pgsql/data/pg_hba.conf
然后连续按8、5、shift+G键找到85行【# IPv4 local connections:#】,再按键盘的“i”键进入编辑模式,在86行下方新增一行:
host all all 0.0.0.0/0 md5
说明:0.0.0.0/0表示运行任意ip地址访问。修改配置文件“data/pg_hba.conf”中的访问地址控制的设置,允许访问数据库服务的IP地址。确认无误(各段需按键盘“Tab”键缩进与上方各段对应整齐)后按键盘“Esc”键退出编辑模式,然后输入保存并退出当前文档编辑操作的指令“:wq”,如下图所示:
什么是安全组?安全组是一个逻辑上的分组,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。安全组创建后,用户可以在安全组中定义各种访问规则,当弹性云服务器加入该安全组后,即受到这些访问规则的保护。系统会为每个用户默认创建一个默认安全组,默认安全组的规则是在出方向上的数据报文全部放行,入方向访问受限,安全组内的弹性云服务器无需添加规则即可互相访问.
依次选择“控制台”->“服务列表”->“网络”->“虚拟私有云VPC”,进入“网络控制台”,点击左侧“访问控制”->“安全组”,查看安全组列表,如图所示:
选择当前服务器所在的安全组,点击进入,选择“入方向规则”->“添加规则”,弹出的“添加入方向规则”表单中,填写配置参数如下:协议端口:自定义TCP,5432;源地址:IP地址 0.0.0.0/0;描述:随意输入规则说明,点击“确定”。
6. 访问数据库服务
利用telnet远程访问PostgreSQL服务。
####6.1. 检测数据库服务
重启PostgreSQL数据库服务,指令如下
pg_ctl restart
退出当前用户登录,指令如下:
exit
安装telnet,指令如下:
yum install telnet -y
检测数据库服务,指令如下:将EIP替换为同2.1步骤中的云服务器的弹性公网IP地址
telnet EIP 5432
访问成功如下图所示:
PostgreSQL 数据库
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。