mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Debian 8 (Jessie) - PHP と Nginx の連携!

[ サーバ構築 ] [ Debian, Linux, Nginx, PHP ]

こんばんは。

Debian GNU/Linux 8 (Jessie) にインストールした PHP を Web サーバ Nginx と連携する方法についての記録です。

以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)

0. 前提条件

1. PHP-FPM 設定ファイルの作成

デフォルトの設定ファイルを複製する

1
2
# cd /usr/local/php-5.6.8/etc/
# cp php-fpm.conf.default php-fpm.conf

2. PHP-FPM サービス起動スクリプトの作成

PHP をソースを(PHP-FPM オプション付きで)ビルドしてインストールした場合、デフォルトでは PHP-FPM サービス起動用スクリプトが存在しない。
サービス起動用スクリプトをソースディレクトリ内から複製してを作成する。

1
# cp /usr/local/src/php-5.6.8/sapi/fpm/php-fpm.service /etc/systemd/system/

そして、編集。(${prefix}, ${exec_prefix} を環境に合わせて変更)

/etc/systemd/system/php-fpm.service
1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/var/run/php-fpm.pid
ExecStart=/usr/local/php-5.6.8/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php-5.6.8/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

3. PHP-FPM 起動スクリプトの権限設定

1
# chmod +x /etc/systemd/system/php-fpm.service

4. PHP-FPM サービスの起動

1
# systemctl start php-fpm

5. Nginx 設定ファイルの編集

server ディレクティブ内の php の部分をコメント解除&編集する。

/etc/nginx/conf.d/default.conf
1
2
3
4
5
6
7
8
    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
        include        fastcgi_params;
    }

6. Nginx のリロード

Nginx が起動していなければ起動し、起動していればリロードする。

1
# systemctl reload nginx

7. PHP-FPM 自動起動の設定

マシン起動時に自動で PHP-FPM が起動するうように設定する。

1
2
# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /etc/systemd/system/php-fpm.service.

8. サンプルページの作成

ドキュメントルートにサンプルページを作成する。

/var/www/html/phpinfo.php
1
2
3
<?php
  phpinfo();
?>

9. 動作確認

http://<サーバアドレス>/phpinfo.php にアクセスしてみる。
PHP 情報ページが表示されればよい。


以上。

Comments