资讯专栏INFORMATION COLUMN

CentOS 生产环境配置

daydream / 2544人阅读

摘要:最新的已经释出,更新了,非常赞。不过目前尚未释出,等待中。初始配置对于一般配置来说,不需要安装仓库,本文主要在于希望跟随的配置流程,紧跟红帽公司对于服务器的配置说明。

原文来自静雅斋,转载请注明出处。

生产环境和开发环境测试环境都不一样,所以配置都不能随意,对于大多数情况来说,RHEL 绝对是一个最佳选择,除了最稳定的内核发布和最全的驱动支持,还能享受到 RHEL 10 年生命周期中 SoftwareCollection 所提供的最新稳定的软件包集合,尤其是 OpenJDK 的支持,让用户没有任何后顾之忧。不过由于国内云服务器基本不提供 RHEL 的镜像,并且还存在着 RHEL 注册服务器连接不上或者 yum 更新下载速度缓慢的问题,CentOS 成为了国内互联网企业的最佳选择。
虽然说 CentOS 相对于 RHEL 来说并不是那么靠谱,但是由于背靠 RedHat 这座大山,很多 RHEL 所拥有的好的东西都能被 CentOS 拿到,所以 CentOS 在很多情况下是一种不错的选择。这里就记录一下普遍的 LNMP 环境配置。
PS:最新的 RHEL 7.3 已经释出,SoftwareCollection 更新了 PHP 7,非常赞。不过目前 CentOS 7.3 尚未释出,等待中。

初始配置

对于一般配置来说,不需要安装 epel-release 仓库,本文主要在于希望跟随 RHEL 的配置流程,紧跟红帽公司对于服务器的配置说明。

> yum update

安装 centos-release-scl

> yum install centos-release-scl

实际上 CentOS extra 仓库有两个包关于 SCL,一个是 centos-release-scl 还有一个是 centos-release-scl-rh,它们两者的区别在于一个是 SoftwareCollection 小组所有的打包 RPM,另一个则只包含 RedHat 官方打包内容,个人建议使用后者。

SoftwareCollection 包含的内容
rh-java-common
rh-mariadb100
rh-mariadb101
rh-maven33
rh-mongodb26
rh-mongodb30upg
rh-mongodb32
rh-mysql56
rh-nginx18
rh-nodejs4
rh-perl520
rh-php56/
rh-postgresql94/
rh-postgresql95/
rh-python35/
rh-ror42/
rh-ruby23/
rh-varnish4/

除此之外,还包含了一项重要内容 Devtoolset,如果在 CentOS 上使用过 node-gyp 的朋友应该对此非常熟悉,上面这些 SoftwareCollection 足以包含目前主流的应用环境部署,所以,如果有朋友说 RHEL “太老”,肯定是对 RHEL 的软件策略不熟悉。

Nginx

目前 stable 版本的 Nginx 是 nginx1.8 版本,总共有五个包

essential package:
rh-nginx18
rh-nginx18-nginx
rh-nginx18-runtime
optional package:
rh-nginx18-build
rh-nginx18-scldevel

熟悉 RHEL 的朋友应该看出来了,rh-nginx18 是总包,rh-nginx18-runtime 是各类配置脚本,rh-nginx18-build 是编译配置,rh-nginx18-scldevel 是开发包。

> yum install rh-nginx18

nginx1.8 就安装好了。

PHP

目前 PHP SCL 版本为 5.6,不过 RHEL 7.3 已经发布,并且其中 SCL 版本升级到了 PHP 7,可以说是重大利好,PHP 7 的高性能是很多 Web 应用急需的,而且作为官方的打包,其质量还是很可靠的(SoftwareCollection 实际上不是官方打包的,但是是第三方社区根据 RedHat 释出的编译配置重编译产生的,可靠性还是有保证的)
由于 PHP 可选软件包过多,这里就不列出所有的软件包列表了,只需要安装总包,就能将必须的软件包安装到服务器上,不过总包不包含 FPM,因此需要手动将其安装。
在安装 PHP-MySQL、PHP-PostgreSQL 这样的数据库支持库的时候,可能有人发现并没有安装 SCL 中提供的 MySQL-Libs 或者 PostgreSQL-libs,而是使用了官方自带的库文件,RedHat 官方也给出了解释是为了保持兼容性,而且使用官方自带老版本的 libs 不会导致问题的。

> yum install rh-php56 rh-php56-fpm

至于其他的包则可以通过 yum 继续安装,这里只示范 PHP-FPM。

MariaDB

自从 MySQL 被 Oracle 收购后,各个发行版和企业都开始转移阵地,一些企业开发自有分支,比如像阿里巴巴开发 AliSQL,还有就是转向 MySQL 之父的 MariaDB,由于 RHEL 7 使用 MariaDB 替代了 MySQL,所以系统自带的是 MariaDB-libs,因此这里也使用 MariaDB 做示范。

> yum install rh-mariadb101

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/7994.html

相关文章

  • 使用passenger在Centos7部署nginx+Ruby on Rails

    摘要:是一个能快速搭建环境的工具,它能快速的将和部署到你的服务器中,是部署环境就如同环境那样简单快速,让人愉悦。在上跑一般只有在生产环境下才会使用,因而默认下就是环境设置为生产环境,而初始化时默认没有对生产环境进行密钥配置。 passenger passenger是一个能快速搭建web环境的工具,它能快速的将nginx和passenger部署到你的服务器中,是部署ruby环境就如同php环...

    UsherChen 评论0 收藏0
  • Docker 实践(九):生产环境优化

    摘要:系列文章第五篇中介绍了线上生产环境使用集群,这篇文章对原来的架构进行了优化,同时使用了最新的一些特性,记录一些流水账。配置文件鉴于上次搭建时配置文件管理混乱,这次做了统一规划为每个环境创建不同的配置文件,可以以环境名后缀。删除无用的容器。 系列文章第五篇中介绍了线上生产环境使用 Docker 集群,这篇文章对原来的架构进行了优化,同时使用了 Docker 最新的一些特性,记录一些流水账...

    AlienZHOU 评论0 收藏0
  • (翻译) MongoDB(10) 在 Red Hat 企业版或者 Centos Linux 上安装M

    摘要:概述使用这个教程在企业版或者使用软件包安装社区版虽然一些发行版包含自己的软件包官方的社区版包通常是最新的平台支持本安装教程仅支持位操作系统详细信息请参阅平台支持不建议对企业版的支持软件包在自己的存储库中提供官方支持软件包此存储库包含以下软件 概述 使用这个教程在 Red Hat 企业版 Linux 或者 CentOS6/7 Linux 使用 .rpm 软件包安装 MongoDB 社区版...

    cartoon 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<