在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并确认显示

广告
将在 10 秒后关闭
bannerAds