IIS部署常见问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IIS部署常见问题
一、IIS7.0部署
1、打开服务器管理器
运行‘开始/程序/管理工具/服务器管理器’菜单,打开如下窗体:
2、选择服务器角色
在上图的左窗体中,选择‘角色’,右键菜单选择‘添加角色’(或右窗体中点添加角色图标),添加角色窗体如下:
3、选择角色服务
在上图的服务器角色列表中选择‘Web服务器(IIS)’,点‘下一步’,在角色服务列表中,选择‘角色服务’;
说明:
除了默认选中的选项之外,还需再添加‘应用程序开发’和‘IIS 6 管理兼
容性’,如下图红线框中所示:
应用程序开发
IIS 6 管理兼容性
4、确认安装选择
5、确认安装信息
确认安装信息正确无误后,点‘安装’按钮,进行安装;
6、安装结果
7、验证默认IIS7.0
开始/程序/管理工具/Internet 信息服务(IIS)管理器,如下图:
左侧服务器下右击默认网站‘Default Web Site’选择右键菜单‘管理网站/浏览’,打开IE浏览器如下显示,表示IIS7.0基本功能正常,如下图:
二、相关参数设置及常见问题
1、安装一卡通门户网站
运行门户网站安装包ZYTK3X_Portal.exe/SCP_Portal.exe,根据安装的提示向导一步一步往下安装,安装完成后进行添加网站、修改配置文件等设置。
2、添加网站
2.1、ZYTK
3.2
在服务器下选择网站,右键菜单选择‘添加网站’,如下图:
输入网站名称,物理路径:D:\ZYTK32\ZYTK32Portal\Zytk32Portal
2.2、ZYTK
3.5
在服务器下选择网站,右键菜单选择‘添加网站’,如下图:
C:\inetpub\wwwroot\ZYTK35\ZYTK35Portal\Zytk35Portal
3、启动ZYTK32\ZYTK35网站
右键ZYTK32\ZYTK35网站,选择右键菜单‘管理网站/启动’。
右键ZYTK32\ZYTK35网站,选择右键菜单‘管理网站/浏览’,报错如下图:
4、修改应用程序池托管管道模式
4.1、ZYTK3.2
服务器上选择‘应用程序池’,在右侧列表中,双击‘ZYTK32’,修改‘托管管道模式’为经典,如下图:
4.2、ZYTK3.5
服务器上选择‘应用程序池’,在右侧列表中,双击‘ZYTK35’,修改‘托管管道模式’为经典,如下图:
4.3、ZYTK3.2
服务器上选择‘应用程序池’,在右侧列表中,双击‘Classic .NET AppPool’,修改‘托管管道模式’为‘经典’,如下图:
4.4、ZYTK3.5
服务器上选择‘应用程序池’,在右侧列表中,双击‘Classic .NET AppPool’,修改‘托管管道模式’为‘经典’,如下图:
4.1、未装水晶报表报错:
服务器端
当出现如上图报错时,则先检查是否安装水晶报表程序(32位)、是否启用,门
户网站服务IP是否被授权。
4.2、HTTP错误404.17-Not Found
iis7(Framwork4.0)环境下,报错如下:
解决办法:cmd 后,重装一下 (4.0.30319),命令如下:
C:\WINDOWS\\Framework\v4.0.30319\aspnet_regiis.exe -i
4.3、未装.NET Framewor 4.0报错
解决办法:
安装.NET Framework 4.0,然后在internet信息服务(IIS)管理器中,在‘应用程序池’中,双击‘SelfHelpManagementWeb’编辑应用程序池,.NET Fromewor版本选择‘.NET Framewor v4.0.30319’,拖管管道模式选择‘经典’,确定;
4.4、HTTP错误404.2-Not Found
解决办法:
选择网站根节点,如:APPSERVER03(APPSERVER03\Administrator),在窗体中间双击‘ISAPI 和CGI限制’图标,右键‘允许’
C:\Windows\\Framework\v4.0.30319\aspnet_isapi.dll; (或双击
v4.0.30319,选中复选框:允许执行扩展路径(A)),请选择\Framewor(是32位而不是64位)即可,如下图:
5、安装水晶报表CRforVS_13_0_2
双击”水晶报表CRforVS_redist_install_32bit_13_0_2.zip”程序,下一步。
安装成功;
如何系统是64位,请选择64位水晶报表进行安装。
6、启用
选中ZYTK32\ZYTK35网站,在右窗中双击‘身份验证’,在身份验证窗体的下拉列表中选择‘模拟’,在右侧操作窗中选择‘启动’。
7、检查一卡通门户网站服务器IP是否已被授权
打开ZYTK32服务目录下的配置文件ZYTK_AppConnectService.exe.config,检查一卡通门户网站IP是否已经被授权,内容如下:
<provider type="Zytk.AppConnect.SecureServerChannelSinkProvider,
AppConnect" algorithm="DES" oaep="false" requireSecurity="true"
securityExemptionList="192.168.1.10" connectionAgeLimit="120" sweepFrequency="60" /> <formatter ref="binary" />
<provider ref="router" name="exmaple" />
8、默认文档设置
选择ZYTK32网站,选择右窗体中双击‘默认文档’,选中‘default.aspx’,操作窗体中上移至第一位,如下图:
9、本机浏览ZYTK32网站
右键ZYTK32网站,选择右键菜单‘管理网站/浏览’,如下图:
10、远程客户端PC机浏览ZYTK32\ZYTK35网站
打开IE输入一卡通门户网站服务器IP,如:http://192.168.1.10/default.aspx
11、试图加载格式不正确的程序(在64位OS下运行32位项目)
即:SCPWeb在Win2008R2 64位系统上部署时,客户端WEB访问时,碰到的问题如下:
服务端浏览时,报错信息为:试图加载格式不正确的程序。
(详细未记录未截图)
【问题分析】
程序集之间的通讯要么全是64位环境下的,要么全是32位环境下的。
不能混编访问。
不然会出现“试图加载格式不正确的程序”的错误。
【解决方案】
C/S:
运行C/S程序比较简单,直接在Build C/S程序的时候显式指定为X86(64位系统默认为X64)就可以了。
B/S:
运行B/S稍稍复杂点。
在建立网站的时候,又分为两种情况。
A:建立的是“项目”:这个时候跟C/S 的处理是一样。
【SCPWEB解决方案】
B:建立的是“网站”:只需要修改IIS的配置就可以了。
(1)运行引号内的命令行“cscript %systemdrive%\inetpub\adminscripts\adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1”(enable32bitapponwin64为1代表可运行32位应用程序),该项可以通过“命令行”执行一次。
(此命令的作用是使IIS能够注册32位的.net FW)
(2)64位OP默认是在IIS下注册了64位的.net Framework的,因此还必须再注册一个32位的.net Framework。
C:\WINDOWS\\Framework\v4.0.30319>aspnet_regiis.exe -i
若.NET4.0安装在前,IIS后安装在后,这一步可以省略,反之则需要操行第(2)步。
12、增加IIS_IUSRS和Network Service用户在网站所在目录的权限
前端配管中心WEB界面中,如钱包导出时,提示如下:
error:Access to eht path 'C:\inetpub\wwwroot\SCPWeb\TmpFile'is denied.
【解决方案】
增加IIS_IUSRS和Network Service用户在网站所在目录的权限,找到SCPWeb部署的
目录,右键属性,选安全标签页。
把 NETWORK SERVICE 和IIS_IUSRS 用户的写权限加入到列表中即可。
12、Could not load file or assembly 'AppConnect' or one of its dependencies. 试图加载格式不正确的程序。
在Windows2008R2 64位系统中,部署网站时,遇到如下问题的解决办法,错误截图如下:
详细信息如下:
Server Error in '/' Application.
Could not load file or assembly 'AppConnect' or one of its dependencies. 试图加载格式不正确的程序。
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.BadImageFormatException: Could not load file or assembly 'AppConnect' or one of its dependencies. 试图加载格式不正确的程序。
Source Error:
Assembly Load Trace:The following information can be helpful to determine why the assembly
'AppConnect' could not be loaded.
Stack Trace:
[BadImageFormatException: Could not load file or assembly 'AppConnect' or one of its dependencies. 试图加载格式不正确的程序。
]
System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) +567
System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +192 System.Reflection.Assembly.Load(String assemblyString) +35
pilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +118
[ConfigurationErrorsException: Could not load file or assembly 'AppConnect' or one of its dependencies. 试图加载格式不正确的程序。
]
pilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +11392147
pilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +484
System.Web.Configuration.AssemblyInfo.get_AssemblyInternal() +127
pilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +334
pilation.BuildManager.CallPreStartInitMethods() +280
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1087
[HttpException (0x80004005): Could not load file or assembly 'AppConnect' or one of its dependencies. 试图加载格式不正确的程序。
]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11524352
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +11356670 Version Information: Microsoft .NET Framework Version:4.0.30319; Version:4.0.30319.1
解决办法:
WIN2008的应用程序池, v4.0 Classic的操作列表中,选择‘高级设置’,‘启用32位应用程序’设置为True,即可。
如下截图:
13、Errore HTTP 404.2 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理
出现这种情况的原因通常是因为先安装了Framework,后安装的IIS;
解决方案:
运行cmd,输入:
C:\Windows\\Framework\V4.0.30319\aspnet_regiis -i
注:C:\Windows\\Framework\V4.0.30319\ 是netframework安装对应的路径;
14、IIS7 文件写入权限
增加IIS_IUSRS和Network Service用户在网站所在目录的权限
14.1、不添加会出现类型打开报表报错的情况:
SCP打开报表时,提示:
error:Access to the path 'C:\inetpub\wwwroot\SCP_AccessUnitWeb\TmpFile' is denied.
14.2、文件不能导出等一系列问题;
15、SCPWEB在IIS7上部署时报HTTP错误500,404.2
(1)页面无法打开
(2)HTTP 错误 500
(3)HTTP 错误 404.2
解决方案:
(1)应用程序池使用 .net 4.0版本的经典模式
(2)IIS管理的根目录-->安全性-->ISAPI和CGI限制-->把所有的 4.0 限制,设置为允许
16、IE客户端初次访问时无法下载正元读卡控件文件:SCPSecPkg.EXE
Windwos 2003服务器下部署IIS时注意事项:
(1)纯脚本
网站属性/主目录标签页下执行权限选“纯脚本”
//说明:若选择‘脚本和可执行文件’在下载控制件时超时,提示如下:
CGI Timeout
The specified CGI application exceeded the allowed time for processing. The server has deleted the process.
(2)HTTP头过滤
在网站属性界面HTTP头过滤标签页中,自定义HTTP头中,添加
自定义HTTP头名为
.exe
自定义HTTP头值为
application/octet-stream
17、SCP的WEB中无法导入导出文件
给C:\Inetpub\wwwroot\SCPWeb目录添加NETWORK SERVICE、IIS_IUSRS的读写和修改权限。
18、Windows XP客户端访问:
(1)干净XP下的IE6访问时,提示:尚未安装或者有更新版本安全控件,是否马上下载?确定后,但下载窗体弹出马上消失。
//IE6调试可用,不支持用户使用。
解决办法:
a、工具/Internet选项,安全/受信任站点,添加受信站点即可下载;
b、工具/Internet选项,安全/可信站点,自定义级别中的“下载/文件下载”启用。
//IE7、IE8。
(2)SCPSecPkg.EXE安装成功后,在C:\windows\system32目录下,可找到ZYRFWAPI.ocx文件;
再打开登录界面,提示:在此面上的ActiveX控件和本页上的其它部份的交互可能不安全。
你想允许这种交互吗?选是,下次再登录时,问题依旧;
解决办法:
工具/Internet选项,安全/受信任的站点/自定义级别界面中,ActiveX控件和插件/对没有标记为安全的ActiveX 控件进行初始化和脚本运行启用。
19、主机中的软件放弃了一个已建立的连接
SCP服务与前置机同时安装在一台服务器上时,修改统一接入服务端口为21012时,还需把web.config配置文件中端口也作修改,如下三项端口改为21012:
<wellknown type="Zytk.Client.AppConnect.IAppConnect,SCPInterface"
url="tcp://192.168.1.211:21012/AppConnect"/>
<wellknown type="mon.ICustomException,SCPInterface"
url="tcp://192.168.1.211:21012/CustomException"/>
<wellknown type="mon.ILog,SCPInterface"
url="tcp://192.168.1.211:21012/Log"/>
20、运行前端EXE程序报错.NET Framework Initialization Error
运行前端EXE程序时,弹出对话框内容如下:
对话框标题内容为:.NET Framework Initialization Error
对话框内容为:Unable to find a version of the runtime to run this applicatioin. 解决办法:
未安装.NET Framework或安装的.NET Framework版本不正确,SCP2.0前端EXE程序使用.NET Framework 2.0版本,非.NET Framework 4.0版本。
SCP2.0使用单位网站使用.NET Framework 4.0.
21、Windows 7 使用SCP前端EXE程序和SCP的WEB网站时设置
(1)WIN7下,首次以管理员身份运行IE,访问SCP网站,如:http://192.168.1.211
IE弹出提示信息:阻止了一弹出窗口,要查看此弹出窗口或其它选项,请单击此处。
选择…总是允许来自此站点的弹出窗口‟。
IE提示:尚未安装或者有更新版本安全控件,是否马上下载?
(2)IE文件下载窗体弹出马上消失。
解决办法:
a、工具/Internet选项,安全/受信任站点,添加受信站点,如:http://192.168.1.211;
b、工具/Internet选项,安全/可信站点,自定义级别中的“下载/文件下载”启用。
c、工具/Internet选项,安全/可信站点,自定义级别中的“ActiveX 控件和插件/对未标记为可安全执行脚本的ActiveX 控件初始化并执行脚本启用”;
(3)测试环境上述设置全部正确,但还是不断下载读卡控件;
原因:测试环境使用了scp2.0/scpbank的控件,所以在切换为scp2.0或SCPBANK时,先删除c:\Windows\system32目录下的ZYRFRWAPI.ocx,然后再访问WEB安装新读卡控件即可;
22、IIS不支持APK文件下载的解决办法
将安卓android客户端程序.apk文件上传到网站上后,发现竟然无法下载。
.apk就是安卓应用的后缀名,一般通过手机直接输入apk的网址,就可以下载。
但是默认情况下,使用IIS作为Web服务器的网站无法下载apk文件,那么怎么才能让IIS支持.apk文件的下载呢?
IIS服务器不能下载.apk文件的原因:
iis的默认MIME类型中没有.apk文件,所以无法下载。
解决办法:
既然.apk无法下载是因为没有MIME,那么添加一个MIME类型就可以了。
IIS服务器不能下载.apk文件的解决步骤:
(1)打开IIS服务管理器,找到对应的网站,右键-属性,在属性窗体的HTTP头标签页;
(2)单击MIME类型下的“MIME类型”按钮,打开MIME类型设置窗口;
(3)单击“新建”,建立新的MIME类型;
(4)扩展名中填写“.apk”,MIME类型中填写apk的MIME类型“application/vnd.android.package-archive”
单击“确定”保存设置。
(5)打开命令行,输入iisreset 重启IIS,使设置生效。
现在使用IIS服务器的网站就可以下载.apk文件了。
23、门户网站登陆方式设置
(1)、在门户网站(开始-》管理工具Internet信息服务管理器,zytk32basew体制状态下打开)的web.config文件中的
<appSetting>
</appSetting>
中添加如下配置行:
<!--卡户登录类型, 1使用卡户帐号和密码,2使用个人编号(学号)和密码,3手机号码登陆。
果该配置项不存在,或者值不等于1,2,3,则默认用帐号和密码-->
<add key="CardLoginType" value="2"/>
(2)、例如:
<appSetting>
---------这里省略其它内容---------
<!--卡户登录类型, 1使用卡户帐号和密码,2使用个人编号(学号)和密码,3手机号码登陆。
果该配置项不存在,或者值不等于1,2,3,则默认用帐号和密码-->
<add key="CardLoginType" value="2"/>
</appSetting>
以商户登录时,查询密码是8
24、自助缴费后台管理系统WEB 错误提示解决
(1)、连接服务出错,请与系统管理员联系!
解决办法:添加站点;
(2)、指定的IP地址和系统类型不存在;
解决办法:服务器存在多个IP时,建议同时添加该服务器的所有IP;
(3)、连接服务失败,请与管理员联系
ZYTK3.2/ZYTK3.5基本版自助服务系统运行时提示:连接服务失败,请与管理员联系。
解决办法:
基本版使用自助服务系统时,要修改自助服务系统目录下的web.config配置文件内容,在配置文件内容中删除下面这一行:
<provider type="Zytk.AppConnect.SecureClientChannelSinkProvider, AppConnect" algorithm="DES" oaep="false" requireSecurity="true" maxRetries="1"/>
(4)、基本版运行后台缴费系统时需要修改web.config文件
基本版运行后台缴费系统时,需要把后台缴费系统中的web.config文件中的基本版一块内容启用,原来一块内容禁用即可,未启用的基本版的内容如下:
<!--<channels>
<channel ref="tcp">
<clientProviders>
<formatter ref="binary"/>
</clientProviders>
<serverProviders>
<provider ref="wsdl" />
<formatter ref="soap" typeFilterLevel="Full" />
<formatter ref="binary" typeFilterLevel="Full" />
</serverProviders>
</channel>
</channels>-->
25、基本版运行ThirdWebService和HttpService时需修改web.config中的端口
ThirdWebService和HttpService运行在基本版环境下,需修改端口号,如下:
在ZYTK3.5基本版环境中使用时,在ThirdWebService的目录下web.config的端口要改为21011使用;
在ZYTK3.5基本版环境中使用时,在HttpService的目录下web.config的端口要改为21011使用;。