skillup

技術ブログ

PHP サーバー・ネットワーク

apacheで複数インスタンスの起動

投稿日:2018年8月13日 更新日:

前回のphpenvがらみの引き続きですが、php5.6と7を共存させ、なおかつWEBアプリで動かす方法を調べたところapacheの複数インスタンスがであれば可能だとのこと。

早速調べなんとかできました。

やること

  • apacheの起動ファイルを2つ作る。後述する設定ファイルの読み込みを分ける
  • 設定ファイルを2つに分け、ポート番号やプロセスIDなども分ける

apacheの起動ファイルを2つ作る

通常の起動ファイルであれば/etc/init.d/httpに実行ファイルがあるかと思います。

これをコピーし、/etc/init.d/http2というファイルを作ります。名前はなんでもいいですが・・・

設定ファイル

/etc/init.d/httpd2用の設定ファイルを作ります。(詳細はリンクに任せますが、ディレクトリごと分けたが方が良いです。)

/etc/httpd/conf/httpd2

他修正箇所として、下記に注意。

  • http2の方にphp7の設定(LoadModuleなど)を反映させ、php5の設定は反映させないこと
  • 読み込む子供の設定ファイル(conf.d以下)を変えること(通常のhttpの方でphp7用の設定ファイルを読み込ませないこと)
  • 8080ポートを開放すること
  • 起動時は/etc/init.d/httpd2 startを使うこと
  • アクセスするときはhttp://example.com:8080でアクセスすること→リバースプロキシ使えば大丈夫です。参考リンク Apacheでのリバースプロキシ

またps -auxを見ると下記のようにhttpd2で起動したプロセスが走っていると思います。

またWEB上の確認方法としてはphpinfoを出力させて、php7(5を出したいアプリ上では5)が出ればOKです。

参考リンク

同じApacheをコピーして複数動作させる

Apacheを複数のプロセスで起動する方法

-PHP, サーバー・ネットワーク
-

執筆者:


  1. […] apacheで複数インスタンスの起動 […]

  2. […] apacheで複数インスタンスの起動 […]

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

シンボリックリンクについて

えー見ることは多かったんですが、自分で使うことはなかったシンボリックリンクについて。 Contents1 シンボリックとは?2 使い方 シンボリックとは? 簡単にいうとショートカットみたいなものです。 …

no image

クリックジャッキング

Contents1 クリックジャッキングとは?2 被害3 対策 クリックジャッキングとは? 悪意のあるサイトの特定上の場所をクリックさせ、誤操作をさせ、意図しない機能を実行させられる可能性があります。 …

no image

CakePHPでの数字カンマ区切り&PHP&MySQL曜日の出力

今回は主に時間やお金の表示など、出力に関するネタです。 Contents1 Cakeでのカンマ区切り1.1 単純なカンマ区切り 例1,0001.2 \をつけるケース 例 \1,0001.3 円をつける …

no image

laravelのmigrationに関して

DBのカラムの保守などをする場合のmigrationに関して。 ポツポツ使っていたのですが、しっかりまとめてなかったのでここでまとめて見ようかと思います。 Contents1 カラム定義2 実際の実行 …

no image

jenkinsでのPHPのCIに関して

PHPでのjenkinsに関して。 PHPでのjenkinsといっても基本Javaなどと変わらないと思います。 何らかのトリガーでjenkinsのjobをビルド(一連のタスク)させる ビルドの内容はソ …

アーカイブ