LoginSignup
0
1

More than 5 years have passed since last update.

[PHP+NGINX+PHP-FPM] centos 7.2にPHP7.1開発環境を構築する方法

Last updated at Posted at 2017-02-19

手順

PHPのインストール

最新のyumリポジトリダウンロード

$ sudo yum -y update
$ sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

PHP7.1のインストール

インストール

# PHPのextensionは各自で必要なものを確認してください。
# 特に mod_php71w, php71w-fpm, php71w-cli は最低でもインストールする必要があります。
# Extensionの一覧は yum search php71w と検索すれば見れます。
$ sudo yum -y install mod_php71w php71w-fpm php71w-common php71w-cli php71w-opcache php71w-pdo

PHP7.1がインストールされたか確認

# 以下が出力されていれば成功です
$ php -v
PHP 7.1.0 (cli) (built: Dec  3 2016 11:17:43) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies

nginxのインストール

インストール

$ sudo yum -y install nginx

nginxがインストールされたか確認

# 以下が出力されていれば成功です
$ nginx -v
nginx version: nginx/1.10.2

php-fpmの設定

www.confの設定変更

sudo vim /etc/php-fpm.d/www.conf

# 以下に変更
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx # ;のコメントアウトを外す!
listen.group = nginx # ;のコメントアウトを外す!

php-fpmの起動&自動起動設定

# php-fpm 起動
$ sudo systemctl start php-fpm

# php-fpm 自動起動
$ sudo systemctl enable php-fpm

# 起動されている&自動起動が有効になっているか確認
$ sudo systemctl status php-fpm

# 以下のように /usr/lib/systemd/system/php-fpm.service; enabled; になっていれば自動起動が有効になっている
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
# 以下のようにステータスがactiveになっていればphp-fpmが起動されている
Active: active (running)

nginxバーチャルホスト設定

sites-availableにconfファイル作成

$ sudo mkdir /etc/nginx/sites-available
$ sudo vim /etc/nginx/sites-available/dev.mysite.com.conf

以下のように設定(自分も完璧には理解していないので、とりあえずメモ)

server {
    listen 80;
    server_name dev.mysite.com; # ドメイン
    root /var/www/dev.mysite.com; # ドキュメントルート(あとで作成)

    location / {
        # ファイル取得のルール設定
        try_files $uri $uri/ index.php$is_args$args =404;
    }

    # php-fpmの設定
    location ~ ^/index\.php(/|$) {
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;

        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
    }
}

sites-enabledにconfファイルのシンボリックリンクを貼る

$ sudo mkdir /etc/nginx/sites-enabled
$ cd /etc/nginx/sites-enabled
$ sudo ln -s ../sites-available/dev.mysite.com.conf

nginx.confにsites-enabledにあるconfigファイルを読み込ませる設定、indexディレクティブの設定をする

$ sudo vim /etc/nginx/nginx.conf
index index.htm index.html index.php; # これを追加

# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/sites-enabled/*.conf; # これを追加
include /etc/nginx/conf.d/*.conf;

nginxのシンタックスチェック

$ sudo nginx -t
# 以下が出力されていれば大丈夫
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

nginxの起動&自動起動設定

# nginx 起動
$ sudo systemctl start nginx

# nginx 自動起動
$ sudo systemctl enable nginx

# 起動されている&自動起動が有効になっているか確認
$ sudo systemctl status nginx

# 以下のように /usr/lib/systemd/system/nginx.service; enabled; になっていれば自動起動が有効になっている
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
# 以下のようにステータスがactiveになっていればnginxが起動されている
Active: active (running)

ドキュメントルート作成

ドキュメントルートになるディレクトリ作成

$ sudo mkdir -p /var/www/dev.mysite.com
$ sudo chown -R $USER:$USER /var/www/dev.mysite.com

php動作確認用phpファイル作成

$ sudo vim /var/www/dev.mysite.com/index.php
<?php
phpinfo();

nginxの再起動(自分の場合は再起動の必要がありました。。。理由はわかりませんw)

$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm

今回はvagrantで環境構築したので、自分のPCのhosts書き換え

sudo vim /etc/hosts

# 以下を追加
[IPアドレス] dev.mysite.com

ブラウザで表示確認
dev.mysite.comにアクセスしてみて表示確認する

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1