nginx虚拟主机的配置
nginx虚拟主机的配置
server {
listen ;
server_name 127.0.0.1;
access_log off;
root /var/www/html/;
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
##$uri代表请求的文件或文件夹。$args这个变量等于请求行中的参数。
}
location ~ .*\.(php|php5)?$ {
try_files $uri =404; #不懂为什么
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #不懂为什么
#$document_root当前请求在root指令中指定的值.
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
root /data/nginx/cache; ##配置文件所在的目录,或者是缓存目录。
expires 15d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
}
以上虚拟主机的配置详解:
- location 定义文件类型, \.php$ 代表所有以 php 作为文件后缀的文件类型.
- root 定义 php 文件存放的路径, 当前以 变量$document_root来获取网站根目录的位置。
- fastcgi_index 定义 php 文件类型中的默认索引页
- fastcgi_param SCRIPT_FILENAME 定义了页面请求参数, 如客户端需要访问 /test.php 则会自动读取 //test.php文件, 如客户端访问 / 则自动读取 /www/index.php 文件
- include 定义fastcgi 配置信息将会被保存到 /data/nginx/conf/fastcgi_params 文件中
- nginx的try_files指令,当一个请求发生时,比如"/abc",它会检查"/abc"($uri)文件是否存在以及"/abc/"($uri/)目录是否存在,如果不存在,则重定向到最后一个参数"/index.php$$args".
- index.php是框架的"入口文件"。
- $uri变量作用解释:请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改。
- try_files $uri $uri /index.php?$args; 查找url,如果找不到,就重定向。
- 现在有这样一个需求,网站根目录下有静态文件,static目录下也有静态文件,static目录下的静态文件是程序批量生成的,我想让nginx在地址不变的前提下优先使用static目录里面的文件,如果不存在再使用根目录下的静态文件,比如访问首页http://example.com/index.html则nginx返回/static/index.html,如果不存在返回/index.html。
set $static "/static";
try_files $static$uri $static$uri/index.html /index.php;
nginx虚拟主机的配置的更多相关文章
- Nginx教程--02.Nginx虚拟主机的配置
1.Nginx虚拟主机的配置 1.1 在conf目录下,使用命令 : vim nginx.conf 对上图解释: //全局区 worker _processes 1; //表示当前有1个工作的子进程, ...
- Nginx 虚拟主机 VirtualHost 配置
Nginx 是一个轻量级高性能的 Web 服务器, 并发处理能力强, 对资源消耗小, 无论是静态服务器还是小网站, Nginx 表现更加出色, 作为 Apache 的补充和替代使用率越来越高. 我在& ...
- 【Nginx系列】Nginx虚拟主机的配置核日志管理
Nginx配置段 #user nobody; worker_processes 1;// 有1个工作的子进程,可以自行修改,但太大无益,因为要争夺CPU,一般设置为 CPU数*核数 #error_lo ...
- Brophp Nginx 虚拟主机的配置
默认情况下,Nginx 不支持 pathinfo 配置,通过查看了 Thinkphp Nginx 的配置情况,对虚拟主机配置修改如下: server { listen 80; list ...
- nginx虚拟主机的配置不生效
这个坑找了好久,今天终于找到了问题所在. 一般虚拟主机配置文件是vhost里面单独写一个网站名.conf,然后在nginx最后include vhosts/*.conf 引用. 但是我这里的vhost ...
- nginx虚拟主机配置
nginx虚拟主机配置 虚拟主机的概念虚拟主机,就是把一台物理服务器划分成多个"虚拟"的服务器,每一个虚拟主机都可以有独立的域名和独立的目录nginx虚拟主机的配置nginx的 ...
- Nginx高性能服务器安装、配置、运维 (5) —— Nginx虚拟主机配置
六.Nginx虚拟主机配置 建立基于域名的虚拟主机: (1)建立基于域名的虚拟主机配置文件(以abc.com为例): (2)更改虚拟主机配置文件: 更改配置如下(更改部分即可): server { l ...
- Nginx教程(二) Nginx虚拟主机配置
Nginx教程(二) Nginx虚拟主机配置 1 虚拟主机管理 1.1 Nginx管理虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主 ...
- 配置Nginx虚拟主机
实验环境 一台最小化安装的CentOS 7.3虚拟机 配置基本环境 1. 安装nginx yum install -y epel-* yum isntall -y nginx vim 2. 建立虚机主 ...
随机推荐
- Java条件语句之 if
生活中,我们经常需要先做判断,然后才决定是否要做某件事情.例如,如果考试成绩大于 90 分,则奖励一个 IPHONE 5S .对于这种“需要先判断条件,条件满足后才执行的情况”,就可以使用if 条件语 ...
- 解读Mirantis最新的Neutron性能测试
最近,mirantis的工程师发布了最新的基于Mitaka版本的Neutron性能测试结果.得出的结论是:Neutron现在的性能已经可以用生产环境了. 报告的三位作者都是OpenStack社区的活跃 ...
- [Hadoop] - Hadoop 3.x版本新特性
仅做记录--->官方说明:http://hadoop.apache.org/docs/r3.0.0-alpha2/index.html ============================= ...
- Java class、Object、Class 的区别
Java的对象模型中: 所有的类都是Class类的实例,Object是类,那么Object也是Class类的一个实例. 所有的类都最终继承自Object类,Class是类,那么Class也继承自Obj ...
- shell awk命令
语法: awk '{command}' filename 多个命令以分号分隔. awk 'BEGIN {command1} {command2} END{command3}' 注意:BEGIN , ...
- Qt中切换窗口功能的实现
两条语句就能够实现了: this->newNC.setWindowFlags(Qt::WindowStaysOnTopHint); this->newNC.show(); mark一下,防 ...
- LeetCode OJ:Happy Number(欢乐数)
Write an algorithm to determine if a number is "happy". A happy number is a number defined ...
- New Concept English three (33)
31 45 We have all experienced days when everything goes wrong. A day may begin well enough, but sudd ...
- canvas - 饼状图
<!DOCTYPE html> <html> <head> <title>Canvas测试</title> <meta charset ...
- Android onTouchEvent和setOnTouchListener中onTouch的区别
OnTouchEvent()方法 是获取的对屏幕的各种操作,比如向左向右滑动,点击返回按钮等等. 属于一个宏观的屏幕触摸监控. OnTouchListener()方法 是获取某一个控件某一个View的 ...