CentOS7 + Nginx + PHP7 + PHPフレームワーク

  • ここではPHP フレームワークの slim を使用する
  • /var/www/html/slimsample に slim をインストールし、 sample.com でアクセスできるようにする
  • slim のインストール

Nginx conf ファイル

  • slim に限らず Nginx の書き方は大体同じ
cd /etc/nginx/conf.d
# 名前はわかりやすいもので
vi slimsample.conf

slimsample.conf

server {
    listen       80;
    server_name  sample.com;

    root /var/www/html/slimsample/public;

    index index.php index.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # using PHP
    #
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index /index.php;

        include /etc/nginx/fastcgi_params;

        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO       $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    # using PHP Framework
    #
    try_files $uri $uri/ @rewrite;

    location @rewrite {
        rewrite ^(.*)$ /index.php?_url=$1;
    }
    location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
        root /var/www/html/slimsample/public;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny  all;
    }
}

Nginx 再起動

# シンタックスチェック
$ nginx -t
# 再起動
$ systemctl restart nginx.service

関連投稿