#はじめに
さくらVPSを新しく借りたのでphp7 + php-fpm + nginxの環境をつくる
環境
OS: CentOS Linux release 7.4
WebServer: nginx 1.13.9
DocumentRoot: /var/www/html
Domain: www.example.com
まず
# yum update
EPELリポジトリの追加
# yum -y install epel-release
yum コマンド実行時は自動的にEPELリポジトリが使用されるようになる。
--enablerepo=repo名を指定した時のみ使用するようにしたい場合は
以下を編集する。
/etc/yum.repos.d/epel.repo
[epel]
enabled=1
↓ 変更
enabled=0
remiリポジトリの追加
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum コマンド実行時は自動的にEPELリポジトリが使用されるようになる。
--enablerepo=repo名を指定した時のみ使用するようにしたい場合は
以下を編集する。
/etc/yum.repos.d/remi-safe.repo
[epel]
enabled=1
↓ 変更
enabled=0
Nginx
/etc/yum.repos.d/nginx.repoを作成
/etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
enabled=0
gpgcheck=0
Install
# yum -y --enablerepo=nginx install nginx
# nginx -v
nginx version nginx/1.13.9
起動設定
# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx
設定ファイルの編集
###初期設定ファイルのバックアップをとる
cd /etc/nginx
# cp nginx.conf nginx.conf.org
cd /etc/nginx/conf.d
# cp default.conf default.conf.org
###設定ファイルを編集
/etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
root /var/www/html;
charset UTF-8;
access_log /var/log/nginx/www.example.com.access.log main;
error_log /var/log/nginx/www.example.com.error.log;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
再起動
# systemctl restart nginx
php, php-fpm
Install
# yum -y install --enablerepo=epel,remi,remi-php72 php php-mbstring php-pdo php-mysqlnd php-fpm php-gd
php -v
PHP 7.2.3
最初にインストールした際に下記エラーが発生したので--enablerpoにepelリポジトリを追加。
エラー: パッケージ: php-7.2.1-1.el7.remi.x86_64 (remi-php72)
要求: libargon2.so.0()(64bit)
初期設定ファイルのバックアップをとる
cd /etc/php-fpm.d
cp www.conf www.conf.org
設定ファイルを編集
/etc/php-fpm.d/www.conf
- user
+ user nginx
- group
+ group nginx
- listen = 127.0.0.1:9000
+ /var/run/php-fpm/php-fpm.sock
- ;listen.owner = nobody
+ listen.owner = nginx
- ;listen.group = nobody
+ listen.owner = nginx
php-fpmを再起動
# systemctl restart php-fpm
確認
とりあえずphpinfoを表示させる
/var/www/html/index.php
<?php phpinfo(); ?>
ブラウザでhttp://Domain名
でアクセスしてphpinfoが表示されればOK