这个有点难的基础设施…一直回避的弱弱程序员,为了克服困难努力搭建了数据库服务器
首先
你好,我是非常弱的程序员@_am。
上次我总结了WebAP服务器的搭建过程。
基础架构听起来好像很难…一直被我这个非常弱的程序员回避着,为了克服困难我努力搭建了服务器。WebAP服务器篇 – Qiita
创建一个形象
环境
这次也是在AWS的EC2上进行了搭建。
操作系统:Red Hat Enterprise Linux 7
本次我们设置了5432端口在安全区域。
如果需要的话,将会适时进行配置。
从现在开始准备的东西是…
· PostgreSQL
※版本是2019年1月的。请使用合适的版本。
环境建设
在那之前
与在构建WebAP服务器时一样,如果想要知道路径,则使用find命令进行搜索。
在正文中,不会详细记录路径,而统一使用[安装路径]进行表示。
此外,还有一些需要root权限的命令,但在这种情况下,我们使用sudo来执行。
(这次将不进行具体记录。)
PostgreSQL是一种关系型数据库管理系统。
安装
$ yum -y install postgresql11-server
数据库初始化
$ インストールしたパス/postgresql-11-setup initdb
启动PostgreSQL
$ systemctl start postgresql-11
确认状态
如果是活跃的话,就可以。
$ systemctl status postgresql-11
额外内容:自动启动设置
$ systemctl enable postgresql-11
设置postgres用户的密码
安装PostgreSQL后,将会自动添加一个名为“postgres”的Linux用户。
※初始状态下没有设置密码。
用户切换
$ su - postgres
如果被要求输入密码,请直接按下”Enter”键。
如果因为密码错误等原因无法登录,可以设置一个新的密码。
$ sudo passwd postgres
修改postgresql.conf
$ vi インストールしたパス/postgresql.conf
打开时,请将“CONNECTIONS AND AUTHENTICATION”设置为以下内容
'#listen_address = 'localhost'
↓↓↓↓
listen_address = '*'
(#も外す)
修改pg_hba.conf文件
$ vi インストールしたパス/pg_hba.conf
在pg_hba.conf的末尾区域(包含IP地址等信息),添加以下内容:”local”仅用于Unix域套接字连接。
host all all 接続元(webAPサーバなど)のプライベートIP/32 trust
重启PostgreSQL
$ systemctl restart postgres-11
防火墙
请添加端口5432。
$ firewall-cmd --add-port=5432/tcp --zone=public --permanent
如果找不到firewalld,则需要安装firewalld命令。
$ yum -y install firewalld
重新启动
$ systemctl restart firewalld
自動启动的设置
$ systemctl enable firewalld
确认
sudo firewall-cmd --list-all
ports: 5432/tcp ←追加されていればOK
结束
成功地搭建了WebAP服务器和数据库服务器,现在可以运行Java应用程序了!
基础设施看起来很困难,所以我一直避开它,但实际动手尝试后,成功时的喜悦与编程相同,我感到了这一点。虽然只是稍微一点点,但我增加了自信!
如果有了新的机会,我会再次尝试投稿。