レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

Debian(Ubuntu 12) で Dotdeb から最新のnginx をインストール、php-fprm を使ってphpを動かしてみる

2012年9月4日 2015年5月14日
nginx php-fpm

Debian (Ubuntu 12) で Dotdeb から最新のPHP , MySQL をインストールする の続きで、今回は、最新のnginxを Dotdeb から バイナリパッケージでインストールしてみます。
最近、軽くて人気の ウェブサーバ nginx の最新版は、nginx の公式サイトあるいはDotdebで公開されています。
今回は、Dotdebを使ってみましょう。

また、nginxの動作確認には、Debian (Ubuntu 12) で Dotdeb から最新のPHP , MySQL をインストールする でインストールした php-fpm を使って確認してみます。

Dotdeb は、
強力で、安定した最新のLAMPサーバーを Debian のために提供するための パッケージを含むリポジトリです。
  • PHP 5.4 and 5.3,
  • useful PHP extensions : APC, imagick, Pinba, xcache, Xdebug, XHprof…
  • MySQL 5.5 and 5.1,
  • Percona toolkit,
  • Nginx,
  • Passenger,
  • Redis
Dotdeb がサポートしているのは、:
Debian 6.0 “Squeeze“ (64bit版(amd64) 32bit版(i386))
です。

パッケージスクリプトは、GitHub上で管理されています。
(※ GitHub(ギットハブ)はソフトウェア開発プロジェクトのための共有ウェブサービス。)

