阿里云 CentOS7 + Nginx + PHP7 环境安装及配置

登录

如果你的阿里云ECS支持 I/O 实例优化,建议使用密钥对登录会更安全。

创建用户及目录

  1. 阿里云 centos 7.3 初始化服务器
  2. ssh 登录
  3. mkdir /web
  4. mkdir /web/www
  5. adduser www
  6. chown www:www /web/www

安装 nginx

http://www.nginx.cn/install

  1. yum -y install gcc automake autoconf libtool make
  2. yum install gcc gcc-c++
  3. cd /usr/local/src

发现 pcre 包跟教程中不一致,可能会出现问题,为了避免麻烦,改用 yum 安装预编译的 nginx 稳定版:http://nginx.org/en/linux_packages.html#stable

  1. 创建文件 /etc/yum.repos.d/nginx.repo 内容参考文档。
  2. yum install nginx
  3. complete!
  4. find / -name nginx 查找安装后的路径

nginx 安装目录在 /etc/nginx/ 可以找到 nginx.confconf.d/default.conf,编辑 nginx.conf 的 user 为 www(之前设置的用户,需要后面跟 php-fpm 一致,nginx.conf 默认为 nginx,php-fpm 默认为 apache);
nginx 执行文件在 usr/sbin/nginx,执行 usr/sbin/nginx 命令可以启动 nginx (确保80端口没有被占用netstat -ano|grep 80),也可以用 systemctl start nginx 启动
nginx 日志文件在 var/log/nginx 可以在 /etc/nginx/nginx.conf 看到。

  1. vi /etc/nginx/nginx.conf 开启 gzip
  2. /usr/sbin/nginx -s reload 重载

安装 php

使用 https://webtatic.com/packages/php71/

  1. 设置 webtatic 仓库:

    1
    2
    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
  2. 安装 yum install php71w-fpm php71w-opcache php71w-common php71w-intl php71w-mbstring php71w-xml php71w-mysqlnd php71w-pecl-imagick php71w-pecl-memcached php71w-pecl-redis php71w-soap,具体对应的扩展参照 webtatic 页面。

  3. 编辑 /etc/php-fpm.d/www.confusergroup 为 www
  4. 编辑 /etc/conf.d/default.conf
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    server {
    ...
    root /web/www/default
    index index.php
    ...
    location / {
    # for laravel
    try_files $uri $uri/ /index.php?$query_string;
    }
    ...
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    ...
    }

注意上面 关于 fastcgi 配置部分 把 /scripts 改为 $document_root;

  1. 运行 /usr/sbin/php-fpm

创建 web 页面

1
2
3
4
5
su www
cd /web/www
mkdir default
cd default
vi index.php

填入

1
2
<?php
phpinfo();

浏览器输入你的 ip 地址,没意外应该会打印 phpinfo() 信息

https://www.vultr.com/docs/how-to-install-php-7-x-on-centos-7
http://www.jianshu.com/p/b4631a899030

启动项

/etc/rc.d/rc.local 加入启动命令

安装 git

  1. yum install git
  2. git --version

安装 composer

  1. https://getcomposer.org/download/
  2. 全局可用mv composer.phar /usr/bin/composer
  3. which composer 可以看到 /usr/bin/composer
  4. composer self-update 测试正常