阿里云 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/

设置 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

安装

1
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 页面。

配置

编辑 /etc/php-fpm.d/www.confusergroupwww

编辑 /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;

启动

执行命令 /usr/sbin/php-fpm

创建 web 页面

新建 index.php

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

编辑

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 测试正常