nginx.conf 配置文件的几个常用命令

nginx 配置文件主要分为六个区域:

  • main: 全局设置

  • events: nginx工作模式

  • http: http设置

  • sever: 主机设置

  • location: URL 匹配

  • upstream: 负载均衡服务器设置

下面,就以在 Windows 上使用 phpStudy 集成开发环境举例说明下 Nginx 的虚拟目录和虚拟主机是如何配置的:

Nginx 虚拟目录配置

通俗地讲,虚拟目录的意思就是浏览器上输入的 URL 不一定就代表网站在文件系统中的绝对路径,而是可以在硬盘中的任意指定位置。

比如在浏览器上访问的是 http://localhost/test,在网站根目录 C:/htdocs/ 下不一定就有 test 这个目录,而是可以在其他位置, 比如 d:/not_test。

找到并打开 nginx.conf,然后在 location ~ //.ht {...} 字样下面添加即可:

1
2
3
4
5
location /test {
alias "C:/Users/cjli/PhpstormProjects/test";
index index.php;
autoindex on;
}

这里 /test 中的 test 是一个别名( alias ),可以自定义,而 alias 指令后面跟的路径也可以随意指向文件系统中任何存在的目录。

重启 Nginx 后打开 http://localhost/test 就可以看到上面目录 C:/Users/cjli/PhpstormProjects/test 下的网站了( 如果有的话 )。

注意
  • 虚拟目录路径的配置不能用 root 指令而必须用 alias 指令。

  • 路径必须用双引号括起来。

  • index 指令和 autoindex 指令必须同时出现。

Nginx 虚拟主机配置

通俗地讲,虚拟主机的意思就是,功能上力求和一台物理机实现得一致。

因此就很容易解释为什么多个虚拟主机中可以监听同一个端口号这样的问题了,因为虽然端口号是相同的,但是可以理解为是不同个主机上的同一个端口,这当然不影响了。

为了管理方便,对 Nginx 的配置文件都可以放在一个文件夹下,然后统一在主配置文件 nginx.conf 中使用 include 指令包含进来。可参考如下:

  • conf.d/virtual-hosts.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
