在Centos 7.2上,搭建PHP7.1开发环境的方式是使用[PHP+NGINX+PHP-FPM]
程序
安装PHP
下载最新的yum仓库
$ sudo yum -y update
$ sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安装PHP7.1
安装
# PHPのextensionは各自で必要なものを確認してください。
# 特に mod_php71w, php71w-fpm, php71w-cli は最低でもインストールする必要があります。
# Extensionの一覧は yum search php71w と検索すれば見れます。
$ sudo yum -y install mod_php71w php71w-fpm php71w-common php71w-cli php71w-opcache php71w-pdo
确认是否已安装PHP7.1。
# 以下が出力されていれば成功です
$ php -v
PHP 7.1.0 (cli) (built: Dec 3 2016 11:17:43) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies
安装nginx
安装
$ sudo yum -y install nginx
确认Nginx是否已成功安装。
# 以下が出力されていれば成功です
$ nginx -v
nginx version: nginx/1.10.2
php-fpm的配置
更改www.conf的设置
sudo vim /etc/php-fpm.d/www.conf
# 以下に変更
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx # ;のコメントアウトを外す!
listen.group = nginx # ;のコメントアウトを外す!
启动和设置php-fpm自动启动
# php-fpm 起動
$ sudo systemctl start php-fpm
# php-fpm 自動起動
$ sudo systemctl enable php-fpm
# 起動されている&自動起動が有効になっているか確認
$ sudo systemctl status php-fpm
# 以下のように /usr/lib/systemd/system/php-fpm.service; enabled; になっていれば自動起動が有効になっている
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
# 以下のようにステータスがactiveになっていればphp-fpmが起動されている
Active: active (running)
nginx虚拟主机配置
在 sites-available 中创建一个 conf 文件。
$ sudo mkdir /etc/nginx/sites-available
$ sudo vim /etc/nginx/sites-available/dev.mysite.com.conf
以下是设置的示例(由于我自己也没有完全理解,先做个备忘录)
server {
listen 80;
server_name dev.mysite.com; # ドメイン
root /var/www/dev.mysite.com; # ドキュメントルート(あとで作成)
location / {
# ファイル取得のルール設定
try_files $uri $uri/ index.php$is_args$args =404;
}
# php-fpmの設定
location ~ ^/index\.php(/|$) {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
}
在`sites-enabled`文件夹下创建一个指向`conf`文件的符号链接。
$ sudo mkdir /etc/nginx/sites-enabled
$ cd /etc/nginx/sites-enabled
$ sudo ln -s ../sites-available/dev.mysite.com.conf
在nginx.conf中设置加载sites-enabled中的配置文件,并设置index指令。
$ sudo vim /etc/nginx/nginx.conf
index index.htm index.html index.php; # これを追加
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/sites-enabled/*.conf; # これを追加
include /etc/nginx/conf.d/*.conf;
对Nginx进行语法检查
$ sudo 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 起動
$ sudo systemctl start nginx
# nginx 自動起動
$ sudo systemctl enable nginx
# 起動されている&自動起動が有効になっているか確認
$ sudo systemctl status nginx
# 以下のように /usr/lib/systemd/system/nginx.service; enabled; になっていれば自動起動が有効になっている
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
# 以下のようにステータスがactiveになっていればnginxが起動されている
Active: active (running)
创建文档根目录
创建一个作为文档根目录的文件夹
$ sudo mkdir -p /var/www/dev.mysite.com
$ sudo chown -R $USER:$USER /var/www/dev.mysite.com
创建用于PHP操作确认的PHP文件。
$ sudo vim /var/www/dev.mysite.com/index.php
<?php
phpinfo();
在我的情况下,Nginx需要重新启动(不知道原因…w)。
$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm
由于这次我是用Vagrant进行环境搭建,所以我需要修改我个人电脑上的hosts文件。
sudo vim /etc/hosts
# 以下を追加
[IPアドレス] dev.mysite.com
请在浏览器中确认显示
尝试访问dev.mysite.com并确认显示