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多站点配置详解的更多相关文章

  1. Nginx+Tomcat的服务器端环境配置详解

    这篇文章主要介绍了Nginx+Tomcat的服务器端环境配置详解,包括Nginx与Tomcat的监控开启方法,需要的朋友可以参考下 Nginx+tomcat是目前主流的Javaweb架构,如何让ngi ...

  2. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  3. Hexo+NexT(二):Hexo站点配置详解

    阅读本篇之前,假定读者已经有了Node.js的基础,如需要补充Node.js知识的,请自行百度. Hexo是在Node.js框架下的一个项目,利用Node.js提供的强大功能,完成从Markdown到 ...

  4. windows下nginx和php环境的配置

    至于php的配置,与之前博文中使用apache服务器时一样. 对于nginx的配置,来看看如何修改配置文件: #user nobody; worker_processes ; #error_log l ...

  5. windows下Nginx反向代理服务器安装与配置

    感谢慕课网Geely老师的讲解,本人将Nginx进行如下的总结. Nginx是一款轻量级的Web服务器,也是一款反向代理服务器,其主要特点:高稳定, 高性能,资源占用少功能丰富,模块化结构 支持热部署 ...

  6. Nginx概述、安装及配置详解

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  7. CentOS 6.3下Samba服务器的安装与配置详解

    一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的 ...

  8. 正向代理/反向代理理解、Nginx概述、安装及配置详解

    一.Nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理, ...

  9. nginx反向代理原理及配置详解

    nginx概述nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外n ...

随机推荐

  1. jquery返回顶部,支持手机

    jquery返回顶部,支持手机 效果体验:http://hovertree.com/texiao/mobile/6/ 在pc上我们很容易就可以用scrollTop()来实现流程的向上滚动的返回到顶部的 ...

  2. 带你使用h5开发移动端小游戏

    带你使用h5开发移动端小游戏 在JY1.x版本中,你要做一个pc端的小游戏,会非常的简单,包括说,你要在低版本的浏览器IE8中,也不会出现明显的卡顿现象,你只需要关心游戏的逻辑就行了,比较适合逻辑较为 ...

  3. React-Native性能优化点

    shouldComponentUpdate 确保组件在渲染之后不需要再更新的,即静态组件,尽量在其中增加shouldComponentUpdate方法,防止二次消耗所产生的性能消耗 shouldCom ...

  4. iOS 多线程GCD的基本使用

    <iOS多线程简介>中提到:GCD中有2个核心概念:1.任务(执行什么操作)2.队列(用来存放任务) 那么多线程GCD的基本使用有哪些呢? 可以分以下多种情况: 1.异步函数 + 并发队列 ...

  5. 国内好用的maven仓库,添加到本地nexus中

    速度快的maven仓库真的难找,国外网站很多被封了.前天在网上找,有人说阿里有个公开的,速度很快.确实很快! 我添加到本地nexus中,结果不能更新索引,我是这么添加的,如下: 这个地址在浏览器中能够 ...

  6. ArcGIS中的坐标系统定义与投影转换【转】

    ArcGIS中的坐标系统定义与投影转换 坐标系统是GIS数据重要的数学基础,用于表示地理要素.图像和观测结果的参照系统,坐标系统的定义能够保证地理数据在软件中正确的显示其位置.方向和距离,缺少坐标系统 ...

  7. 安装gem所需知道的

    1 在中国rubygem源被墙了,所以不管是gem install 还是bundle install都需要修改默认的源,淘宝和ruby-china都提供了源. gem source -r http:/ ...

  8. svn报错:“Previous operation has not finished; run 'cleanup' if it was interrupted“ 的解决方法

    今天改完代码提交时,提交接近完成但窗口还未关闭电脑蓝屏了.夏天来了,电脑比人还怕热啊~~~   心里咯噔一下,估计svn又会出一些莫名其妙的问题了. 果然,待电脑重启后开eclipse,文件还是新增状 ...

  9. ORA-14452的出现原因解析及解决方法

    在删除临时表时遇到了ORA-14452错误:ORA-14452: attempt to create , alert or drop an index on temporary table alrea ...

  10. 烂泥:阿里云RDS本地恢复数据

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 公司目前使用的数据库是阿里云的RDS,目前RDS的版本为mysql5.6.如下: 现在要 ...