安装CentOS7上的PostgreSQL9.6、Java8和Nginx1.10

首先

在工作现场上问“怎样搭建生产环境?”的时候,经常会被告知“先搭建好生产环境”,对吧?
(提出问题的人往往自己要负责完成的原则)
为这样的人们,我整理了搭建步骤。

安装PostgreSQL

我想要安装最新版本,因此需要添加 PostgreSQL 的 yum 存储库。
sudo yum localinstall https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

使用sudo yum install postgresql96-server postgresql96-contrib postgresql96-devel进行安装。

安装软件包的说明

postgresql-server    サーバ本体(postgresql、libsもインストールされる)
postgresql           クライアント
postgresql-libs      libpqなどのPostgreSQLのライブラリ群
postgresql-devel     開発用モジュール(役立つかもしれないので入れておく)
postgresql-contrib   contribモジュール(役立つかもしれないので入れておく)

查看版本的命令
psql –version

创建数据库集群(类似于存储空间)
※ 在成为postgres用户(自动创建)之后执行
sudo su – postgres
/usr/pgsql-9.6/bin/initdb –no-locale –encoding=UTF8

如果不使用–no-locale,服务器的本地语言环境将被设置,所以请注意。
(当本地语言环境被设置后,排序顺序将发生变化)
如果想重新执行initdb,请删除“/var/lib/pgsql/9.6/data”中的所有内容,然后重新执行。

有很多种初始化initdb的方法,我不知道该怎么做才是正确的。
根据其他网站的说明,需要在root权限下执行上述命令,但是–no-locale选项无法正常传递。此外,根据PostgreSQL的文档,有以下描述:
https://www.postgresql.jp/document/9.4/html/app-initdb.html

initdb必须由服务器进程的所有者执行。这是因为服务器需要访问由initdb创建的文件和目录。不能以root身份运行服务器,因此不应该使用root来执行initdb(实际上,尝试执行将会被拒绝)。

如果有人知道该怎么做,请告诉我,虽然我通过成为postgres用户并直接执行initdb命令成功了,但不确定这是否是正确的做法。

自動启动确认(检查Loaded服务的部分是否为disabled或enabled)
systemctl 状态 postgresql-9.6

或者可以在服务列表中确认
启用(自动启动) 禁用(不自动启动) 静态(依赖其他服务)
systemctl list-unit-files -t service

自动启动设置
使用sudo systemctl enable postgresql-9.6

启动
sudo systemctl start postgresql-9.6

对于PostgreSQL进行验证

以超级用户(sudo -u postgres)的身份启动PostgreSQL客户端(psql)。

检查语言环境(如果设置为C,则表示没有语言环境)
从pg_settings表中选择name, setting, context字段,其中name字段类似于’lc%’。

创建一个名为“数据库名”的数据库。

数据库列表显示(编码为UTF8)
\l

结束

安装Java

以下是构建Java的构建服务器(Ant)的步骤,请参考。

安装Nginx

我想要安装最新版本,所以需要添加Nginx的yum资源库。
使用sudo yum命令安装http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm。

安装
使用sudo yum install nginx命令安装nginx

自動启动验证
systemctl状态nginx

自動開機設定
使用 sudo systemctl enable nginx

启动
sudo systemctl start nginx

如果在AWS的EC2实例上无法连接,请检查安全组。即使启用了SELinux,也可以连接。

安装tomcat

已完成构建流程的创建。
请参考以下内容。
在CentOS7上安装Tomcat8并进行自动启动设置。

最后

如果你让责任者去做,其他人可能就不会主动提出了。所以,将来要不要考虑规定除了责任者之外的人也可以做这件事呢?
总之,我打算以后不要再提出类似”我们要如何建立生产环境”的问题了。

广告
将在 10 秒后关闭
bannerAds