server {
listen 80;
server_name localhost 192.168.1.174 zh.oc.com;
 
charset utf-8;
 
location / {
root "D:\WWW\mycncart";
index index.php index.html index.htm;
autoindex on;
}
 
location ~ \.php(.*)$ {
root "D:\WWW\mycncart";
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
  • nginx.conf
1
2
# ...
include conf.d/virtual-hosts.conf
说明
  • 每个虚拟主机在 nginx.conf 中都是一个单独的 server{} 块,配置思路也大体相同。

  • 虚拟主机的端口可以监听同一个端口。

  • server_name 可以是内网IP、域名,公网 IP 和域名,也可以一次性指向多个域名或 IP。

  • root 指令放在 location 指令在之外类似于全局变量,而每个 location 块中都可以使用该指令设置的路径。

在于 PHP 关联的时候,要么全局中指定过 root,否则在 location 中也必须指定根路径,否则重启 Nginx 后也无法找到文件,出现 404 或无法加载网页。

Nginx 虚拟目录和虚拟主机的配置的更多相关文章

  1. tomact虚拟目录,虚拟主机,http请求头,相应头

    tomact虚拟目录,虚拟主机,http请求头,相应头 07. 五 / J2EE / 没有评论   一.服务器,容器(软件)1.服务器:提供网络访问的程序2.容器:支持什么技术的服务器就叫做什么容器. ...

  2. (Tomcat)服务器之web应用的虚拟目录映射和主机搭建

    首先来了解一下web的虚拟目录映射和主机搭建的知识 第一:web的虚拟目录映射 首先我们要知道什么叫做web的虚拟目录映射,这个很好理解的,就是将我们本地硬盘上的web应用映射出一个供外界用户访问的地 ...

  3. JavaWeb学习篇之----web应用的虚拟目录映射和主机搭建(Tomcat)

    从今天开始来学习JavaWeb的相关知识,之前弄过一段时间JavaWeb的,就是在做毕业设计的时候搞过,但是那时候完全是为了任务去学习,所以效果不好,好多东西都没有深入的研究过,所以接下来的一段时间我 ...

  4. nginx下目录浏览及其验证功能配置记录

    工作中常常有写不能有网页下载东西的需求,在Apache下搭建完成后直接导入文件即可达到下载/显示文件的效果;而Nginx的目录列表功能默认是关闭的,如果需要打开Nginx的目录列表功能,需要手动配置, ...

  5. JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)

    1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...

  6. apache php配置 虚拟目录 和 虚拟主机 多域名配置 原理解析

    虚拟目录配置 就是说,我们放项目放在D盘,F盘,而不是默认的www文件夹下也可以访问.比如这里,我在 D:/PHP/work 放入的项目文件. 在httpd.conf加入: (位置一般是在 </ ...

  7. Tomcat 配置虚拟目录以及虚拟主机

    目录 虚拟目录 虚拟主机 虚拟目录 虚拟目录的功能 一般情况下,我们的打包后的项目都是放到tomcat/webapps目录下的,然后通过localhost:8080/project_name这个链接进 ...

  8. Tomcat基本入门知识及发布,虚拟访问及启动碰到的错误,虚拟目录,虚拟路径,各种Tomcat的配置

    Tomcat容器入门介绍 转自javaresearch.com由timgball 整理 Tomcat是一个免费的开源Web服务器,最新版本是5.5.1,支持Servlet2.4,JSP2.0,非常适合 ...

  9. Tomcat 利用server.xml进行其他盘符的其他项目映射的部署以及JSP引用其他盘符的图片(虚拟目录及虚拟路径)

    Tomcat 利用server.xml进行项目映射的部署 2013-07-17 15:14 12843人阅读 评论(4) 收藏 举报  分类: web 开发(5)  版权声明:本文为博主原创文章,欢迎 ...

随机推荐

  1. 《Linux内核设计与实现》第5章读书笔记

    第五章 系统调用 一.系统调用概述 系统调用在Linux中称为syscall,返回的值是long型变量:如果出错,C库会将错误代码写入errno全局变量(通过调用perror()函数可以把该变量翻译成 ...

  2. Hadoop1.2.1异常No route to host

    Hadoop1.2.1异常Bad connect ack with firstBadLink (No route to host ) 0.说明 Hadoop集群之前运行正常,增加了新节点之后,需要执行 ...

  3. [bzoj3238]差异(后缀数组+单调栈)

    显然我们可以先把len(Ti)+len(Tj)的值先算出来,再把LCP减去.所有len(Ti)+len(Tj)的值为n*(n-1)*(n+1)/2,这个随便在纸上画一画就可以算出来的. 接下来问题就是 ...

  4. 用Visual C#开发基于OpenCV的Windows应用程序

    http://blog.163.com/wangxh_jy/blog/static/28233883201001581640283/ 关于详细的配置及程序运行截图,请下载:http://downloa ...

  5. PID控制算法的c语言实现十二 模糊PID的参数整定

    这几天一直在考虑如何能够把这一节的内容说清楚,对于PID而言应用并没有多大难度,按照基本的算法设计思路和成熟的参数整定方法,就算是没有经过特殊训练和培训的人,也能够在较短的时间内容学会使用PID算法. ...

  6. centos 前端环境搭建

    Node.js 安装 wget 下载安装 yum -y install gcc make gcc-c++ openssl-devel wget node v6.11.0 下载 wget https:/ ...

  7. Maven仓库--Nexus的配置使用

    一.Nexus的作用 指定私服的中央地址.将自己的Maven项目指定到私服地址.从私服下载中央库的项目索引.从私服仓库下载依赖组件.将第三方项目jar上传到私服供其他项目组使用. 二.Nexus仓库 ...

  8. pasty公式

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  9. 前端PHP入门-012-回调函数[慎入]

    尽力而为,对于WEB前端和美工同学,比较难了!但是你们都学过JS的闭包等操作,那么这里也一定没有问题! 回调函数,可以配合匿名函数和变量函数实现更加优美.复杂的一种函数结构. 回调函数,就是在处理一个 ...

  10. 洛谷 Sorting a Three-Valued Sequence 三值的排序

    Description 排序是一种很频繁的计算任务.现在考虑最多只有三值的排序问题.一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌序的时候. 在这个任务中可能的值只有三种1,2和3.我们用交换的 ...