新規サーバにPHP7+Nginxの環境を構築する
新規サーバに以下の環境を作成する
- CentOS7.1
- PHP 7.0.0
- Nginx1.8.0
SELinuxを殺す
一時的に殺しておく
sudo setenforce 0
再起動後も殺しておく
sudo vim /etc/selinux/config
- SELINUX=enforcing + SELINUX=disabled
Nginxのyumリポジトリを追加
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
Nginxをinstallする
sudo yum -y install nginx
確認用のファイルを作成する
vim /vagrantdev/phpinfo.php
<?php echo phpinfo();
バーチャルホストを立てる
sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/virtualhost.conf
sudo vim /etc/nginx/conf.d/virtualhost.conf
server { # listenするポート番号を記述する listen 80; # バーチャルホスト名を記述する server_name vagrant.dev; # ドキュメントパスを記述する root /vagrant/dev; # デフォルト要求ファイル名を記述する 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; # その他のFastCGI関連の設定は以下に追加 include fastcgi_params; } }
PHP7導入
sudo yum install 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 systemctl daemon-reload
.confが正常に設定されているか確認する
sudo /usr/sbin/nginx -t
サーバを起動する
sudo systemctl start nginx sudo systemctl start php-fpm
ファイヤーウォールの設定
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --permanent --zone=public --add-service=ssh
ファイヤーウォール設定をリロード
sudo firewall-cmd --reload
設定確認
sudo systemctl is-enabled firewalld disabled
確認
curl vagrant.dev/phpinfo.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head> <style type="text/css"> body {background-color: #fff; color: #222; font-family: sans-serif;} pre {margin: 0; font-family: monospace;} a:link {color: #009; text-decoration: none; background-color: #fff;} a:hover {text-decoration: underline;} table {border-collapse: collapse; border: 0; width: 934px; box-shadow: 1px 2px 3px #ccc;} .center {text-align: center;} .center table {margin: 1em auto; text-align: left;} .center th {text-align: center !important;} td, th {border: 1px solid #666; font-size: 75%; vertical-align: baseline; padding: 4px 5px;} h1 {font-size: 150%;} h2 {font-size: 125%;} .p {text-align: left;} .e {background-color: #ccf; width: 300px; font-weight: bold;} .h {background-color: #99c; font-weight: bold;} .v {background-color: #ddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;} .v i {color: #999;} img {float: right; border: 0;} hr {width: 934px; background-color: #ccc; border: 0; height: 1px;} </style> <title>phpinfo()</title><meta name="ROBOTS" content="NOINDEX,NOFOLLOW,NOARCHIVE" /></head> <body><div class="center"> <table> <tr class="h"><td> 以下省略
2015/12/23追記
- php7正式リリースがあり手順が簡単になったので一部変更しておきました
参考元