Dotdebのパッケージは、Ubuntuでも動作すると思いますが、サポートの対象ではありません。
( http://www.dotdeb.org/about/ の訳)

Ubuntu 10 では、インストールできません
以下のように依存関係でバージョン不一致が発生し、インストールできません。
...
  php5-cli: Depends: libncurses5 (>= 5.7+20100313) but 5.7+20090803-2ubuntu3 is installed.
            Depends: libssl0.9.8 (>= 0.9.8m-1) but 0.9.8k-7ubuntu8.14 is installed.
  libapache2-mod-php5: Depends: libssl0.9.8 (>= 0.9.8m-1) but 0.9.8k-7ubuntu8.14 is installed.
...

Ubuntu 12 では、Debian 6と同じ方法で インストールできます

Dotdeb から最新のnginxをインストールする

Dotdeb から最新のnginxをインストールするために、以下に簡単な手順を解説しておきます。
( Debian (Ubuntu 12) で Dotdeb から最新のPHP , MySQL をインストールする の手順と同じです。既に設定済なら、Dotdeb から最新のnginxをインストールするへ進みましょう。 )

Dotdebのサイトをパッケージダウンロード先として登録する

いわゆるリポジトリの登録です。/etc/apt/sources.list の末尾に以下を追記します。

$ vi /etc/apt/sources.list
...
# dotdeb
deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all
sources.list の書式
  • バイナリパッケージの書式:
    deb URL Distribution [component1] [component2]…
  • ソースパッケージの書式:
    deb-src URL Distribution [component1] [component2]…
現在(2012.8)では、nginx 1.2.3 が最新版としてリリースされています。
Dotdeb のリポジトリでは、安定(stable)版 の最新版のみが提供されています。 もし、別のバージョンが欲しい場合(例えば開発(Develop)版など)は、nginxの公式サイトでソースコードの入手からはじめる必要があります。

Dotdebのサイトから、パッケージの公開鍵をダウンロードし、apt-keyで追加する

Debian / Ubuntu では、ダウンロードするパッケージが安全か否かを判断するための公開キーを追加する必要があります。

$ wget http://www.dotdeb.org/dotdeb.gpg
...
$ apt-key add dotdeb.gpg
OK

apt-get でキャッシュならびシステムの更新を行う

ダウンロード先の登録などを行った場合は、キャッシュ情報など更新のために apt-get (aptitudeでも可) でアップデートを行います。

$ apt-get update
...
Reading package lists... Done

apt-get (aptitudeでも可) で最新のnginxをインストールする

$ apt-get -y install nginx
...
Reading package lists... Done

一応、インストールを終えたら、バージョンを確認してみましょう。

$ nginx -v
nginx version: nginx/1.2.3

現在(2012.8.31)では、Debian本家のリポジトリが、nginx 1.2.1 に対して 一応、Dotdebが nginx 1.2.3 を提供していますから、上記のように出力されれば、 ちゃんと Dotdeb から最新パッケージをインストールできたことを確認できたことになるでしょう。
( Debian 本家で提供されている nginx は、http://ftp.debian.org/debian/pool/main/n/nginx/ で確認できます。)


PHP-FPMのインストールが必要な方は、こちらの ”最新のPHPをインストールする” を参考にインストールしてください。

nginxとPHPの動作確認を行ってみる

最後にnginxの動作確認とともにPHPの動作確認まで行ってみます。

php fpm を起動します。

nginx で php を実行するための簡単で、効率的、高速な方法の一つとして php fpm は人気です。
ここでは、nginx上でphpを動作させるために php fpm を使います。

まずは、php を nginx で動作させるために fpm の必要最小限の設定 を行います。

$ vim /etc/php5/fpm/pool.d/www.conf
...

[www]
...
user = www-data
group = www-data
...
listen = 127.0.0.1:9000
...
listen.owner = www-data
listen.group = www-data
;listen.mode = 0666
...

この文字色箇所が、編集箇所です。
基本的にユーザ、グループをnginxに統一しているだけです。

listen情報は、後でnginxでも設定します。必ずメモで控えておきましょう。
( ここでは、listen情報はデフォルトのまま使用しています。 )

php-fpm サーバーを起動します。

$ /etc/init.d/php5-fpm start
$ 
PHP FPMとは、
FastCGI Process Manager の略で、PHP の FastCGI 実装・管理を行うためのものです。 (バージョン5.3.3以降PHPの公式ディストリビューションにバンドルされています。)
主に高負荷のサイトで有用な追加機能を用意していて、以下のような機能(特徴)があります。
  • 異なる uid/gid/chroot/environment でのワーカーの開始、 異なるポートでのリスン、異なる php.ini の使用 (safe_mode の代替)

  • 標準出力および標準エラー出力へのログ出力

  • opcode キャッシュが壊れた場合の緊急再起動

  • 高速なアップロードのサポート

  • “slowlog” – 実行時間が非常に長いスクリプトの記録 (スクリプト名だけでなく、PHP バックトレースも記録します。バックトレースを取得するために、 ptrace やそれと同等の仕組みを使ってリモートプロセスの execute_data を読みます)

  • fastcgi_finish_request() – リクエストを終わらせてすべてのデータを出力した後で 何か時間のかかる処理 (動画の変換や統計情報の処理など) をさせるための特殊な関数

  • 動的/静的 な子プロセスの起動

  • 基本的な SAPI の動作状況 (Apache の mod_status と同等)

  • php.ini ベースの設定ファイル

(出典: php公式サイト http://php.net/manual/ja/install.fpm.php )

nginx を起動します。

まずは、php を動作させるための nginxサーバーの必要最小限の設定 を行います。

$ vim /etc/nginx/nginx.conf
...
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
...
user を php-fpm で設定しているuser と同じ名前に設定します。

次に デフォルトのサーバーをそのまま使って、phpを動作させるための設定を行います。
デフォルトのウェブサーバーの設定は、nginxのバージョンによって設定ファイルも異なるようです。

  • /etc/nginx/sites-available/default

    :比較的新しいバージョンでは、このファイルに設定情報があります。

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

    :比較的古いバージョンでは、このファイルに設定情報があります。

いずれのファイルであっても設定する内容は、同じです。
デフォルトのウェブサーバーの設定の server ディレクティブの末尾に、以下のような内容を追記するだけです。

...
server {
	...
    root /usr/share/nginx/www;
	...

    location ~ \.php$ {
       fastcgi_pass   127.0.0.1:9000;
       fastcgi_index  index.php;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       fastcgi_intercept_errors on;
       include        fastcgi_params;
    }
}
...
root で設定しているウェブのルートディレクトリは必ず確認しておきます。
fastcgi_pass で設定する内容は、先の php-fpm で設定したlisten情報をそのまま設定します。

また、include を使って、 ここで自動的に読み込んでいる fastcgi_params は、デフォルトのまま使用しています。
もし、/etc/nginx/fastcgi_params が存在しないなら、以下のような内容のファイルを作成してください。
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

次に、nginxサーバーを起動します。

$ /etc/init.d/nginx start
Starting nginx: nginx.
$ 

最後に確認します。

サーバーのIPアドレスでウェブブラウザからアクセスしてみましょう。
以下のような画面が表示されればOKです。

nginxの初期画面

次に、phpが動作するか確認します。
デフォルトのnginx ウェブサーバーのルートディレクトリは、先のデフォルトの設定の中の root 情報になります。(先の例では、 /usr/share/nginx/www になります。 )
ここに、info.php というファイル名で、以下のように phpinfo() を表示してみましょう。

$ echo "<?php echo phpinfo(); ?>" > /usr/share/nginx/www/info.php
$ 

先と同様に

http://サーバーのIPアドレス/info.php

でウェブブラウザからアクセスしてみましょう。
以下のような画面が表示されればOKです。

nginxのphpinfo画面

Server API : FPM/FastCGI となっていれば間違いなく php-fpm でちゃんと動作しています。


この記事は、初心者向けに書いてみました。

どうだったでしょうか?

一応、簡単な設定だけの紹介で、とりあえず nginx 上で php を動作させるだけの設定のみにしてみました。
わかりやすかったかどうかじゃなく、まずは、nginx 上で phpを動かしてみることを最優先に書いてみました。

とあえず動作すれば、後は、ぼちぼちお勉強して知識を増やしていけば、それっぽく動くようになると思います。 まずは、phpinfo() で情報出力までをやってみられてはいかがでしょうか。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

CentOS,ScientificLinuxでLAMP(Nginx+MySQL+PHP)インストールからWordPressを動かすまで(Nginx編)

今回は、最短でLAMPインストールし、Wordpressを動かすまでの手順について解説してみたいと思います。 とりあえず、CentOS / S ...

CentOS 7 でLAMP(Nginx+MariaDB(MySQL)+PHP)インストールからWordPressを動かすまで(Nginx編)

今回は、CentOS,ScientificLinuxでLAMP(Nginx+MySQL+PHP)インストールからWordPressを ...

Nginx + php-fpm でWordpressを動かしてみる

ここまで、nginx + php-fpmのインストールと簡単なセットアップ方法について解説してきました。 CentOS / Sc ...

Nginx で Wordpress を使う時の注意点

Nginx 上で WordPress を動作される場合、いろいろな注意点があります。 今回は、その注意点について、簡単に解説してみたいと思いま ...

Windowsで(L)AMP(Nginx,MySQL,PHP)インストールからWordpressを動かすまで

Windowsで(L)AMP(Apache,MySQL,PHP)インストールからWordPressを動かすまで では、Windows に Apa ...



コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.2446 [s]