skillup

技術ブログ

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

nginxの設定&php-fpmインストール

投稿日:2015年6月18日 更新日:

本日、久しぶりにPHPのWebアプリを別サーバーに移行したのですが、nginxの設定でかなり手間取りましたのでちょっと記録しておきます。

nginxの設定

インストール

yumでいきなりいければ一番簡単なのですが、登録していないとそもそも動かないので、リポジトリへの登録が必要になります。

その後、yumでインストールし、バージョン確認すればOKです。

yumで入れていればserviceコマンドでいけますので

service nginx startで起動しておきましょう。

この時点でhttp://ipアドレスでアクセスできるはず・・なのですが、ポートが開いておらずアクセスできないということがおこりました。

ポート開放

nginxが起動しているのに外部からアクセスできない場合ポートが閉じている可能性があります。

その場合、下記の処理でポートを開放しましょう。

/etc/init.d/iptableがないときは下記のコマンドを実行

iptables -A INPUT -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -p tcp –sport 80 -j ACCEPT

この時点でアクセスをして画面が表示されればOKです。

php-fpmの設定

なお、PHPを稼働させる場合はphp-fpmも入れておきましょう。

これは実際にPHPが稼働するのはphp-fpmの中だからです

yumで入ります。

http://qiita.com/bikun_bikun/items/44549e64a5aaddb8ab3d
http://qiita.com/toshihirock/items/77835f83f679423874ea

設定ファイルの修正

nginxの設定ファイル(/etc/nginx/nginx.conf)は下記のようになっています。

一般的にはこのファイル自体はそのままにしておき、下層にそれぞれのホストの設定ファイルを置きます。

となっている部分がありますが、ようするにconf.d以下の設定ファイルを読み込みます。

conf.d直下にあるdefault.confファイルをコピーしましょう。

default.confは拡張子をつぶして使えなくしておいたほうがよいかと思います。

sample.confとして例を以下に示します。

ドメインをhttp://hoge.com

ルートディレクトリを/var/www/html/hogeとします。

sample.conf

途中
FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream

というエラーが出た場合、

のルートディレクトリの設定が違っている可能性が高いです。

デバッグをしながらパラメータにログに出力してみましょう。

nginxのデバッグ

修正したらservice nginx restartで再起動してOKがでればOK

ブラウザでアクセスしてみましょう。

ちなみに下記の情報を参考にしました。

http://heartbeats.jp/hbblog/2012/02/nginx03.html

http://pydiary.bitbucket.org/blog/html/2014/02/01/nginx.html

http://www2.matsue-ct.ac.jp/home/kanayama/text/nginx/node19.html

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

執筆者:


comment

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

関連記事

no image

CakePHP3 Unitテスト モデル編

長らくやろうやろうと思っていながら手がつかなかったCakePHP3のユニットテストについて。 以前にも何らかのエントリーで書いたのですが(下記参照)、モデル系はなかなかやらなかったので、これを機に説明 …

no image

PHP_CodeSnifferによるコードチェック

昨日の記事でphpmdという静的解析ツールを調査したんですが、それ以外にも規約にのっとっているかどうかコーディングをチェックできるツールはあります。 PHP_CodeSniffer https://g …

no image

障害調査フロー

実務でサーバーの障害が発生した時のフローなどをメモしおこうかと。 行ってしまうと「ログに始まり、ログにおわる」といった感じでしょうか。 サーバーエンジニアの方の作業をみてたんですが、基本的にはプログラ …

no image

cakeでのUtilityメソッド

cakeではControllerから呼ぶメソッドはComponent,ModelはBehavior、ViewはHelperに記述するのが一般的です。 ところが、プログラムを書いているとUtility系 …

no image

カレントディレクトリ以下のすべてのCR+LFをLFに

windows環境からファイルをアップしていると文字コードがバラバラだったりすることが多々あります。 まあ何がめんどくさいかというと差分がチェックできない。これが最悪です。 gitのdiffコマンドの …