日期:2014-05-16  浏览次数:21601 次

用IIS发布网站

用IIS发布网站
2010年07月15日
  1,安装iis(网络上下载iis安装包,5.1版本适合sp3,我的系统是sp3的,安装无数次都没问题)
  解压iis安装包 点击→ 添加删除windows组件 选中→ Internet信息服务(iis) 点击详细信息 全部勾选 (Internet信息服务(iis)的子组件) 点击下一步→浏览到你的安装包,开始安装。 如果弹出提示,就在iis安装包里选中要安装的文件,好像有什么.dll的文件,总之提示你要什么文件,你就在安装包里找什么文件,都有的。如果出现(正常运行windows 所需的文件已被替换成无法识别的版本。要保持系统的稳定,windows 必须还原这些文件的原有版本)这个对话框,不用鸟他。 安装完成。  2,安装framework sdk v2.0  傻瓜式安装(如果你安装了vs就不用安装了,vs已经安装了framework)
  3,拷贝网站文件夹
  路径随便,如果你安装了vs,你的网站默认路径就是D:"My Documents"Visual Studio 2005"WebSites,没有安装vs的话,随便你放哪里。
  4,点击开始→程序→管理工具→intern信息服务→→右键点击默认网站 →新建虚拟目录 →名字随便 → 目录路径就是你的网站文件夹放哪里就设置在那里。(这个骤可以不做,不建立虚拟目录也可以的)
  好了之后,在右键点击默认网站→ 属性→在主目录选项 →设置本地路径→浏览到你的网站文件夹目录(设置路径是肯定要的)
  5,点击windows防火墙→ 点击高级→ 点击第一个设置 → 勾选 web服务器http
  补充:我遇到的问题
  1,设置好iis,输入主机ip,出现一个登陆框,要用户名密码,别人都说去iis设置什么权限,其实是自己的iis的主目录路径没设置。参见4,如果你看你iis的默认网站的主目录选项里的本地路径是C:"Inetpub"wwwroot,那就是没设置路径了,按照4的方法设置下就可以了,不会在出现登陆框了。
  2,自己的机子做服务器,输入本机ip可以浏览,而同一个局域网的别的机子输入ip无法访问,而且局域网内的机子都可以ping的通。那就是web服务器没勾选。参见5,在防火墙选中web服务器http就可以了。
  3,当你卸载了iis,在重新安装,发现网站无法浏览了,如果你的机子没安装vs,就安装了framework sdk v2.0,那请你把framework sdk v2.0也卸载,然后安装iis,在安装framework sdk v2.0就可以了。具体为什么会这样我不晓得,网络上都说iis要先安装,在安装framework sdk v2.0,或者是vs,如果先安装了vs,就重新注册下,解决的方法是在命令行窗口(开始--运行--cmd)中输入"C:"WINDOWS"Microsoft.NET"Framework"v2.0.50727"asp net_regiis.exe -i"。这样问题就解决了。这样,在IIS中就注册完成了。
  或者点开始--程序--Microsoft Visual Studio .net 2005--Visual Studio Tools--Visual Studio 命令提示行 
  在里面写aspnet_regiis.exe -i
  如果Microsoft.NET Framework是1.1版本的话,路径改为对应的路径,也是在在C:"WINDOWS"Microsoft.NET 
  即是输入C:"WINDOWS"Microsoft.NET"Framework"v1.1.4322"aspne t_regiis.exe -i
  反正记住,如果服务器没安装vs,卸载了iis的同时也要卸载framework sdkv2.0 
  然后在安装iis,在安装framework sdk v2.0,有安装vs,就直接卸载iis,在重装iis就可以了。
  4,局域网访问都没问题,在公网访问,无法访问。这里就不是iis的问题了,这个就是说明在公网也就是外网如何架设iis服务器了。
  反正也写了很多了,写了吧。
  公网架设iis服务器
  1,服务器设置固定ip,进入路由器设置,映射80端口,iis的端口是80。(其实路由器映射80端口,不是给服务器,是给外网,外网可以理解成猫猫什么的)
  2,做测试,输入自己的外网ip,随便找个测速网站,如:www.ip138.com,都可以得到自己的外网ip。当然,你得在别人的机子上测试,因为在自己的机子上,是不能输入自己的外网ip测试的。可以叫别人输入ip,帮你测试。
  3,如果电信给你的是固定ip,那接下来的,你就不用看了。如果不是(一般来说,都是动态的ip吧,呵呵)那就申请个域名,免费的域名很多。然后使用花生壳之类的软件绑定你的动态ip,也可以理解成解析你的域名,更新域名绑定的ip(说都是这么说,理解的话,就不是绑定动态ip这几个字了)
  4,随便提下花生壳的原理(觉得我在做广告就不用往下看了)
  花生壳的原理就是,你登录花生壳软件,花生壳的服务器就得到你的外网ip,每次登陆,每次都得到,所以是动态ip也能解决了,然后,花生壳服务器就更新你的域名的ip地址。所谓的域名访问也就是ip地址访问,因为有动态ip,因为ip不好记,所以才有域名,呵呵,我乱说的。
  以上,我不敢说能解决你的所有问题,能给你帮助就好了,因为网站是会遇到很多想不到的问题的。我也是自己做网站的,很多网络上的问题也都遇到过,找了很多解决方法,最后才解决的,的确网络上的答案未必都能帮你解决问题,供你参考就好了。
  如何查看IIS的80端口被占用?(以下为转载)
  开始--运行--cmd,进入命令提示符,输入netstat -ano即可看到所有连接的PID。之后,在任务管理器中找到这个PID所对应的程序。如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"。
  经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用
  假如我们需要确定谁占用了我们的80端口
  1,Windows平台  在windows命令行窗口下执行:
  C:\>netstat -aon|findstr "80" TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448  看到了吗,端口被进程号为2448的进程占用,继续执行下面命令: C:\>tasklist|findstr "2448" thread.exe 2016 Console 0 16,064 K  很清楚吧,thread占用了你的端口,Kill it。
  如果第二步查不到,那就开任务管理器,看哪个进程是2448,然后杀之即可。
  如果需要查看其他端口。把80改掉即可
  补充:原来出现这个错误原因(httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.111 for ServerName)是因为DNS没配置好。如果不想配置DNS, 就在httpd.conf,在最前加入ServerName localhost:80 即可。
  转自:http://hi.baidu.com/vhshiwen/blog/item/d37e902aa8e c0d345343c18f.html