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. 建立虚机主 ...
随机推荐
- bootstrap下拉列表重置联动
/**添加&修改时--获取机柜号**/ function BindSelectJgh(jiguiColumnIdD, jiguiNumberIdD) { var jid = !jiguiCol ...
- log4j.appender.AFile.File日志的相对路径
log4j.appender.AFile=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.AFile.DatePattern='.'yy ...
- Red Hat OpenStack 10的新特性
这是Red Hat有史以来最好的版本,同时也是第一个长生命周期版本(最长五年支持),这篇文章会介绍为什么这是你私有云最好的礼物. 由于要使用命令行,以前安装OpenStack是很繁重的工作.这个版本提 ...
- scala LocalDateTime String 转换
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");LocalDateTime ti ...
- BZOJ 1835 [ZJOI2010]base 基站选址:线段树优化dp
传送门 题意 有 $ n $ 个村庄在一排直线上,现在要建造不超过 $ K $ 个通讯基站,基站只能造在村庄处. 第 $ i $ 个村庄距离第 $ 1 $ 个村庄的距离为 $ D_i $ .在此建造基 ...
- django Models 常用的字段和参数
1.字段 CharField IntegerField floatField DateTimeField DateField DecimalField 2.参数 null default choice ...
- Python jieba 分词
环境 Anaconda3 Python 3.6, Window 64bit 目的 利用 jieba 进行分词,关键词提取 代码 # -*- coding: utf-8 -*- import jieba ...
- spring3: schema的aop与Aspectj的aop的区别
schema的aop如下: 接口: package chapter6.service; public interface IHelloAroundService { public void sayAr ...
- C++纯虚函数和抽象类的一些要点
1. 纯虚函数是在其被声明的类中不被实现的函数. 2. 定义了纯虚函数的类是抽象类,可以用来生命变量,但不能用来构造实例. 3. 基类中定义了纯虚函数,派生类要么定义这个纯虚函数,要么重复声明一次这个 ...
- Isilon
Isilon编辑 本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 美国Isilon公司是全球群集存储系统的主要供应商,是该领域的领导者.总部位于美国华盛顿州的西雅图.创建于2 ...