如何使用IIS发布服务

如何使用IIS发布服务,第1张

把做好的网页,保存放在iis目录下,比如C:\Inetpub\wwwroot\iis,然后在iis管理器里,建立这个目录的虚拟目录,用http://localhost/目录名/访问,就可以了。

Internet Information Services(IIS,互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互粗逗联网基本服务。最初是Windows NT版本的可选包,随后内置在Windows 2000、Windows XP Professional和Windows Server 2003一起发行,但在Windows XP Home版本上并没有IIS。

IIS是Internet Information Services的缩写,是一个World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS意味着你能发布网页,并且有ASP(Active Server Pages)、JAVA、VBscript产生页面,有着一些扩展功能。IIS支持一些有趣的东西,像有编辑环境的界面(FRONTPAGE)、有全文检索功能的(INDEX SERVER)、有多媒体功能的(NET SHOW) 其次,IIS是随Windows NT Server 4.0一起提供的文件和应用程序服务器,是在Windows NT Server上建立Internet服务器的基本组件。它与Windows NT Server完全集成,允许使用Windows NT Server内置的安全性以及NTFS文件系统建立强大灵活的Internet/Intranet站点。IIS(Internet Information Server,互联网信息服务)是一种Web(网岩伍卖页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和橘渣邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。

一、NCSA Server

二、CERN httpd

三、Netscape Server

四、IIS

一、设置NCSA Server或Apache Server以使用CGI

NCSA Server的CGI1.1只允许用下列两种方式激活用户服务器上的脚本:ScriptAlias指令和AddType指令。这两条指令都放在srm.conf文件中,该文件一般在用户的服务器根目录的conf目录中。

ScriptAlias指令告诉服务器该目录中的所有文件都是脚本或者是服务器作为CGI文件执行的程序。该方法能保证用户的CGI程序在特定位置。AddType指令允许用户告诉服务器任何具有指定前缀的文件都是可执行文件。如果希望将CGI程序放在服务器中任何地方的话该指令即很有用。

1、ScriptAlias指令

ScriptAlias指令位于Server Resource Map文件(srm.conf)中,程序内容例如下:

DocumentRoot /usr/local/etc/httpd/htdocs

UserDir public_html

REdirect /HTTPD/ http://www.server.com/

Alias /icons/ /usr/local/etc/httpd/icons/

ScriptAlias /cgi-bin/ /usr/local/etc/httpd/cgi-bin/

DirectoryIndex index.html index.shtml index.cgi

IndexOptions FancyIndexing

AddIcon /icons/movie.gif .mpg .qt

AddIcon /icons/menu.gif

AddIcon /icons/blank.xbm

DefaultIcon /icons/unknown.xbm

IndexIgnore */.??* *~ *# */HEADER* */纤备README*

DefaultType text/备中plain

AccessFileName .htaccess

srm.conf文件允许用户根毁滚毁据自己系统需要设置HTTP Server。它允许用户告诉服务器用户的主页在什么地方,目录中的哪个文档是索引文档,如果不存在索引文件的话将装载什么图片文件以显示文件的类型,等等。srm.conf及其他配置文件的说明可查阅http://www.nease.net/tppmsgs/msgs0.htm#34。

2、AddType指令

AddType指令是执行CGI程序的另一种方式,它是在srm.conf文件中加入下列行:

AddType application/x-httpd-cgi.cgi

在自己的系统中设置了该指令后,任何在服务器控制范围内的扩展名为.cgi的文件都会被作为CGI程序执行而不是作为文本文件阅读。这意味着用户可以在他的个人目录中创建脚本并能执行它。但是如果脚本写得不正确,就可能导致对文件系统、口令文件等的不同类型伤害。

AddType指令可以扩展为允许扩展名不是.cgi的程序同样被执行。大家经常会看见以.pl(Perl脚本的常见扩展名)或.sh(Bourne Shell脚本的常见扩展名)结尾的脚本。如果想支持其他扩展名的程序,只需简单地将它们加入AddType指令中,如下所示:

AddType application/x-httpd-cgi .cgi .pl .sh

3、访问配置文件

为了支持CGI程序的执行必须多加入一条指令。在Server Root/conf目录中是一个名为access.conf的配置文件。该文件允许用户设置ServerRoot下的哪个目录能够访问的全局限制,甚至允许用户控制哪些站点可以访问这些目录。下面是access.conf文件的一个例子:

<Directory /usr/local/etc/httpd/cgi-bin>

Options INdexes Exec CGI

</Directory>

<Directory /usr/local/etc/httpd/htdocs>

Options Indexes FollowSymLinks

AllowOverride All

<Limit GET>

order allow,deny

allow from all

</Limit>

</Directory>

Exec CGI表示允许执行该目录中的CGI脚本。Options Indexes FollowSymLinks表示允许索引(显示某文件夹中的内容)并能够遵循符号链(这就意味着在ServerRoot之外的文件也能被访问)。AllowOverride指令允许用户决定哪个指令可以被目录的.htaccess文件覆盖。中设置了对该目录中允许使用GET方式的限制。在HTTPD中,部分指令的选项是GET、POST和PUT(目前PUT尚未实现)。order allow,deny一行告诉服务器先找allow行再找deny行。下一行则是告诉服务器允许所有站点访问该目录中的页面。

二、设置CERN HTTP服务器以使用CGI

CERN HTTP服务器(也称为W3C HTTP服务器)仅需要编辑/etc/httpd.conf文件即可支持在服务器内使用CGI程序。这个指令类似于NCSA Server使用的指令:

Exec /url-prefix/* /physical-path/*

其中/url-prefix/定义了客户能看见的路径,而/physical-path/则是包含脚本的目录的实际路径。

三、设置Netscape以使用CGI

首先要启动管理服务器。以root身份登录,并运行/ServerRoot/admserv/start-admin,缺省端口为81。然后启动浏览器连接。在Netscape Admin页面中,单击Select URL Mapping,从d出窗口中选择Map a URL to a Local Directory。然后单击Select CGI and Server Parsed HTML,从d出窗口中选择Activate CGI as a File Type。现在即可单击Browse Files并选择欲激活的目录。选择完目录后,单击I'd Like to Activate CGI as a File Type。在ServerRoot中即会看到Conf目录中的obj.conf配置文件中已加入了下列行:

NameTrans form="/cgi-bin" fn="pfx2dir" dir="/usr/local/web/cgi-bin" name="cgi"

name=cgi调用了下列行:

<Object name="cgi">

ObjectType fn="force-type" type="magnus-internal/cgi"

Service fn="send-cgi"

</Object>

它告诉服务器此为一个CGI目录,其中的所有文件都将用Netscape内部提供的CGI执行。 四、设置IIS以使用CGI

在IIS上运行CGI有十个简单的步骤:

1)安装Internet Service Manager。

2)从列表中选择WWW Servive。

3)选择Properties/Service Properties命令。

4)单击Directories标签。

5)单击Add按钮。

6)指定自己的cgi-bin目录的完整路径(例如,c:\webfiles\scripts)。

7)使用/scripts作为目录别名。

8)选中Execute检查框。

9)单击OK保存修改。

10)将自己的CGI程序放在c:\webfiles\scripts中并在HTML中作为/scripts/someprogram.exe引用。

在使用IIS时经常出现的问题与设置IIS没太大关系而是和基本的 *** 作系统功能有很大关系。IIS与底层的 *** 作系统联系很紧密,即使已经设置为服务,Web服务器基本上是作为应用程序来运行的,通常只有一个用户安全环境,Web服务器能访问到的与Web服务器下的CGI程序能访问到的内容几乎没什么不同(这类似于UNIX环境,在UNIX环境下,很重要的一点就是不要将Web服务器作为root来运行)。IIS的工作很像一个扩展的文件系统。每个用户有自己的权限。CGI程序在执行该程序的访问者的用户安全环境中运行。对于未验证的页面,这就是缺省提供的“无名的”用户,而对验证的页面,安全环境就像用户位于服务器控制台前手工运行该程序一样。使大部分初学者犯错误的正是这种额外的安全层次。

IIS管理员最常抱怨的一个错误信息是"The Application misbehaved by not returning a complete set of headers"。错误消息接下来列出服务器接收到的头标--一般是个空的清单。这种讨厌的不明确的错误有一个直接的原因,不过这个原因与CGI脚本的错误 *** 作没有一点关系。如果因为某种原因某个CGI脚本不能运行,它就不能产生任何头标。IIS将错误的责任推在脚本身上,实际上却几乎总是服务器管理员的错。CGI脚本需要访问系统DLLs、系统的临时目录以及它们使用的任何其他资源。如果该脚本是按静态约束进行编译的,那么除非所有组件均可用,否则 *** 作系统不会装载该程序的。如果系统管理员锁紧了安全级使得脚本不能装载它的DLLs,那么脚本就不能运行。当脚本不能运行时,它也就不产生任何头标了(或者其他的输入),从而导致出现本段开头引用的错误消息。

如果管理员是在一个安全目录中运行脚本的(安全目录即是一个需要单独用户验证才能访问的目录),那么每个可能访问系统的用户都必须有下列安全权限。如果是无名地运行脚本,那么只有无名用户需要这些权限:

.对%systemroot%system(一般为c:\winnt\system)的读权限

.对%systemroot%system32(一般为c:\winnt\system32)的读权限

.对临时目录(一般为c:\temp)的修改权限

.对Web根的读权限

.对CGI目录的修改权限

如果在有了这些访问权限之后仍然出问题,可以进一步临时给特殊的用户帐号Everyone赋予这些目录的修改权限。如果问题解决了,就可以认定是少了一个步骤(或一个用户)。纠正问题然后慢慢回收权限直至服务器重新安全。

a、在 控制面板->程序和功能->打开者肆或关闭Windows功能.找到 "Internet 信息服务",并将其子集全部打上勾.

这里的 Internet 信息服务的英文缩写 其实就是 IIS .

这一步 *** 作其实就相当于是开启了 IIS 功能.b在开启 IIS 后,到 控制面板->管理工具->Internet信息服务(IIS)管理器,双击打开一个新的控制面板.

c找到 网首基轿站->Default WebSite->添加应用程序

d填写应用程序的别名,应用程序池默认就可以,物理路径选择上篇文章中建立Webservice时所保存的锋判路径.

到这里还有一步 *** 作. 点击 "连接为" 按钮 e选择 特定用户, 点击右边的 "设置" 按钮 , 填写凭据信息,这里填写你电脑的用户名跟密码,用户名一般默认都是 administrator

f填写好证据后,点击 "测试设置" 按钮. 在测试连接里面,如果 "身份验证"跟"授权"前面都打了绿色的勾,那么说明配置成功.

这一步是对于 IIS 访问权限的配置.也就是获得系统管理员权限.

g找到 IIS 选项里面的 "目录浏览" , 双击打开新面板.

i点击选择最右边侧面的 "启用" 按钮.

这里的启用可以让我们有浏览应用程序内部文件目录的权限.j点击右侧的 浏览应用程序

k在后面加上我们上一篇文章里新添加的"一般处理程序" Handler1.ashx

就可以访问到我们刚发布到 IIS 的网站.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12350964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存