joppot

コピペで絶対動く。説明を妥協しない

ubuntu

ubuntuのnginxでphpの環境設定と動作確認と使い方

投稿日:

Pocket

adfwdff

概要

みなさんこんにちはcandleです。今回はnginxを使用して、phpを動かしたいと思います。

前提

nginxがインストールされている。

SPONSORED LINK


公開ディレクトリの確認

まずは、nginxがどのディレクトリを公開しているかを確認します。
確認にはnginxのdefault.confを見れば分かります。

default.confがある場所はubuntuでは下のパスになります。

/etc/nginx/conf.d /default.conf

エディタでdefault.confを開きます。エディタは何でもよいのですが、私はemacsを使用します。

emacs default.conf

するとrootという項目があります。そこに書いてあるパスが公開ディレクトリのパスです。

端末_001

私の場合は

/usr/share/nginx/html

ディレクトリが公開ディレクトリになっています。
公開ディレクトリが確認できました。


php5-fpmをインストールする

ubuntuにphp5-fpmをインストールする必要があります。

もしかするとデフォルトのphpがインストールされているかもしれませんが、
それとは別に、php5-fpmをapt-getを使ってインストールします。

まずはインストールするレポジトリを最新にします。

sudo add-apt-repository ppa:ondrej/php5

hh
apt-getの情報をupdateします。

sudo apt-get update

そしたら、下のコマンドでphp-fpmをインストールします。

sudo apt-get install php5-fpm

インストールが完了しました。

php-fpmのsocketを変更する

php-fpmのソケットがvar以下の任意場所に作成されるように変更します。

デフォルトではローカルホストの9000番とかになっているのですがこれを変更します。

php-fpmのソケットの設定がかかれているファイルのところに移動します。

cd /etc/php5/fpm/pool.d 

そこにwww.confというのがあります。
範囲を選択_002

www.confをエディタで開きます。私はemacsを使います。

emacs www.conf

上の方にlisten=127.0.0.1:9000と書かれている場所があると思うのでそれを変更します。

範囲を選択feaw

listen=127.0.0.1:9000

listen=/var/run/php5-fpm.sock 

保存しましょう。

php-fpmを起動させる

既にphp-fpmを起動している場合は下のコマンド

sudo /etc/init.d/php5-fpm restart 

まだ実行していない場合は下のコマンドで起動します。

sudo /etc/init.d/php5-fpm start

hh2

/var/run/ にちゃんとphp5-fpm.sockができているか確認しましょう。

cd var/run/

lsコマンドでファイルを表示

ls

hh3

nginxのdefault.confを変更する

nginxの設定を変更します。default.confがある場所に移動しましょう。

cd /etc/nginx/conf.d 

範囲を選択_006

default.confを編集します。エディタで開いてください。私はemacsを使います。

sudo emacs -nw default.conf

そしたら、phpが書かれている辺りを編集します。

hh4

はじめ location phpに関する記述は下のようになっています。

#location ~ \php${                                                        
  #root           html;                                                  
  #fastcgi_pass   127.0.0.1:9000;                                        
  #fastcgi_index  index.php;                                             
  #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;         
  #include        fastcgi_params;                                        
#} 

これを下のように書き換えます。

location ~ \.php$ { 
  root           /usr/share/nginx/html; 
  #fastcgi_pass  127.0.0.1:9000;                                        
  fastcgi_pass   unix:/var/run/php5-fpm.sock; 
  fastcgi_index  index.php; 
  #fastcgi_param SCRIPT_FILENAME  /scripts$fastcgi_script_name;            
  fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name; 
  include        fastcgi_params; 
} 

これを保存しましょう。

hh5

nginxを再起動します。

下のコマンドを打ち込みましょう。

sudo nginx -s reload

これで準備は整いました。


phpファイルを作成する

今確認した公開ディレクトリにphpファイルを設置します。

/usr/share/nginx/html

私の場合はhtmlディレクトリにphpファイルを設置します。

htmlディレクトリに移動して

cd /usr/share/nginx/html

phpファイルを作成します。

touch hello.php

端末_002

エディタでhello.phpを開いて下のコードを書き込みます。

<?php
phpinfo();
?>

範囲を選択_003

保存したら準備完了です。

ブラウザで確認する

ブラウザを開いてください。

urlは

http://localhost/hello.php

でphpinfoが実行されて見れるようになるでしょう。
phpinfo() - Mozilla Firefox_009
これでphpが使えるようになりました。めでたしめでたし。

まとめ

かつて、vm上でやった時はもっとすんなりできたイメージがあったのですが、今回は自分も調べ調べの上でやっとできました。

以外に大変ですよね。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-ubuntu
-, ,

執筆者:


comment

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

関連記事

VirtualBoxにubuntu13.10desktop版をインストールする

概要 みなさんこんにちは、candleです。今回はVirtualBoxにubuntu13.10をインストールしてみましょう。 VirtualBoxは一般にVM(バーチャルマシーン)と言われるもので、O …

ubuntu12.04 ltsから13.10にバージョンアップするつもりが、なぜか、14.04 ltsにバージョンアップしてしまった話

概要 みなさんこんにちはcandleです。今回はちょっと古くなったubuntu12.04から13.10にアップグレードしようとしましたが、さらに上のバージョンになってしまった記事です。 なぜ、アップデ …

Ubuntu12.4にnginx1.4.6をインストールする

概要 みなさんこんにちはcandleです。今回はubuntuにnginxをインストールしたいと思います。 nginxとはapache見たいなもので、簡単かつ高速に動作するwebサーバです。 最近のはや …

ubuntuでnginxの起動と最低限のコマンド

概要 今回は、nginxの起動と最低限のコマンドをまとめました。 前提 nginxがインストールされている nginxの起動と停止と再起動 nginxはインストールした当初の設定ではubuntuを起動 …

ubuntu12.04の端末上でemacsを使う時、sudoするとエラーが出る場合の処置

概要 皆さんこんにちはcandleです。今回はubuntuでemacsがうまく使えない時の対処です。 なぜか、emacsをsudoで使おうとすると別ウィンドが開いてしまいました。 対処の仕方をまとめま …

  • English
  • 日本語

プロフィール


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー

スポンサードリンク

アーカイブ