恥知らずな宣伝をお許しください。ubuntu サーバーのデプロイが php7 ブランチに追加されました。php7 ブランチには、php 拡張サーバーのインストール、有効化および無効化が統合されました。
git clone git checkout php7./php.sh install./php.sh install-ext imagick./php.sh install-ext redis./php.sh en redis./php.sh dis imagick
ubuntu サーバー デプロイは、Bash 言語を使用して開発されたプロジェクトで、特に Ubuntu サーバーの Tengie (Nginx) および PHP 環境のインストールとデプロイに使用されます。 dockerで使えることはテスト済みです(実際にはこのプロジェクトのソースコードを直接取得するだけです)。
master ブランチは php 5 のデプロイメントです。
php7 ブランチは php 7 のデプロイメントです。
拡張インストールは現在 php7 ブランチでのみサポートされており、将来的にはメイン ブランチに移植される予定です。
異なる php 拡張機能は異なる開発ライブラリに依存しており、pecl のほとんどの拡張機能は現在 php7 をサポートしていないため、特定のソース コードを入手するには gihub にアクセスする必要があります。したがって、php_ext ディレクトリが提供され、このディレクトリに保存される sh スクリプトは、さまざまな拡張機能が実行のために準備する必要があるコンテンツに対応します。このスクリプトに基づいて、コンパイル用のさまざまなソース コードを取得できます。たとえば、php-memcached のインストール:
#!/usr/bin/env bashapt-get install libmemcached-dev -ygit clone cd php-memcachedgit checkout php7 # 取出php7的分支代码get_source=1 # 声明已经取得了扩展的源代码,无需再去pecl库下载了config_args="${config_args} --disable-memcached-sasl" # 添加指定其他的configure参数# 你也可以指定具体的configure的命令config_cmd
php.sh に加えて、主に使用されるものは、server.sh と tengine.sh
です。 shは主にUbuntuサーバーの各種初期化です。 tengine.sh は tengine のデプロイメントです。すべてのサービスとサーバーのデプロイメントパラメータは、ユーザーディレクトリ内のスクリプトを通じて再ロードできます(私はコマンドラインパラメータをいじるのはあまり好きではありません)。 server.sh、tengine.sh、および php.sh を実行すると、ユーザー ディレクトリ全体のすべてのスクリプトがロードされます。
補足説明ですが、Ubuntuサーバーのシステムサービス管理はsysv-rc-confを使用します。
このプロジェクトは、同時に複数の php バージョンの共存をサポートするように設計されています。したがって、php7 ブランチでは、php7-config、php7ize、php7-pecl など、すべての php 関連のサービスとスクリプトに php7 というプレフィックスが付けられ、php-fpm プロセスも php7-fpm になります。
私はこのプロジェクトを使用して 30 を超えるサービスを含む環境をデプロイしましたが、ステータスは比較的安定していて実用的です。
詳しい紹介については、こちらをご覧ください: