首页 / 资讯中心 / 文章详情

农村集体三资系统部署:IE8、IIS 7.5与MySQL 5.5配置

农村集体三资系统部署:IE8、IIS 7.5与MySQL 5.5配置 ★ FEATURED ARTICLE
简介《农村集体三资信息管理系统操作手册》面向农村集体单位的三资管理人员、财务经办人员及基层监管人员围绕资金、资产、资源信息在系统中的登记、变动、清查与监督流程展开可用于岗前培训、日常操作查阅及管理制度落地参考。包内含1个doc文档压缩包约2.9MB目录层级清晰依次覆盖系统技术架构与运行环境要求、用户权限与登录规则、页面操作约定以及资金管理和资产管理等模块。其中资金管理涉及村集体流动资产登记、债权登记、债务登记资产管理包含资产初始登记、资产变动与资产清查文档还说明了Windows Server 2008、MySQL 5.5、IE 8及以上等环境配置和密码锁定规则便于读者按目录快速定位业务场景并对照系统完成操作。已有1198人学习下载适合基层财务与监管人员熟悉三资监管系统流程时查阅。1. 别急着装服务器先确认客户端那台 IE8 还在不在去年帮一个乡镇三资服务中心做环境迁移服务器是新的 Windows Server数据库也按文档装好了结果业务人员那边一打开登录页就是白屏。排查了半天问题不在服务器在客户端——新配的电脑清一色 Win10 自带 EdgeIE 被隐藏了即便调出 IE11登录认证控件也加载不出来。这套《农村集体三资信息管理系统操作手册》写得很清楚客户端必须 IE7.0 或 IE8.0。很多人第一反应是“版本越新越好”在这套 B/S 系统上恰好相反。它面向村级、乡镇、县市多级账套装不好不是一个人的事整个乡镇的资金、资产、资源录入都得停。下面按我实际落地的顺序把服务器端、客户端、登录控件和验证一步步拆开。2. 列环境清单Windows Server 2008 R2、IIS 7.5 与 MySQL 5.5 怎么配这套系统是数据大集中的 B/S 架构县级机构架中心服务器乡镇和村级不装软件通过浏览器远程访问。所以“安装”分成两半服务器端把 Web 站点和数据库立起来客户端把 IE 和认证控件配好。两边版本对不上后面全是玄学问题。2.1 服务器端三件套的版本对照手册给的最低要求是 Windows Server 2008、IIS 5.0 以上、MySQL 5.5 以上客户端 IE8 以上。实际落地时我一般按“就低不就高”选不是不想用新版本是老系统的 ASP 页面和 32 位认证控件对新版 IIS 的集成管道模式不友好。下面这张表是我在多个乡镇节点用过的组合组件手册最低要求我实际用的关键注意点操作系统Windows Server 2008Windows Server 2008 R2 SP1不要直接上 Server 2022老 ASP 组件要手工补Web 服务器IIS 5.0 以上IIS 7.5必须开 ASP、ISAPI 扩展和 ISAPI 筛选器数据库MySQL 5.5 以上MySQL 5.5.62字符集用 utf8不要用 utf8mb4.NET Framework未写明3.5应用程序池用 .NET 2.0 经典模式客户端浏览器IE7.0 或 IE8.0IE8 32 位不要用 Edge 的 IE 模式硬扛IIS 角色不用图形界面一个个勾用 PowerShell 一次装完# Windows Server 2008 R2 安装 IIS 7.5并补齐 ASP/ASP.NET 支持 Import-Module ServerManager Add-WindowsFeature Web-Server, Web-ASP, Web-ASP-NET, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Redirect, Web-Mgmt-ConsoleWeb-ASP是老式 ASP 页面支持手册里的页面有不少.asp入口Web-ISAPI-Ext和Web-ISAPI-Filter是认证控件和 URL 重写依赖的Web-Mgmt-Console装的是 IIS 管理器方便后面看应用程序池状态。装完执行iisreset别嫌重启慢很多“装了但没生效”就是没重启 Web 服务。应用程序池是这套系统最容易翻车的地方。默认池是集成模式、64 位、.NET 4.0老系统跑上去经常报 500 或者控件加载失败。我一般单独建一个池# 单独建经典模式应用程序池并允许 32 位控件加载 Import-Module WebAdministration New-WebAppPool -Name SanZiPool Set-ItemProperty IIS:\AppPools\SanZiPool -Name managedRuntimeVersion -Value v2.0 Set-ItemProperty IIS:\AppPools\SanZiPool -Name enable32BitAppOnWin64 -Value $true Set-ItemProperty IIS:\AppPools\SanZiPool -Name managedPipelineMode -Value ClassicmanagedRuntimeVersion设成v2.0对应 .NET 2.0/3.5不是让你装 .NET 2.0 运行时而是让池走老版本兼容管线enable32BitAppOnWin64打开后32 位的认证控件才能被 w3wp 进程加载Classic管道模式是为了兼容老 ISAPI 扩展。三项少一个登录页可能打得开但控件那一步就卡死。2.2 客户端 IE8 与兼容性视图的取舍客户端这边手册写的是 IE7.0 或 IE8.0实际交付时我优先保 IE8 32 位。IE8 之后微软改了脚本引擎和 ActiveX 加载策略IE11 就算开兼容性视图也不等于真正的 IE8。有些终端实在退不回 IE8我会用注册表把 IE11 的文档模式压到 IE8作为过渡方案Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] iexplore.exedword:00001f4000001f40是十六进制的 8000表示 IE8 文档模式。这个键是全局的改完这台机器上所有站点都按 IE8 渲染所以只建议在专用业务终端上用不要往办公电脑上批量推。改完要重启 IE任务管理器里确认没有残留的iexplore.exe进程。除了文档模式还要把平台地址加进受信任站点并允许 ActiveX。图形界面路径是“Internet 选项 → 安全 → 受信任的站点 → 站点”把平台地址填进去取消“对该区域中的所有站点要求服务器验证”。然后在“自定义级别”里把“ ActiveX 控件和插件”下与“自动提示”相关的几项设为启用。手册里还提到如果 IE 装了搜索工具条要先移除否则页面脚本会被劫持登录按钮点不动。这个细节看起来小实际排障时能省半小时。提示客户端如果是 64 位系统IE 默认启动的是 64 位版本认证控件却多是 32 位。开始菜单里找“Internet Explorer”时看清路径或者直接运行C:\Program Files (x86)\Internet Explorer\iexplore.exe。2.3 网络、端口与部署拓扑手册建议服务器端 10M 以上专线客户端至少 2M 独享。这个数值放到今天不算高但乡镇节点经常是多人共用一个出口月底录数据时一卡业务人员就以为系统坏了。我一般在服务器上只开必要端口Web 走 80数据库 3306 只对应用服务器和内网运维机开放不对客户端网段开放。Windows 防火墙用netsh加规则老服务器上比 PowerShell 的New-NetFirewallRule稳# 放行 Web 端口MySQL 只允许内网运维段访问 netsh advfirewall firewall add rule nameSanZi-HTTP dirin actionallow protocolTCP localport80 netsh advfirewall firewall add rule nameSanZi-MySQL dirin actionallow protocolTCP localport3306 remoteip192.0.2.0/24remoteip一定要收窄不要图省事写any。这套系统里存的是村集体资金、资产、资源明细数据库端口暴露到客户端网段等于把账本放在走廊上。拓扑上我习惯把 Web 和数据库放同一台物理机县级节点数据量不大单独拆数据库反而增加连线故障点但数据库目录和 Web 目录要分盘备份脚本只备数据库目录和上传附件目录。3. 部署系统本体IIS 站点、数据库初始化与连接串环境清单确认完才开始往机器上落系统。顺序不能反先建库、再建站点、最后配连接串。先建站点后建库页面一访问就报数据库连接错误容易误判成 IIS 配置问题。3.1 数据库建库与初始化脚本导入MySQL 5.5 安装时字符集选utf8排序规则用utf8_general_ci。不要选utf8mb4老版本驱动和页面编码对四字节字符支持不完整导入清查表时可能中途报错。装完先建独立数据库和业务账号不要让应用直接用 root-- 建库字符集必须和页面编码一致 CREATE DATABASE sanzi_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; -- 业务账号只给增删改查权限不给 DROP/ALTER CREATE USER sanzi_applocalhost IDENTIFIED BY ChangeMe_2024; GRANT SELECT, INSERT, UPDATE, DELETE ON sanzi_db.* TO sanzi_applocalhost; FLUSH PRIVILEGES;GRANT里故意没给CREATE、DROP、ALTER因为日常业务只跑录入和查询建表交给初始化脚本用 root 执行。这样即使应用账号泄露也删不掉库。密码不要照抄示例换成现场约定的强密码并且记进交付文档。初始化脚本随系统安装包提供一般叫init.sql或dbscript.sql。导入前先看脚本头部有没有DROP DATABASE或TRUNCATE生产环境上先做一次全量备份再执行# 先备份再导入初始化脚本 mysqldump -h 127.0.0.1 -u root -p --databases sanzi_db /backup/sanzi_before_init.sql mysql -h 127.0.0.1 -P 3306 -u root -p sanzi_db /data/install/init.sqlmysqldump那条是后悔药别省。我见过一次现场直接导脚本把上一年的资产清查记录清空了最后靠数据库文件的物理备份才救回来。导入完成后用SHOW TABLES;确认表数量再随便查一张基础表确认字符集不是latin1。3.2 IIS 站点创建与目录权限站点物理路径我一般放D:\SanZiWeb不要放 C 盘系统盘做快照时容易把上传附件一起滚回去。用 PowerShell 建站点并绑定应用程序池# 建站点绑定到前面建的经典模式池 New-WebSite -Name SanZi -PhysicalPath D:\SanZiWeb -ApplicationPool SanZiPool -Port 80 -HostHeader sanzi.example.localHostHeader是内网域名没有域名就留空直接用服务器 IP 访问-Port 80如果和默认站点冲突先停掉默认站点或者改成 8080 再在客户端地址里带上端口。建完在 IIS 管理器里点“基本设置”确认“测试设置”里身份验证和授权都是绿色再往下走。目录权限用icacls一次配好。原则是程序目录只读上传目录可写web.config不给 Web 进程写权限。# 程序目录只读上传目录给修改权限配置文件单独收紧 icacls D:\SanZiWeb /grant IIS_IUSRS:(OI)(CI)(RX) /T icacls D:\SanZiWeb\upload /grant IIS_IUSRS:(OI)(CI)(M) /T icacls D:\SanZiWeb\web.config /deny IIS_IUSRS:(W)(OI)(CI)表示对象继承和容器继承RX是读和执行M是修改。最后一条拒绝写权限很关键有些老系统会把连接串写回web.config一旦目录可写等于把数据库密码暴露给上传目录里的脚本。3.3 连接串配置与请求长度调整连接串写在站点根目录的web.config里。MySQL 5.5 用旧版 Connector/NET 时charsetutf8要显式带上不然中文村名会变成问号configuration connectionStrings add nameSanZiConn connectionStringserver127.0.0.1;port3306;databasesanzi_db;uidsanzi_app;pwdChangeMe_2024;charsetutf8 providerNameMySql.Data.MySqlClient / /connectionStrings system.web customErrors modeOff / httpRuntime maxRequestLength20480 executionTimeout600 / /system.web /configurationmaxRequestLength单位是 KB20480 就是 20MB用于资产清查表、资源附件批量上传executionTimeout单位是秒600 秒给大表导入留余量。customErrors modeOff只在排障期开交付前改回RemoteOnly不然报错页会把堆栈和物理路径暴露给客户端。改完web.config不需要重启 IIS但改应用程序池设置必须重启。重启命令用iisreset /noforce比图形界面点“重新启动”稳不会强行杀掉正在写数据库的进程。3.4 登录认证控件的服务端放置这套系统第一次登录时浏览器会提示下载一个认证控件。控件包一般放在站点下的Client目录服务端要做两件事让.cab和.ocx能被下载以及给正确的 MIME 类型。# 给站点补 .cab 的 MIME 映射否则客户端下载会 404 appcmd set config SanZi /section:staticContent /[fileExtension.cab,mimeTypeapplication/vnd.ms-cab-compressed] appcmd set config SanZi /section:staticContent /[fileExtension.ocx,mimeTypeapplication/x-oleobject]appcmd是 IIS 7 以后自带的命令行工具路径在C:\Windows\System32\inetsrv\。如果提示“无法识别的配置节”说明站点名写错了先用appcmd list site查一下。MIME 补完后在浏览器里直接访问控件包地址能弹出下载框才算服务端就绪。客户端安装环节放到第 4 章先把服务端这头收干净。4. 客户端落地IE 受信任站点、认证控件与账套登录服务端能访问登录页不等于业务人员能登录。客户端这一侧真正耗时间的是 IE 安全区域和控件安装尤其是乡镇网点电脑上往往还装着安全卫士类软件拦截提示一闪而过业务人员根本不知道该点哪里。4.1 受信任站点与 ActiveX 放行手工点“Internet 选项”太慢我一般用注册表把平台地址直接写进受信任站点。下面以测试网段地址192.0.2.10为例Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\192.0.2.10] *dword:00000002Domains下面用平台地址做键名*表示 HTTP 和 HTTPS 都归入同一区域dword:00000002就是“受信任的站点”。双击导入后重启 IE在“Internet 选项 → 安全 → 受信任的站点 → 站点”里能看到这条记录。注意这一步只解决“区域归属”ActiveX 的细项还要在自定义级别里放行把“下载未签名的 ActiveX 控件”和“运行未签名的 ActiveX 控件”设为启用或提示具体看现场安全要求别一律设成“启用”否则内网其他页面也会跟着放宽。登录地址由管理员下发不要在客户端上存书签后到处传。第一次访问时浏览器会提示证书或安全警告点“继续浏览此网站”即可。这一步不是网络层的问题是 IE 对未完全匹配证书的常规提示和系统本身无关。4.2 认证控件安装与被拦截处理控件下载下来一般是个压缩包解压后右键“以管理员身份运行”安装脚本。如果没有安装脚本就手工注册# 64 位系统上注册 32 位控件必须用 SysWOW64 里的 regsvr32 C:\Windows\SysWOW64\regsvr32.exe /s C:\SanZiClient\AuthCtrl.ocx/s是静默注册成功会弹一个提示框如果没弹去注册表HKCR\CLSID下搜控件名能搜到说明注册成功。32 位系统用System32里的regsvr3264 位系统一定用SysWOW64这是最常见的“装了但页面还是提示未安装”的原因。安全卫士类软件会拦控件下载和注册手册里也提到金山网盾、360 安全卫士可能阻止。现场处理办法是临时退出拦截程序或者把平台地址加入白名单装完控件再恢复。IE 如果提示“无法验证发布者”先在受信任站点里把“对未标记为可安全执行脚本的 ActiveX 控件初始化并执行脚本”设为启用再重新下载。不要直接改“本地 Intranet”区域那个区域范围太大会把内网其他系统一起放进来。4.3 多账套登录与页面操作约定控件装好后登录流程是输入平台地址 → 出现认证控件提示 → 输入管理员分配的账号 → 选择要操作的村组账套 → 确定登录。第一次登录会多一步控件安装之后不会重复。登录成功后右下角会有认证程序图标关闭平台不等于退出认证程序当天要再次进入可以点托盘图标或者重新访问地址后在弹出页点“注销”再登录。这个细节要提前告诉业务人员不然他们会以为系统没退干净。进入页面后有几个操作约定录入前先讲清楚能少很多返工输入框前带红色星号的是必填项一般用于查询统计没有数据就填0不要留空点“保存并继续”或勾选“继续增加”可以不关页面连续录多条列表里的“选中”按钮是选中当前行不是勾选复选框。资产初始登记时资产编号由各县统一编制同一个村内不能重复复制资产后第一件事就是改编号。5. 排查清单这套系统最容易翻车的五个点这套系统的报错页经常只给一句“系统繁忙”真正的线索在浏览器控制台、IIS 日志和 MySQL 错误日志里。下面五条是我在现场踩过的按“现象 → 原因 → 解决”记照着对能省不少时间。5.1 登录页白屏控制台报脚本错误现象IE 地址栏能打开页面一片白按 F12 看到SCRIPT5009或对象不支持此属性。原因多半是客户端用了 IE11 或 Edge 的 IE 模式脚本引擎版本高于系统预期老页面里的document.all之类写法直接失效。解决优先换回 IE8 32 位退不回去的终端用第 2 章的FEATURE_BROWSER_EMULATION把文档模式压到 IE8再把平台地址加入兼容性视图。改完必须彻底关掉 IE 进程再开光刷新页面不生效。5.2 控件下载后安装失败提示“无法验证发布者”现象控件包下载成功双击安装时 Windows 弹出“无法验证发布者”点“运行”也没反应。原因有两个控件没有有效签名或者平台地址不在受信任站点里IE 按 Internet 区域的安全策略直接拦了。解决先把平台地址加入受信任站点再在自定义级别里放行未签名 ActiveX如果机器上装了安全卫士临时退出后再装。装完用regsvr32手工注册一次确认不是安装脚本被拦截。5.3 账套选择后一直转圈最后报数据库连接失败现象登录页正常选完村组账套点“确定登录”后转圈几十秒后提示连接数据库失败。原因通常是连接串里的账号密码不对、MySQL 只监听127.0.0.1而应用连的是本机以外的地址或者 3306 被防火墙挡了。解决先在服务器上用mysql -h 127.0.0.1 -u sanzi_app -p试连能连再查web.config的server和port连不上就看 MySQL 的bind-address和防火墙规则。不要一上来就重启 IIS方向不对重启多少次都没用。5.4 资产编号重复保存时提示失败现象资产初始登记页面填完点保存提示“资产编号已存在”换一个编号又能保存。原因手册明确写了同一村中的资产编号不可重复多人同时录入时后保存的人会撞上先保存的编号。解决录入前先在资产列表里按编号查一次用“复制资产”功能时复制完第一件事就是改编号。批量导入前跑一遍查重 SQL-- 按实际资产表名替换 t_asset先查出重复编号再导入 SELECT asset_no, COUNT(*) AS cnt FROM t_asset GROUP BY asset_no HAVING COUNT(*) 1;查出来有重复的先和村里核对再合并不要直接删记录资产卡片背后可能已经挂了变动记录。5.5 批量导入清查表报 500请求长度超限现象单条录入正常一导入几十兆的清查表就报 500IIS 日志里能看到ASP_0146或请求实体过大。原因httpRuntime的maxRequestLength默认只有 4MB老系统上传附件和批量导入很容易超。解决按第 3 章把maxRequestLength调到 20480executionTimeout调到 600改完重启应用程序池。如果还报错再看 IIS 的requestFiltering里maxAllowedContentLength是不是也要同步放大这两个限制是分开的。6. 装完怎么验证四步走通资金、资产、资源链路装完不要只看登录页能不能打开那只能证明 IIS 活着。我交付前会按“服务端端口 → 数据库连接 → 登录与控件 → 业务链路”四步走一遍每一步都有明确的通过标准。检查项操作通过标准Web 端口在管理机执行curl -I http://192.0.2.10/返回 200 或 302不是连接拒绝数据库连接用业务账号执行SELECT 1;返回 1且SHOW VARIABLES LIKE character_set_database;是 utf8登录与控件用 IE8 打开平台地址装控件后登录能进账套选择页托盘出现认证图标业务链路依次打开资金余额表、资产初始登记、资源清查表三张表都能查出数据新增一条测试资产能保存服务端快速检查可以用两条命令不用装额外工具# 检查 Web 是否起来检查数据库字符集和业务账号权限 curl -I http://192.0.2.10/ mysql -h 127.0.0.1 -u sanzi_app -p -e SELECT COUNT(*) FROM sanzi_db.t_asset;curl -I只看响应头适合确认站点有没有绑定错端口第二条能查出数说明连接串、账号权限和表都存在。查不到数先别怀疑系统按第 5.3 条的顺序查连接串和防火墙。业务链路验证不要图快我一般新建一个测试村组账套录一条流动资产、一条固定资产、一条资源再分别去“三资余额表”和“三资变动表”里查。能查到说明录入、保存、统计三条线都通了查不到问题多半在账套权限或会计期间没选对。验证完把测试数据删掉别留在生产库里。从那以后我每次交付都强制走一遍“登录 → 选账套 → 录一条资产 → 查余额表”四步不再只看首页能不能打开。这套系统不怕装得慢就怕装完看着正常业务人员一录数据才发现某一环没通。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站