CentOS7 NginxでPHP

スポンサーリンク

デフォルトではNginxではPHPは動作しません。

元々静的コンテンツ向けのWebサーバが理由というのもあるかもしれあませんが、PHPをモジュールとして組み込むことで動作が可能になります。そのモジュールとして組み込むソフトウェアがPHP-FPM(FastCGI-Processor-Manager)というものです。

今どき、動的コンテンツのないWebサイトのほうが珍しいぐらいなので動作できるよう設定してみます。Nnginxのインストールは下記のページを参照してください。

Nginxの基本インストール

NginxでPHPをモジュールとして動かすPHP-FPMをインストールします。

# yum install php php-mbstring php-fpm

PHPの基本設定については以下を参照ください。

PHPの基本設定

PHP-FPMの設定を下記の通り行います。

# vi /etc/php-fpm.d/www.conf

<省略>
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
<省略>

php-fpmを起動し、OS起動時にも自動的に起動するよう変更します。

# systemctl enable php-fpm
# systemctl start php-fpm

ログディレクトリをデフォルトでオーナーがapacheとなっておりますのでnginxに変更しておきます。

# chown nginx /var/log/php-fpm

続いてnginxにphpの設定をします。

# vi /etc/nginx/conf.d/default.conf

<省略>
location / {
    root /usr/share/nginx/html;
    index index.html index.htm index.php;
}

location ~ \.php$ {
    root /usr/share/nginx/html;
    try_files $uri =404;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}
<省略>

設定を有効にするためにnginxを再起動します。

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

# nginx -s reload

PHPが動作するか確認してみます。ドキュメントルートに以下のファイルを置いて正常に表示されるか確認してみてください。

# vi /usr/share/nginx/html/info.php

<?php
phpinfo();
?>

これでブラウザからhttp://ip-address/info.phpにアクセスしPHPに関する詳細画面が表示されればOKです。

参考URL:https://centos.bungu-do.jp/archives/324

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする