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

SSLに関して(主にオレオレSSLの作成方法など)

Contents1 HTTPSとは1.1 概要説明1.2 SSL費用の違いについて2 オレオレSSL2.1 秘密鍵作成コマンド2.2 公開鍵作成コマンド2.3 オレオレSSL証明書の作成3 webサー …

no image

ロードアベレージ監視シェルスクリプト

ロードアベレージの監視シェルスクリプトについて Contents1 使用コマンド1.1 uptime1.2 /proc/cpuinfo1.3 bc2 ソース3 他参考リンク 使用コマンド uptime …

no image

メール送信に関して その2 メールメッセージのデータ形式

前回に引き続き、メールのメッセージ構造について書きたいと思います。 Contents1 大まかな構造2 ヘッダ部2.1 メールアドレス2.2 From/Sender/Reply-To2.3 To/Cc …

no image

heroku scheduler(cron的なもの)

herokuでアプリをデプロイしたあと定期的に走らせたいバッチなどがあるとき、cronを使うことを考えると思いますが、herokuではheroku Schedulerというアプリを使います。 hero …

no image

サーバーの過負荷の発見 メモリ使用率の調査&抽出、置換(awk,sed)コマンドについて

前回、サーバーの負荷調査について記事を書いたので、それに関するスクリプトを。 Contents1 仕様2 ソース3 解説3.1 freeコマンド3.2 awk3.3 sed 仕様 日付とメモリ使用率、 …