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

正規表現(/を含むとき)

PHPの正規表現ですが、判定する文字列の中にスラッシュが入っている時の処理はデリミタを//ではなく{}でくくればOKです。 例えば数字2桁/数字1桁をチェックしたいとき [crayon-5a6263a …

no image

Vagrantでのフォルダ共有

Contents1 vagrantとホストOSのフォルダの共有2 ネットワークアダプタ設定3 任意のディレクトリをマウント vagrantとホストOSのフォルダの共有 ディフォルトではvagrantは …

no image

MariaDBインストール

CentOS7からはyumでmysqlをインストールするとMariaDBがディフォルトになるようです。 せっかくなので、これを機にMariaDBを使ってみました。といってもMySQLとほとんど一緒でし …

no image

PHPの配列操作

ながらく放置してました・・・ PHPを久々にやったんですが、やっぱり配列の関数・ライブラリが充実している分、作業がサクサクすすみますね。配列の操作でいろいろと学ぶところがあったんで掲載します。 Con …

no image

PHPでの空白削除に関して

PHPで空白を削除する方法についてメモします。 trimについて 空白を削除する関数といえばtrimが何といっても一番有名でしょう。