Nginx 虚拟目录和虚拟主机的配置
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 虚拟目录和虚拟主机的配置的更多相关文章
- tomact虚拟目录,虚拟主机,http请求头,相应头
tomact虚拟目录,虚拟主机,http请求头,相应头 07. 五 / J2EE / 没有评论 一.服务器,容器(软件)1.服务器:提供网络访问的程序2.容器:支持什么技术的服务器就叫做什么容器. ...
- (Tomcat)服务器之web应用的虚拟目录映射和主机搭建
首先来了解一下web的虚拟目录映射和主机搭建的知识 第一:web的虚拟目录映射 首先我们要知道什么叫做web的虚拟目录映射,这个很好理解的,就是将我们本地硬盘上的web应用映射出一个供外界用户访问的地 ...
- JavaWeb学习篇之----web应用的虚拟目录映射和主机搭建(Tomcat)
从今天开始来学习JavaWeb的相关知识,之前弄过一段时间JavaWeb的,就是在做毕业设计的时候搞过,但是那时候完全是为了任务去学习,所以效果不好,好多东西都没有深入的研究过,所以接下来的一段时间我 ...
- nginx下目录浏览及其验证功能配置记录
工作中常常有写不能有网页下载东西的需求,在Apache下搭建完成后直接导入文件即可达到下载/显示文件的效果;而Nginx的目录列表功能默认是关闭的,如果需要打开Nginx的目录列表功能,需要手动配置, ...
- JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)
1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...
- apache php配置 虚拟目录 和 虚拟主机 多域名配置 原理解析
虚拟目录配置 就是说,我们放项目放在D盘,F盘,而不是默认的www文件夹下也可以访问.比如这里,我在 D:/PHP/work 放入的项目文件. 在httpd.conf加入: (位置一般是在 </ ...
- Tomcat 配置虚拟目录以及虚拟主机
目录 虚拟目录 虚拟主机 虚拟目录 虚拟目录的功能 一般情况下,我们的打包后的项目都是放到tomcat/webapps目录下的,然后通过localhost:8080/project_name这个链接进 ...
- Tomcat基本入门知识及发布,虚拟访问及启动碰到的错误,虚拟目录,虚拟路径,各种Tomcat的配置
Tomcat容器入门介绍 转自javaresearch.com由timgball 整理 Tomcat是一个免费的开源Web服务器,最新版本是5.5.1,支持Servlet2.4,JSP2.0,非常适合 ...
- Tomcat 利用server.xml进行其他盘符的其他项目映射的部署以及JSP引用其他盘符的图片(虚拟目录及虚拟路径)
Tomcat 利用server.xml进行项目映射的部署 2013-07-17 15:14 12843人阅读 评论(4) 收藏 举报 分类: web 开发(5) 版权声明:本文为博主原创文章,欢迎 ...
随机推荐
- SpringBoot web 小项目
Spring Boot 整合 Thymeleaf 完整 Web 案例 原创出处 作者:泥瓦匠BYSocket 希望转载,保留摘要,谢谢! Thymeleaf 是一种模板语言.那模板语言或模板引擎是什 ...
- 小Q与内存
Portal --> broken qwq Description (这个描述好像怎么都精简不起来啊qwq) 大概是说你的计算机有1GB的物理内存,按照Byte寻址,其物理地址空间为\(0\si ...
- 【51nod1965】奇怪的式子
Portal --> 51nod1965 Solution 怎么说呢..这题..做的有点痛苦.. 首先看这个式子长得..比较奇怪,指数里面那个加号有点烦人,而且这个函数不是一个积性函数也有点烦人 ...
- Linux之Json20160705
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易 ...
- Cyrus SASL介绍(翻译)
http://blog.sina.com.cn/s/blog_7695e9f40100pnpa.html Cyrus SASL介绍 1. 综述 这篇文档讲述的是系统管理员配置SASL的方法,其中详细的 ...
- Chocolatey - Windows Software Management Automation
What is Chocolatey? Chocolatey is a software management solution unlike anything else you've ever ex ...
- shell多进程的实现
需求:多个脚本彼此互不干涉,同时运行,节省时间 菜鸟级实现: #!/bin/sh dir="/data/test" $dir/sbin/test1.sh >> $dir ...
- uva 11722 Joining with Friend
https://vjudge.net/problem/UVA-11722 题意:你和朋友都要乘坐火车,并且都会途径A城市.你们很想会面,但是你们到达这个城市的准确时刻都无法确定.你会在时间区间[t1, ...
- 【问题解决】访问jhipster-registry-master出现空白页
问题概述: 刚从github拉下来的jhipster-registry-master直接运行,访问http://localhost:8761会发现会空白页,但是网页的title显示正常,本文目的是解决 ...
- JSP分页之结合Bootstrap分页插件进行简单分页
结合Bootstrap的分页插件实现分页,其中策略是每次显示5个按钮,然后根据当前页的不同来进行不同的显示: 1. 当前页<3,如果当前页大于5页就显示前五页,不然就显示1~totalPage. ...