Discuz论坛从windows Server 2003迁移到Windows Server 2012 R2的经常总结
- 2017-04-01 08:53:00
- zstmtony 原创
- 4928
从windows Server 2003迁移到Windows Server 2012 R2的经常总结
将自己的Discuz论坛Office交流论坛(http://www.office-cn.net) 迁移到新的windows Server 2012 R2服务器 费尽了千辛万苦,终于成功了,将中间经验细节总结出来,希望能给需要的网友们一些帮助。
1.首先要关闭网站 备份网站程序和数据库,如果有条件的话,且mysql数据是早期版本,可以将mysql服务停止掉,直接复制整个数据库目录,也可以使用工具导出 导入数据
2.备份的网站为了避免FTP上传工具的影响,最好将网站程序 压缩成RAR传递,到目标服务器再解压
3.论坛 迁移过去后,先设置好IIS相关设置,让PHP mysql 运行正常
4.必须 先进入论坛后台 刷新一下缓存,否则有些附件上传 明明提示上传成功,但后台就找不到这个上传的文件,有可能论坛还是使用以前迁移过来之前的缓存设置(将文件上传到旧的服务器对应的后台目录),刷新缓存后就正常了
5.设置好伪静态设置,由于windows 2003 Server是使用第三方的Rewrite.dll, 现在要改成微软的IIS自己的URL重写程序,所以要导入以前的httpd.ini 文件的配置到IIS 里
打开后,选择导入规则,再选择你原来的httpd.ini文件,导入
导入后大多规则可以使用,可能有些规则出错,或异常,会导致网站URL转发出错,如果转发出错的次数太多
会导致以下错误:
服务器错误
500 - 内部服务器错误。
您查找的资源存在问题,因而无法显示。
打开详细信息,显示的是
HTTP 错误 500.0 - Internal Server Error
FastCGI 进程最近常常失败。请过一会再尝试此请求
最可能的原因:
- IIS 收到了请求;但在处理请求过程中出现内部错误。此错误的根本原因取决于处理该请求的是哪一个模块以及出现此错误时工作进程中出现了何种情况。
- IIS 无法访问网站或应用程序的 web.config 文件。如果 NTFS 权限设置不正确,便会出现这种情况。
- IIS 无法处理网站或应用程序的配置。
- 已经过身份验证的用户没有使用此 DLL 的权限。
- 该请求将被映射到托管处理程序,但不会安装 .NET 可扩展功能。
可尝试的操作:
- 确保 web.config 文件的 NTFS 权限正确,并允许访问 Web 服务器的计算机帐户。
- 检查事件日志中是否记录了任何附加信息。
- 确认 DLL 的权限。
- 如果请求被映射到托管处理程序,则安装 .NET 可扩展功能。
- 创建跟踪规则以跟踪此 HTTP 状态代码的失败的请求。有关为失败的请求创建跟踪规则的详细信息,请单击此处。
这种 FastCGI 进程最近常常失败 就是 因为论坛中有些伪静态 设置不对导致转发出错导致的。
经过分析,原来是 论坛用户和群组的首页转发出错:
HTTP 错误 500.50 - URL Rewrite Module Error.
无法展开表达式“{R:1}/forum.php\?mod=group&fid={R:2}&page={R:3}&{R:5}”。
HTTP 错误 500.50 - URL Rewrite Module Error.
无法展开表达式“{R:1}/forum.php\?mod=group&fid={R:2}&page={R:3}&{R:5}”。
最可能的原因:
可尝试的操作:
经检查发现是 web.config 的伪静态设置(通过 导入方式过来的)微软IIS转换得有问题,在网络 上找到别人成功的web.config设置,修改后为这样
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="portal_topic">
<match url="^(.*/)*topic-(.+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/portal.php\?mod=topic&topic={R:2}&{R:3}" />
</rule>
<rule name="portal_article">
<match url="^(.*/)*article-([0-9]+)-([0-9]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/portal.php\?mod=view&aid={R:2}&page={R:3}&{R:4}" />
</rule>
<rule name="forum_forumdisplay">
<match url="^(.*/)*forum-(\w+)-([0-9]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/forum.php\?mod=forumdisplay&fid={R:2}&page={R:3}&{R:4}" />
</rule>
<rule name="forum_viewthread">
<match url="^(.*/)*thread-([0-9]+)-([0-9]+)-([0-9]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/forum.php\?mod=viewthread&tid={R:2}&extra=page%3D{R:4}&page={R:3}&{R:5}" />
</rule>
<rule name="group_group">
<match url="^(.*/)*group-([0-9]+)-([0-9]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/forum.php\?mod=group&fid={R:2}&page={R:3}&{R:4}" />
</rule>
<rule name="home_space">
<match url="^(.*/)*space-(username|uid)-(.+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/home.php\?mod=space&{R:2}={R:3}&{R:4}" />
</rule>
<rule name="home_blog">
<match url="^(.*/)*blog-([0-9]+)-([0-9]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/home.php\?mod=space&uid={R:2}&do=blog&id={R:3}&{R:4}" />
</rule>
<rule name="forum_archiver">
<match url="^(.*/)*(fid|tid)-([0-9]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/index.php\?action={R:2}&value={R:3}&{R:4}" />
</rule>
<rule name="plugin">
<match url="^(.*/)*([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+).html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/plugin.php\?id={R:2}:{R:3}&{R:4}" />
</rule>
<rule name="已导入的规则 10">
<match url="^(.*/)*accessvideo\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=list&fid=1&findex=1&{R:3}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 11">
<match url="^(.*/)*excelvideo\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=list&fid=2&findex=1&{R:3}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 12">
<match url="^(.*/)*wordvideo\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=list&fid=3&findex=1&{R:3}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 13">
<match url="^(.*/)*pptvideo\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=list&fid=4&findex=1&{R:3}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 14">
<match url="^(.*/)*outlookvideo\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=list&fid=5&findex=1&{R:3}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 15">
<match url="^(.*/)*ablist-([0-9]+)-([0-3])-([0-2])-([0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=ablist&vid={R:2}&t={R:3}&s={R:4}&page={R:5}&{R:7}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 16">
<match url="^(.*/)*acshow-(prev|next|first|end)-([0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=acshow&action={R:2}&vid={R:3}&{R:5}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 17">
<match url="^(.*/)*actor-(f|s)-([0-9]+)-([0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=actor&action={R:2}&aid={R:3}&page={R:4}&{R:6}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 18">
<match url="^(.*/)*author-([0-9]+)-([0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=author&uid={R:2}&page={R:3}&{R:5}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 19">
<match url="^(.*/)*list-(f|s)-([0-9]+)-([0-3])-([0-3])-([0-2])-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=list&action={R:2}&id={R:3}&types={R:4}&m={R:5}&s={R:6}&address={R:7}&years={R:8}&page={R:9}&{R:1}1" appendQueryString="false" />
</rule>
<rule name="已导入的规则 20">
<match url="^(.*/)*play(n?[0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=view&vid={R:2}&{R:4}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 21">
<match url="^(.*/)*tag-([0-9]+)-([0-2])-([0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=tag&vid={R:2}&types={R:3}&page={R:4}&{R:6}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 22">
<match url="^(.*/)*theme-([0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=theme&eid={R:2}&{R:4}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 23">
<match url="^(.*/)*today-([0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=today&page={R:2}&{R:4}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 24">
<match url="^(.*/)*vhome\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php?{R:2}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 25">
<match url="^(.*/)*yesterday-([0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/vhome.php\?mod=today&yt=1&page={R:2}&{R:4}" appendQueryString="false" />
</rule>
<rule name="已导入的规则 27">
<match url="^(.*/)*access\/tip\/(.*)\/([0-9]+)\.html$" />
<action type="Redirect" url="{R:1}/off\\plus\\view.php\?aid={R:3}" appendQueryString="false" redirectType="Found" />
</rule>
<rule name="已导入的规则 28">
<match url="^(.*/)*access\/src\/(.*)\/([0-9]+)\.html$" />
<action type="Redirect" url="{R:1}/off\\plus\\view.php\?aid={R:3}" appendQueryString="false" redirectType="Found" />
</rule>
<rule name="已导入的规则 29">
<match url="^(.*/)*access\/news\/(.*)\/([0-9]+)\.html$" />
<action type="Redirect" url="{R:1}/off\\plus\\view.php\?aid={R:3}" appendQueryString="false" redirectType="Found" />
</rule>
<rule name="已导入的规则 30">
<match url="^(.*/)*access\/pic\/(.*)\/([0-9]+)\.html$" />
<action type="Redirect" url="{R:1}/off\\plus\\view.php\?aid={R:3}" appendQueryString="false" redirectType="Found" />
</rule>
<rule name="已导入的规则 31">
<match url="^(.*/)*home\/space.php(.*)$" />
<action type="Redirect" url="{R:1}/space.php{R:2}" redirectType="Found" />
</rule>
<rule name="已导入的规则 32">
<match url="^(.*/)*acc\/data\/(.*)$" />
<action type="Redirect" url="{R:1}/off\\data\\{R:2}" redirectType="Found" />
</rule>
<rule name="已导入的规则 33">
<match url="^(.*/)*vvb\/viewthread.php\?tid=([0-9]+)(.*)$" />
<action type="Redirect" url="{R:1}/forum.php\?mod=viewthread&tid={R:2}" appendQueryString="false" redirectType="Found" />
</rule>
<rule name="已导入的规则 34">
<match url="^(.*/)*vvb\/redirect.php\?(.*)ptid=([0-9]+)$" />
<action type="Redirect" url="{R:1}/forum.php\?mod=viewthread&tid={R:3}" appendQueryString="false" redirectType="Found" />
</rule>
<rule name="已导入的规则 35">
<match url="^(.*/)*vvb\/attachments\/(.*)\/(.*)$" />
<action type="Redirect" url="{R:1}/data\\attachment\\forum\\{R:2}\\{R:3}" redirectType="Found" />
</rule>
</rules>
</rewrite>
<httpErrors errorMode="DetailedLocalOnly" />
</system.webServer>
</configuration>
这样网站访问就成功了
联系人: | 王先生 |
---|