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

Updated:


※この記事は9年以上前に投稿されたもので、情報が古い可能性があります。

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

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

0. 前提条件Permalink

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

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

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

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

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

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

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

File: /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 起動スクリプトの権限設定Permalink

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

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

# systemctl start php-fpm

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

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

File: /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 のリロードPermalink

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

# systemctl reload nginx

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

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

# 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. サンプルページの作成Permalink

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

File: /var/www/html/phpinfo.php

1
2
3
<?php
  phpinfo();
?>

9. 動作確認Permalink

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


以上。





 

Sponsored Link

 

Comments