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

eclipseでのPHPソースの扱い方

Contents1 既存ファイルからプロジェクト生成2 PHP5.4以降でコンパイルする3 ctpファイルのシンタックスハイライト 既存ファイルからプロジェクト生成 超小ネタですが、Eclipseです …

no image

Sambaインストール

オフィスでサーバーをたてていますが、普段使っているメインのPCとのファイルのやりとりをSFTPクライアントなどでするのが面倒くさいので、同期させるためにSambaをインストールしました。 環境ですが、 …

no image

nginx基本

データベースについて勉強していましたが、実務でnginxを触る機会があったので、これを機に勉強。 Contents1 参考文献2 nginx基礎3 コアモジュール4 httpモジュール5 設定ファイル …

no image

携帯サイト取得手法

PHPでスクレイピングの仕事をよくやるんですが、携帯サイトを取得してほしいという要望があり、少し調査をすることに。 携帯サイトといってもドメイン以下のディレクトリで/で区切ってsample.domai …

no image

php5.6のインストール+cake3でのbake

cake3を動かしたい場合、PHP5.4以上でないと動きません。 2016年1月現在、CentOS6でyumでPHPをインストールする場合、php5.3ですので、5.4以上を入れる場合、別のリポジトリ …