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

时间: 2024-08-01 22:37:46

Windows下Nginx Virtual Host多站点配置详解的相关文章

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

这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # yum install pcre* //如过你已经装了,请跳过这一步 2.安装openssl 需要ssl的支持,如果不需要ssl支持,请跳过这一步 复制代码代码如下: # yum install openssl* 3.gzip 类库安装 复制代码代码如下: yum install zlib zlib-

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

这篇文章主要介绍了Nginx+Tomcat的服务器端环境配置详解,包括Nginx与Tomcat的监控开启方法,需要的朋友可以参考下 Nginx+tomcat是目前主流的Javaweb架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1.Java JDK安装: #下载相应的jdk软件包,然后解压安装,我这里包名称为:jdk-7u25-Linux-x64.tar.gz ? 1 tar -xzf jdk-7u25-linux

PHP100-第二讲 PHP5.4 Apache Mysql 搭配与多站点配置详解

PHP5.4环境搭配基本流程 关于新版的PHP环境的一个搭配过程,与之前的 php5.3.x 没有太大差异, 这次使用的环境搭配组建包括: httpd-2.2.21-win32-x86 mysql-5.5.18-win32 php-5.4.0RC4-Win32-VC9-x86 //================= LoadModule php5_module "c:/www/php54/php5apache2_2.dll" AddType application/x-httpd-ph

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

阅读本篇之前,假定读者已经有了Node.js的基础,如需要补充Node.js知识的,请自行百度. Hexo是在Node.js框架下的一个项目,利用Node.js提供的强大功能,完成从Markdown到静态网页的转换. NexT是Hexo项目下的一个主题插件,提供可高度定制的页面外观. 本文章对Hexo站点配置文件_config.yml中的配置进行详细的讲解. Hexo博客专题索引页 1. Hexo站点配置文件详解 Hexo版本为3.8.0,版本不同可能有不同 # Hexo Configurati

Nginx服务器搭建和基本配置详解

nginx Nginx(engine X) 是一个高性能的 HTTP 服务器和反向代理服务器,这款软件开发的目的是为了解决 C10k 问题. Nginx 的架构利用了许多现代操作系统的特性,以实现一个高性能的 HTTP 服务器.例如在 Linux 系统上,Nginx 使用了 epoll,sendfile,File AIO,DIRECTIO 等机制,使得 Nginx 不仅性能高效,而且资源占用率非常低,官方宣称 nginx 维持 10000 个非活动的 HTTP keep-alive 连接仅需要

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

一.Nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现.这里主要通过三个方面简单介绍nginx:反向代理.负载均衡.nginx特点 1.反向代理 关于代理:说到代理,首先我们要明确一个概念,所谓代理就是一个代表.一个渠道: 此时就涉及到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问

Nginx的工作原理和配置详解

一.Nginx简介 Nginx (pronounced engine-x) is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. Igor Sysoev started development of Nginx in 2002, with the first public release in 2004. Nginx now hos

32位windows下Nginx的简单使用及配置

前几天工作中和前端部门的同学配合时遇到一个问题:前端同学调用服务器端接口时,服务器端接口获取不到cookie.项目是前后端分离,服务器端使用spring mvc提供java接口,前端使用nginx做反向代理解决跨域问题,前端框架使用vue. 当时由于对ngix不太了解,只知道前端同学使用nginx做反向代理时,在测试环境配置的是ip+端口号的方式访问接口,于是就误以为是没有通过域名访问接口,所以服务器端接口才获取不到cookie.还理所当然的找前端同学"纠正错误",经过一番排查,最终发

Nginx干货(二)配置详解

此篇就不矫情了.直接上个配置吧.以后若有更新,继续修补 /usr/local/nginx/conf目录下面的nginx.conf文件 以用户nginx的身份来运行 user nginx; 启动进程,通常设置成和cpu数量相等 worker_processes 10; 全局错误日志 error_log logs/error.log; error_log logs/error.log notice; error_log logs/error.log info; Pid文件存放路径 pid /var/