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が表示されれば、動作することが確認できます。