Windows下Nginx Virtual Host多站点配置详解
Windows下Nginx Virtual Host多站点配置详解
此教程适用于Windows系统已经配置好Nginx+Php+Mysql环境的同学。
如果您还未搭建WNMP环境,请查看 windows7配置Nginx+php+mysql教程。
先说明一下配置多站点的目的:在生产环境中,如果将系统所有代码文件都放在公开目录中,则很容易被查看到系统源码,这样是很不安全的,所以需要只公开index.php的入口文件目录。而同一个服务器中,可能运行多个系统,这样就必须公开多个入口文件目录,以便用不同的域名访问不同的系统。所以这就需要使用virtual host实现多站点。
下面直接进入主题:
一.配置virtualhost多站点
以www.lee.com和www.lee1.com为两个栗子。
1. 定义站点域名。
首先修改系统hosts文件(hosts文件位于C:\Windows\System32\drivers\etc文件夹内)。在修改hosts文件之前要先确定有修改此文件的权限,鼠标右键hosts文件,点击属性,如下图所示点击编辑修改用户的权限为可以写入。
然后在hosts文件底部,仿照如下添加:(根据需求可随意添加)
127.0.0.1 www.lee.com
127.0.0.1 www.lee1.com
2. 创建站点公开文件目录,并创建测试文件
我设置的文件目录如图所示:

nginx文件夹为nginx相关内容,php为php相关内容。
其中lee和lee1位公开的两个文件目录,文件目录path和文件夹名可以根据站点域名做任意更改。
在lee和lee1文件夹中添加两个php文件用于测试。
在lee文件夹中添加index.php,并编辑内容为:
<?php
echo "www.lee.com<br/>";
echo phpinfo();
?>
在lee1文件夹中添加index.php,并编辑内容为:
<?php
echo "www.lee1.com<br/>";
echo phpinfo();
?>
3. 修改nginx.conf配置文件
在该配置文件中如下代码位置进行修改:(nginx.conf配置位于nginx/conf/文件夹内)
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias; # location / {
# root html;
# index index.html index.htm;
# }
#}
将上述配置代码修改为:
# another virtual host using mix of IP-, name-, and port-based configuration
#
#modify by lee 20160902 for virtual host www.lee.com -s
server {
listen 80;
access_log logs/lee.access.log;
error_log logs/lee.error.log;
server_name www.lee.com;
location / {
root C:/wnmp/lee;
index index.html index.htm index.php;
}
location ~ \.php$ {
root C:/wnmp/lee;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
#modify by lee 20160902 for virtual host www.lee.com -e
#modify by lee 20160902 for virtual host www.lee1.com -s
server {
listen 80;
access_log logs/lee1.access.log;
error_log logs/lee1.error.log;
server_name www.lee1.com; location / {
root C:/wnmp/lee1;
index index.html index.htm index.php;
}
location ~ \.php$ {
root C:/wnmp/lee1;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
#modify by lee 20160902 for virtual host www.lee1.com -e
其中server_name为hosts文件中设置的站点域名,access_log和error_log为日志文件,文件名做响应更改。
root为 步骤2设置的站点公开文件目录。
4. 测试
重启Nginx和php-cgi服务,启动方法详见我的上一篇文章------windows7配置Nginx+php+mysql教程 (步骤4(5))
打开浏览器,访问 www.lee.com

访问 www.lee1.com

VirtualHost多站点配置成功!
下一篇文章会是: Windows下Nginx配置Openssl实现Https访问(包含证书生成)
参考:http://www.jb51.net/article/27533.htm
Windows下Nginx Virtual Host多站点配置详解的更多相关文章
- Nginx+Tomcat的服务器端环境配置详解
这篇文章主要介绍了Nginx+Tomcat的服务器端环境配置详解,包括Nginx与Tomcat的监控开启方法,需要的朋友可以参考下 Nginx+tomcat是目前主流的Javaweb架构,如何让ngi ...
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- Hexo+NexT(二):Hexo站点配置详解
阅读本篇之前,假定读者已经有了Node.js的基础,如需要补充Node.js知识的,请自行百度. Hexo是在Node.js框架下的一个项目,利用Node.js提供的强大功能,完成从Markdown到 ...
- windows下nginx和php环境的配置
至于php的配置,与之前博文中使用apache服务器时一样. 对于nginx的配置,来看看如何修改配置文件: #user nobody; worker_processes ; #error_log l ...
- windows下Nginx反向代理服务器安装与配置
感谢慕课网Geely老师的讲解,本人将Nginx进行如下的总结. Nginx是一款轻量级的Web服务器,也是一款反向代理服务器,其主要特点:高稳定, 高性能,资源占用少功能丰富,模块化结构 支持热部署 ...
- Nginx概述、安装及配置详解
nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...
- CentOS 6.3下Samba服务器的安装与配置详解
一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的 ...
- 正向代理/反向代理理解、Nginx概述、安装及配置详解
一.Nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理, ...
- nginx反向代理原理及配置详解
nginx概述nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外n ...
随机推荐
- Atitit.提升 升级类库框架后的api代码兼容性设计指南
Atitit.提升 升级类库框架后的api代码兼容性设计指南 1. 增加api直接增加,版本号在注释上面增加1 2. 废弃api,使用主见@dep1 3. 修改api,1 4. 修改依赖import, ...
- 像素与rem转换
// rem尺寸转换函数开始(function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orienta ...
- 【模块化编程】理解requireJS-实现一个简单的模块加载器
在前文中我们不止一次强调过模块化编程的重要性,以及其可以解决的问题: ① 解决单文件变量命名冲突问题 ② 解决前端多人协作问题 ③ 解决文件依赖问题 ④ 按需加载(这个说法其实很假了) ⑤ ..... ...
- arcgis server10.2.2的安装步骤过程
1.找到ArcGIS Server软件包目录下的esri.exe,打开运行,选择安装ArcGIS for Server,见下图: 2.确定之后,会弹出让用户输入用户名和密码的界面,这个可以自己定义,但 ...
- iOS中延时执行的几种方式的比较和汇总
本文列举了四种延时执行某函数的方法及其一些区别.假如延时1秒时间执行下面的方法. - (void)delayMethod { NSLog(@"execute"); } 1.perf ...
- 一句话知识:如何解决winform自动缩放产生的布局问题.
转自http://www.cnblogs.com/KenBlove/articles/1281823.html有时候你会发现本来好好的WinForm程序在别的机器上显示的尺寸就不对了.这些问题主要发生 ...
- synthesize 与dynamic的区别
官方文档解释: @synthesize will generate getter and setter methods for your property. @dynamic just tells t ...
- 一步步搭建react-native环境(苹果OS X)
因重新升级了系统,一步步搭建react-native环境. 1.安装Homebrew 打开终端命令->ruby -e "$(curl -fsSL https://raw.githubu ...
- Python绘制PDF文件~超简单的小程序
Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http:// ...
- 关于UIApplication单例传值
由于UIApplication的是一个系统级别的单例,那么就能够省去自己创建单例的方法,将需要需要的类对象,在UIApplication单例内声明一个,通过点语法来实现单个 需要调用的实现单例模式的类 ...