NGINXのインストール + PHP-FPMの設定 on CentOS7

CentOS7 NGINX PHP-FPM

CentOS7にNGINXをインストールしてhtmlを確認した後、PHP-FPMと連携させてphpinfoを確認します。

CentOS7にMySQL最新版をインストール
CentOS7にPHP最新版をインストール

NGINXのレポジトリ設定

オフィシャルサイトに最新のNGINXをインストールする場合のレポジトリ設定が書いてあります。

https://nginx.org/en/linux_packages.html

vi /etc/yum.repos.d/nginx.repo

CentOS7の場合は、以下のように設定します。

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

NGINXのインストール

vi /etc/sysconfig/selinux

selinuxを無効化して、NGINXをインストールします。

SELINUX=disabled
yum install nginx

NGINXを起動。

systemctl start nginx

curlでhtmlの確認

Welcome to nginx!と表示されることを確認します。

[root@centos7 conf.d]# curl http://localhost
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
.
.
.
.

PHPが動くconfの作成

PHPのphp-fpmライブラリをインストールしていない場合は、

CentOS7にPHP最新版をインストール

を参考にインストールしておきます。

conf.d配下に新しいconfを作成します。

vi /etc/nginx/conf.d/base.conf
server {
    listen       80;
    server_name localhost;
    root /var/www/html;
    access_log  /var/log/nginx/access_base.log main;
    error_log   /var/log/nginx/error_base.log warn;

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

NGINXとPHP-FPMを再起動します。

systemctl restart nginx
systemctl restart php-fpm

phpinfoの確認

index.phpを作成してphpinfoが表示されるコードを記述します。

vi /var/www/html/index.php
<?php
    phpinfo();
?>

curlで確認します。

[root@centos7 html]# curl http://localhost/index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
.
.
.
<title>phpinfo()</title><meta name="ROBOTS" content="NOINDEX,NOFOLLOW,NOARCHIVE" /></head>
.
.
.

NGINXからUNIXドメインソケットを使ってPHP-FPMに接続

ここまでの方法は、NGINX → PHP-FPM間の通信をTCPソケット接続による方法で行うものでした。TCPソケット接続ではなく、UNIXドメインソケットで通信する場合は、NGINXのfastcgi_passを以下のようにします。

NGINXのconf

vi /etc/nginx/conf.d/base.conf
fastcgi_pass unix:/var/run/php-fpm.sock;

PHP-FPMのconf

vi /etc/php-fpm.d/www.conf
listen = /var/run/php-fpm.sock
listen.owner = nginx
listen.group = nginx
systemctl restart nginx
systemctl restart php-fpm

Webエンジニアブログにコメント

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

NGINXのインストール + PHP-FPMの設定 on CentOS7の記事にコメントを投稿