怎么用iisexpress 8.0 把自己的电脑当成虚拟主机

   我以前谈到过,WebMatrix(IIS Express)搭建.net 开源CMS系统方法。使用了WebMatrix 2.0+ IIS Express 8.0建立自己的网站。

  现在要把它变成虚拟主机,需要改进的部分有:

  1、多个网站,以及1个网站的多个iisexpress访问(伪IIS服务器集群 )。

  2、iisexpress 用管理员方式自动启动。


 1、修改默认配置即可,也可以直接  WebMatrix

  默认配置文件位于:[我的文档]\IISExpress\config\applicationhost.config。记事本打开找到<sites></sites >: 

手工添加

  <site name="程序站点名" id="2">
 <application path="/" applicationPool="Clr4IntegratedAppPool">
  <virtualDirectory path="/" physicalPath="程序路径" />
 </application>
 <bindings>
      <binding protocol="http" bindingInformation="*:8085:192.168.1.1" />

 </bindings>
</site>

  要注意的是,每个网站的名字和端口要保证完全不一样,可以用不同的网站指向同一个目录来实现伪集群。

  如法炮制,完全可以做到 运行9个 iis express进程,分别侦听在8080~8089端口,这样能满足实际服务器集群。


  2、 用管理员方式自动启动

  如果要做虚拟主机需要开机启动,iisexpress没有服务启动的方式,解决方法很多,我使用C#制作windows服务的方式,

新建一个C#windows服务项目,写入代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;

namespace WindowsServiceIISexpress
{
    public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }
        System.Diagnostics.Process Proc;
        protected override void OnStart(string[] args)
        {
            System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
            //设置外部程序名 
            Info.FileName = @"C:\Program Files\IIS Express\iisexpress.exe";
            //设置隐藏窗口 
            Info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            //设置外部程序的启动参数(命令行参数)为test.txt 
            Info.Arguments = "/site:JumboTCMS.luozhuang /systray:true ";
           
            //声明一个程序类 
            
            try
            {
                // 
                //启动外部程序 
                // 
                Proc = System.Diagnostics.Process.Start(Info);
            }
            catch (System.ComponentModel.Win32Exception exc)
            {
                Console.WriteLine("系统找不到指定的程序文件。\r{0} ", exc);
                return;
            } 
        }

        protected override void OnStop()
        {
            if (Proc == null)
            {
                return;
            }
            Proc.Close();
        }
    }
}


  然后把这个制作成服务,人员选择系统管理员,一般来说是Administrator,要注意的是,尽量保证Administrator账户启用和设置密码,不要空密码Administrator账户启动服务。

  技术要点:

  1、C#创建windows服务

  2、windows服务的登录身份改为系统管理员,即Administrator

  3、Administrator账户启用( 我印象中win7默认停用的)

  这些技术希望大家baidu 查询怎么完成,这里不再详细叙述。


  大家还要注意的一点就是,上面程序默认IIS express 默认配置目录是 Administrator\[我的文档]\IISExpress\config\applicationhost.config,如果你需要修改配置,请参考IISexpress.exe 命令行

  命令行介绍


 iisexpress [/config:config-file] [/site:site-name] [/systray:boolean]

 如:

  F:/Projects/IIS Express/iisexpress.exe /config:F:/Projects/luozhuang/applicationhost.config /systray:true /site:luozhuang.web

  然后对上面的程序进行修改。


  本人测试系统平台:

  windows server 2012

  iisexpress 8.0

 Visual studio 2012 express

  Sql server 2008R2 express

 测试web应用:

  JumboTCMS

  discuz!NT

  通过。

你可能感兴趣的:(虚拟主机,IISExpress)