nginxのインストール
次の記事を参考にnginxをインストールします。
nginxのインストールphp-fpmのインストール
php-fpmとPHP関連のパッケージをインストールします。
yum install php-fpm php-mysql php-mbstring php-pear php-gd
PHPの設定 (php.ini)
タイムゾーンをAsia/Tokyo
に設定します。
vi /etc/php.ini ;date.timezone = date.timezone = Asia/Tokyo
php-fpmの設定
サーバの動作ユーザ、グループをnginxに変更します。
vi /etc/php-fpm.d/www.conf ;user = apache user = nginx ;group = apache group = nginx
ログディレクトリの所有者もapacheからnginxに変更します。
chown nginx /var/log/php-fpm/
php-fpmデーモンの起動
php-fpmデーモンをsystemctl経由で起動します。
systemctl start php-fpm
ホスト起動時のphp-fpmの自動起動を有効にします。
systemctl enable php-fpm Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
php-fpmデーモンの起動状態を確認します。
systemctl status php-fpm ● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2017-03-29 14:06:29 UTC; 17s ago Main PID: 4392 (php-fpm) Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec" CGroup: /system.slice/php-fpm.service ├─4392 php-fpm: master process (/etc/php-fpm.conf) ├─4394 php-fpm: pool www ├─4395 php-fpm: pool www ├─4396 php-fpm: pool www ├─4397 php-fpm: pool www └─4398 php-fpm: pool www
nginxにおけるPHP, FastCGIの設定
nginxにドメインexample.com
の設定を追加します。phpファイルの場合はphp-fpm経由で処理をするFastCGIの設定を記述します。
vi /etc/nginx/conf.d/example.com.conf server { listen 80; server_name example.com; root /var/www/webuser/example.com/htdocs; index index.html index.htm index.php; location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
nginxコマンドの-t
オプションで設定ファイルのテストをします。
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 -s reload
サイト管理ユーザの作成
サイト管理ユーザwebuser
を作成します。
/usr/sbin/useradd webuser -m -d /var/www/webuser
passwdコマンドでwebuser
のパスワードを設定します。
passwd webuser Changing password for user webuser. New password: (パスワード入力) Retype new password: (パスワード再入力) passwd: all authentication tokens updated successfully.
作成直後のホームディレクトリのパーミッションは700
のため、nginxがアクセス出来るように711
のパーミッションに変更します。
chmod 711 /var/www/webuser
Webコンテンツの配置
公開ディレクトリ/var/www/webuser/example.com/htdocs/
を作成して、phpinfoを表示するinfo.php
を配置します。
mkdir -p /var/www/webuser/example.com/htdocs/ echo ' /var/www/webuser/example.com/htdocs/info.php
動作確認
http://example.com/info.php
にアクセスすることでphpinfoが表示されれば、動作することが確認できます。