Matthew Ifeとshodanshokの回答は一般的に問題をカバーしていますが、私が管理しているのはまさにこれらの種類のシステムであるため、問題を具体的に説明することで、特定の懸念に対処したいと思います。
PHP / MySQL Webアプリをデプロイするための現在のビルドは次のとおりです。
- CentOS 7.x
- nginxが提供する nginx 1.8.x
- remiが提供する PHP 7またはPHP 5.6(アプリケーションによって異なる)
- MariaDBが提供する MariaDB 10.0.x
まず、特定のディストリビューションまたはパッケージセットを選択する理由を考えてみましょう。最新の機能よりも安定性を重視するか、安定性よりも最新の機能を重視するかのどちらかです。ソフトウェアを安定させるにはバグを修正する時間が必要であり、新しい機能を追加するとバグが発生して不安定になるため、通常は両方を同じディストリビューションに含めることはできません。
原則として、アプリケーションが実行されるオペレーティングシステムはできるだけ安定している必要がありますが、合理的に最新の機能セットを備えています。したがって、私は、この時点でかなり古いですCentOSの6、上のCentOS 7]を選択します、そして、それはなりながら仕事私は新しいプロジェクトのためにそれを使用しませんので、それは、そのサポートライフサイクルに残って多くの時間として持っていません。
しかし、その後、CentOSに含まれているnginxのバージョンが古すぎて、必要な機能やバグ修正が含まれていないという問題に遭遇しました。したがって、代替パッケージを探しに行ったところ、nginx.orgが独自のパッケージを配布していることがわかりました。私はほとんどすぐにそれらに切り替えました、そして彼らは長期にわたって完全に安定していることがわかりました。
次に、PHPがあります。CentOSに同梱されているPHPのバージョンは、これまでに入手した唯一のバージョンであり、セキュリティアップデートのみを取得することを歴史から知っています。新機能やバグ修正はありません。したがって、アップストリームのサポートが終了すると、これらのパッケージを使用すると、最終的に最新のPHP Webアプリケーションを実行できなくなります。したがって、これらも同様に置き換える必要があります。
私が実行するWebアプリケーションも更新され、それらのバグ修正が必要になるため、長い経験から、PHPでバグ修正リリースを追跡するのが最善であり、ある時点のリリースでフリーズしてセキュリティ修正のみを取るのが最善であることを学びました。それで、PHPパッケージの多くの異なるセットを評価した後、私はレミのパッケージに落ち着きました。レミはたまたまRed Hatの従業員であり、RHEL / CentOSのPHPパッケージも担当しています。だから私は彼のパッケージが高品質になることを知っています。これらはシステムパッケージのドロップイン代替品であり、完全に機能します。
最後に、MariaDBに到達します。ここでシステムパッケージを保持することを選択でき、悪影響はありません。私は、MariaDBの10.0パッケージに切り替えて(すぐに10.1に移動します)、CentOSに同梱されている5.5バージョンでは利用できないTokuDBとその他のいくつかのパフォーマンス強化を利用することを選択しました。
全体として、ベースシステムの安定性が必要ですが、Webアプリは、たとえば基幹業務ソフトウェアよりもはるかに急速に変化するため、サーバーは維持する必要があります。したがって、パッケージをアップグレードすることで追加の管理オーバーヘッド(作業)がほとんどなく、明確なメリットが得られるターゲットポイントを選択しました。
/usr/local