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

webサーバーがどのように動いているか(GETとPOST)

webがリクエストを受け取って画面に表示するまでの流れをおさらい。基本です。 Contents1 全体の流れ2 参考文献 全体の流れ 1 ユーザーがブラウザのURL欄にhttp://www.examp …

no image

SMTP-AUTHのメール送信

メールに関して以前にもこんなこと書きましたが、今更ながらトラブルが起きたのでしっかり理解しておかないと・・・ 基礎が弱いと困るのう・・・ ロリポップなどのサーバーでmb_send_mailを打てばよく …

no image

PHPでのリフレクション

Javaなどでは結構やりましたが、PHPでも動的にインタンス生成→メソッド呼び出しということをやれるとやれることが一気にふえるため、ちょっとメモです。 Contents1 ソース2 参考リンク ソース …

no image

Laravelの認証(独自テーブル仕様)

Laravelで独自の認証をしたいときに少々大変だったのでメモなどを。 *ディフォルトのテーブルはuserで認証項目もemailとpasswordと決まっています。 いじるところが色々ありまして、列挙 …

no image

PHPでの画像トリミング&縮小

PHPにて画像のトリミング&縮小処理があったんで、メモ。 仕様は下記の通り 16:9の画像(解像度:5168×2907)を高さを維持して4:3にする。つまり横長だった画像比を変えるので、両サイドを取り …