Nginx + PHP 7 站点的简单配置

测试环境:

  • OS: Ubuntu 14.04.5 LTS
  • Nginx 1.10.1
  • PHP 7.0.11

测试环境中 Ubuntu 使用阿里云镜像源,也可使用其他镜像源

以下操作均需以root身份执行

编辑Nginx全局配置文件

cd /etc/nginx/
vim nginx.conf

修改进程启动用户以及工作进程个数

user www-data;
worker_processes auto;

在 keepalive_timeout 下一行加入SSL协议

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

防止Nginx配置中主机地址过长,所以将长度加长

server_names_hash_bucket_size 64;

打开gzip功能(IE6中禁用)

gzip on;
gzip_disable "msie6";

include /etc/nginx/conf.d/*.conf 下一行引入站点配置文件

include /etc/nginx/sites-enabled/*;

保存文件,并退出文件编辑。

新建生效与非生效站点配置文件的存放文件夹

mkdir sites-available
mkdir sites-enabled

新建一个站点配置文件并编辑

vim /etc/nginx/sites-available/default.conf

键入站点配置文件,我这里提供一个模板,具体Nginx的站点配置文件语法请参照官方文档。

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html/lo;
    index index.php index.html index.htm;
    server_name _;

    access_log /var/log/nginx/localhost.access.log;
    error_log /var/log/nginx/localhost.error.log;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;

    location ~ \.php$ {
        try_files $uri $uri/ =404;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ ^/(images|javascript|js|css|flash|media|static)/ {
        expires 6h;
    }

    location ~ /\.ht {
        deny all;
    }
}

保存文件并退出编辑。

建立软连接至生效站点配置文件的存放文件夹

ln -s /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled/

重启Nginx服务

service nginx restart

新建站点目录

mkdir /var/www/
mkdir /var/www/html/
mkdir /var/www/html/lo/

新建测试php文件

vim /var/www/html/lo/index.php

键入 phpinfo() 函数,保存并退出,就可以访问这个页面啦!