魔法使いの卵

WEBエンジニアの卵の成長記録

さくらVPSにNginxとPHP7が動作する環境を作成する

前提

  • 独自ドメイン持ってる
  • DNSの設定済み

NginxとPHP7の動作環境を作成する

  • 実際に開発サーバにデフォルトで利用するPHP導入手順

Nginxの導入

raichel.hatenablog.com

phpの導入

# PHP7の導入
sudo yum install -y epel-release.noarch
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo yum install -y --enablerepo=remi --enablerepo=remi-php70 php php-opcache php-devel php-fpm php-gd php-pdo php-dom php-mbstring php-mcrypt php-mysqlnd php-mssql php-pecl-xdebug php-openssl php-json php-pecl-apcu php-pdo_sqlite php-pdo_mysql php-pecl-memcached php-bcmath php-msgpack php-ldap php-pecl-imagick php-pgsql php-pecl-pthreads php-pecl-msgpack

設定ファイルの作成

  • 設定ファイルを作成する
sudo vim /etc/nginx/conf.d/設定ファイル名.conf
  • 以下サンプル
server {
    # listenするポート番号を記述する
    listen       80;
    # バーチャルホスト名を記述する
    server_name 独自ドメイン;
    # ドキュメントパスを記述する
    root 公開したいServiceのパス;
    # デフォルト要求ファイル名を記述する
    index index.php;

    # 末尾が.phpの要求を対象とする設定
    location ~* \.php$ {
        # /usr/local/php7/etc/php-fpm.d/www.confに設定しているIPとポートを指定する
        # (例)listen = 127.0.0.1:9000
        fastcgi_pass 127.0.0.1:9000;

        # FastCGIサーバは自動index付与をサポートしていない
        # その為、Nginx側が末尾が"/"だった場合fastcgi_indexの値を末尾に付与する
        fastcgi_index  index.php;

        # PHP-FPMに渡されるドキュメントパス
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

        # ベーシック認証
        auth_basic "Restricted";                   # 認証時に表示されるメッセージ
        auth_basic_user_file /etc/nginx/.htpasswd; # .htpasswdファイルのパス

        # その他のFastCGI関連の設定は以下に追加
        include         fastcgi_params;
    }
}

設定ファイルのテストをする

sudo nginx -t

Nginxとphp-fpmを起動する

sudo systemctl start nginx
sudo systemctl start php-fpm

Nginxとphp-fpmを自動起動する

sudo chkconfig nginx on
sudo chkconfig php-fpm on

さいごに

  • 独自ドメインはじめて手に入れた
  • jenkinsとmysqlとredmineも近々入れてみる