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) 版权声明:本文为博主原创文章,欢迎 ...
随机推荐
- SSH不能连接并提示REMOTE HOST IDENTIFICATION HAS CHANGED解决
SSH不能连接并提示REMOTE HOST IDENTIFICATION HAS CHANGED解决方法: 如果提示信息如下: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...
- Yii2 数据库基本操作
//1.简单查询 $admin=Admin::model()->findAll($condition,$params); $admin=Admin::model()->findAll( ...
- (转)IOS 的一些资源汇总
UI界面类项目: Panoramagl —— 720全景展示 Panorama viewer library for iPhone, iPad and iPod touch MBProgressH ...
- bzoj4715 囚人的旋律
4715: 囚人的旋律 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 74 Solved: 48[Submit][Status][Discuss] ...
- BNU-2017.7.3排位赛1总结
比赛链接:https://www.bnuoj.com/v3/contest_show.php?cid=9146#info A题 国际象棋棋盘,黑白相间染色. B题 最大值只取决于每个连通块的大小,一个 ...
- jsp 的 4 种基本语法
1.JSP 注释 2.JSP 声明 3.JSP 表达式 4.JSP 脚本 JSP 注释: 注释格式: <%-- 注释内容 --%> 需要注意的是,JSP 的注释不会输出到 HTML 中. ...
- 手脱EXE32Pack v1.39
1.PEID查壳 EXE32Pack v1.39 2.载入OD,先F8跟一下 0040A00C > 3BC0 cmp eax,eax ; //程序入口点 0040A00E je short st ...
- kendalltau肯德尔和谐系数
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...
- 巧用Java中Calendar工具类
Java的JDK中提供了一系列好用的util工具类.Calendar就是java.util中用于处理日期的工具类.且该工具类易学易用实用. 工具类Calendar是抽象类. PS:为什么把Calend ...
- python---Scrapy模块的使用(一)
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中. Scrapy 使用了 Twisted异步网络库来处理网络通讯.整体 ...