一聚教程网:一个值得你收藏的教程网站

热门教程

Nginx配置虚拟主机及对PHP的支持

时间:2022-06-30 18:57:44 编辑:袖梨 来源:一聚教程网

在conf目录下面创建vhosts目录,并创建站点的配置文件,这里以examples.com.conf为例。

 代码如下 复制代码

[root@localhost ~]# cd /usr/local/nginx/
[root@localhost nginx]# mkdir -p conf/vhosts
[root@localhost nginx]# vim conf/vhosts/examples.com.conf

创建的examples.com.conf配置文件如下:

 代码如下 复制代码

# 虚拟主机以server进行定义
 server {
     # 监听的端口,多个端口之间使用空格进行间隔
     listen       80;
     # 用来定义访问的ip地址或者域名,多个域名之间使用空格分开
     server_name  examples.com www.examples.com;
     # 用于指定站点网页的默认编码格式
     charset utf-8;
 
     # 用来指定此站点的访问日志存放路径,后面的main用于设定日志的格式
     #access_log  logs/examples.com.access.log  main;
 
     # 用于指定站点的网页根目录,可以是相对路径(相对于nginx安装目录),也可以是绝对路径
     #root /www/examples.com
     # 用于指定访问的默认首页地址
     #index index.html index.php
 
     # 用来指定站点默认访问的设置,里面的root和index用法和效果与上面是一样的
     # 两种方式使用任何一种都是可以的,这里采用 location / {} 的方式
     location / {
         root   /www/examples.com;
         index  index.html index.php;
     }
 
     # 使用error_page指令设置各种错误信息的返回页面
     # 错误信息的返回页面大小如果低于512k则会被ie浏览器替换为ie默认的错误页面
     #error_page  404              /404.html;
     error_page   500 502 503 504 /50x.html;
     location = /50x.html {
         root   html;
     }
 
     # nginx的location指令用于设置url地址匹配,支持正则表达式匹配,也支持条件判断匹配。
     # 可以通过location指令实现nginx对动态、静态网页的过滤处理。
     # 下面是对所有的图片设置缓存30天
     location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
         expires 30d;
     }
     # 对js和css文件缓存1小时
     location ~ .*.(js|css)$ {
         expires 1h;
     }
 
     # 下面是列出了两种解析php的方式:
     # 第一种是简单的将所有以php结尾的请求都交给本机的8080端口进行处理
     #location ~ .php$ {
     #    proxy_pass   http://127.0.0.1:8080;
     #}
     # 第二种是将php的请求交给FastCGI进程监听的ip地址及端口,这里转发给PHP_FPM
     location ~ .php$ {
         # 设定用于解析php的根目录,通常为网站根目录
         root          /www/examples.com;
         # 地址和端口与php_fpm中设置的一致
         fastcgi_pass   127.0.0.1:9000;
         # 默认首页
         fastcgi_index  index.php;
         # 指定防止php动态程序的主目录,也就是$fastcgi_script_name前面指定的路径,建议与网站根目录一致或直接使用$document_root
         fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
         include        fastcgi_params;
     }
 
     # 防止直接访问 .htaccess 文件,建议开启
     location ~ /.ht {
         deny  all;
     }
 }

最后创建网站的根目录并设置目录权限:

 代码如下 复制代码

[root@localhost ~]# mkdir -p /www/examples.com
# 写入权限
[root@localhost ~]# chmod +w /www/examples.com
[root@localhost ~]# chown -R www:www /www/examples.com
# 创建一个测试的php文件
[root@localhost ~]# echo "" >> /www/examples.com/phpinfo.php


这个时候启动php-fpm和nginx之后,应该可以直接访问http://www.examples.com/phpinfo.php了。

热门栏目