steam饥荒专用服务器如何开启及常见问题
配置需求:
Steam账号内必须拥有Don't Starve Together,拥有DST即可建立多个独立服务器(Dedicated Server)。
独立服务器没有使用DST游戏内建立服务器的路由穿透技术,服务器必须为游戏客户端开放一个合适的端口,服务器默认通信方式:UDP协议,端口号:10999。
建立一个稳定的独立服务器必须确保系统满足以下要求:
网络上传速度:8KB/玩家/秒。如果按照独立服务器最大人数为6人来换算,网络上传速度必须达到50KB/秒或以上才能让6个玩家同时进行游戏,当然网络上传带宽越大越好,较差的网络通信会导致连接独立服务器的玩家动作卡顿以及卡屏。
内存:大约65MB/玩家。如果按照独立服务器最大人数为6人来换算,可用内存大小必须达到500MB或以上才能让6个玩家同时进行游戏。
CPU:官方网站没有明确说明。
游戏运行库:VCRedist_2008(x86),DST游戏根目录文件夹内有,对着DST右键->属性->本地文件->浏览本地文件
20-建服准备工作——获取令牌
如果要建立一个向公众开放的独立服务器,则必须要获得服务器令牌,这样做的目的是能够让开发者关停违反了服务条款的服务器。
根据以下步骤获得令牌:
注意:所有符号及标点全部使用半角模式输入。
运行Don't Starve Together。
点击Play !。
按~(数字键1左边的按键)开启控制台输入指令,再按一次关闭控制台,若还有控制台文字信息显示在屏幕上按CTRL+L关闭。
如下图在控制台内输入指令:TheNet:GenerateServerToken()
如下图在Documents\Klei\DoNotStarveTogether下已经生成了server_tokentxt文件。
21-建服准备工作——修改配置文件
211-配置文件路径
如下图settingsini位于C:\Users\你的用户名\Documents\Klei\DoNotStarveTogether路径下。
212-注意:因为DST不支持Unicode,以下内容请全部使用英文。
若以下内容settingsini内没有可自行加上,也可不加,服务器出现任何问题后果自负。
[network]网络配置
default_server_name = 这里填服务器名。
default_server_description = 描述一下你的服务器(可不填)。
server_port = 10999,服务器通信端口,最好不要改动,对端口映射及网络类型熟悉的人员可自行更改。
server_password = 这里填服务器密码,如果要对公众开放则不填,如果想和妹纸或基友单独干羞羞的事自行填写密码。
max_players =[1-64]最大玩家数1到64,根据计算机性能和网络负载能力填写,默认6。
pvp = true [ true | false ]是否开启PVP(玩家可以互相攻击)。
game_mode = [ endless,survival,wilderness ]游戏模式三个里面选一个填。
override_dns = [填写DNS服务器]覆盖DNS设置,如果log in很慢的情况下,可以改成8888,8888。
enable_vote_kick = [ true | false ]是否允许投票踢人,默认true。
enable_snapshots = [ true | false ]是否允许服务器回退到一个之前的状态(等同于回档,可用来防止烧家的熊孩子),开发者称这项功能在一些服务器上会导致问题的发生,默认false。
enable_autosaver = [ true | false ]是否开启自动保存功能,默认开启,新的一天开始服务器会自动保存。
tick_rate = [ 10 | 15 | 30 | 60 ]类似于FPS,这个值越高客户端动作越流畅,这取决于服务器的网络带宽和CPU,默认30。
connection_timeout = [填写毫秒数,1秒=1000毫秒],中断与没有响应的客户端的等待时间,默认8000。
server_save_slot = [1-5]服务器加载哪一个存档,默认1。
pause_when_empty = [ true | false ]服务器空闲时是否自动暂停,当有玩家进入时继续,最好用于有密码的私人服务器,默认false。
[account]账号配置
dedicated_lan_server = false [ true | false ]是否只允许局域网游戏,默认关闭。
22-建服准备工作——端口映射
221-注意:服务器开启无法正常运行(游戏右边列表没有自己的服务器,其他玩家无法加入自己的服务器)再尝试以下步骤:
222-确定网络类型
ADSL拨号上网
有路由器(市面上路由器种类太多,不单独作某一型号路由器说明,方法大同小异。):进入路由器设置页面,找到端口映射功能,添加需要映射的端口:协议选UDP,端口号填10999。
无路由器:打开控制面板->系统和安全->windows防火墙->高级设置->入站规则右键新建规则->勾选端口->勾选UDP,特定本地端口:填10999。
FTTH光纤入户
光猫有端口映射功能:在光猫内设置端口映射,方法上文已经提及,自行查阅。
光猫没有端口映射功能:此方法适合有一定技术水平及动手能力的人员(操作不当可能导致网络中断及家庭固话无法拨打和接通),将光猫更改为桥接模式,使用路由器拨号上网,在路由器内设置端口映射,方法上文已经提及,自行查阅。
BEA JRockit Java虚拟机(JVM)所带来的不仅仅是性能的提升 本文探讨了JRockit R 版本可用的一些管理和使用方面的特性 概述了JRockit Mission Control分析工具套件 JRockit Management Console的试验性headless模式以及使用Ctrl Break Handler JRCMD 堆视图和code coverage与JVM进行交互
简介 JRockit JVM不只是快 它还和JRockit Mission Control一起 组成一套执行运行时分析和内存泄漏检测的分析工具 JRockit Management Console包含在JRockit JDK中 本文将探讨JRockit Management Console的一种试验性的headless模式 它可以用于与来自命令行的基于JRockitJMX的管理代理进行交互 Ctrl Break Handler提供了一种向JRockit发送各种高级命令的方法 甚至是在它启动后 这些命令甚至可以远程调用 我在后文中会提及 最后 我探讨了试验性的code coverage JRockit开箱即用地提供了该特性
关于BEA JRockit的更多信息 参见dev dev网站的JRockit Product Center
首先我将快速概述一下JRockit JVM可用的已确定的管理工具 然后我会转向缺少文档的试验性管理特性
JRockit Mission Control JRockit R 版本引入了JRockit Mission Control工具套件 它包含的工具可以进行监控 管理 分析和消除Java应用程序内存泄漏 而不会引起通常与此类工具相关联的性能开销 Mission Control的低性能开销是因为使用了作为JRockit常规适应性动态调优的一部分而收集的数据 这还可以消除工具使用字节码装置修改系统执行特性时发生Heisenberg异常的问题 JRockit Mission Control功能可以根据需要随时可用 低性能开销也只在运行工具时有效 这些特征使得JRockit Mission Control成为专门用于生产中系统的工具
JRockit Mission Control中包含以下工具
JRockit Management ConsoleJRockit Management Console用于监控和管理多个JRockit实例 它捕获并显示关于垃圾收集器(GC)暂停 内存和CPU使用的实时数据 以及部署在JVM内部MBean服务器上的所有JMX MBean的信息 JVM管理包括对CPU相似性 垃圾收集策略和内存池大小的动态控制 JRockit Runtime AnalyzerJRockit Runtime Analyzer(JRA)是一个随需应变的 动态记录器 它生成关于JVM和正在运行的应用程序的详细记录 然后可以使用JRA应用程序对记录下来的配置文件进行离线分析 所记录的数据包括对方法和锁定的分析 还有垃圾收集统计信息 优化决策以及对象统计信息 JRockit Memory Leak DetectorJRockit Memory Leak Detector工具用来发现和查找内存泄漏原因 Memory Leak Detector的趋势分析器可以发现非常缓慢的泄漏 显示详细的堆统计信息(包括指向泄漏对象和分配位置的引用类型和实例) 并快速找出泄漏原因 Memory Leak Detector使用先进的图形化表现技术 以便更容易定位和理解有时比较复杂的信息关于JRockit Mission Control的更多信息 可以阅读文章An Introduction to JRockit Mission Control 或者访问dev dev网站的JRockit Mission Control
JRockit Management Console的Headless模式(试验性)
JRockit Management Console是监控JRockit运行的工具 它包括两部分 一个运行在JVM进程中的JMX代理 一个使用图形化用户界面的独立客户端(关于它以及其它方面的更详细的信息 请参见An Introduction to JRockit Mission Control) 其中 用户界面可以绘出部署在所连接的Java虚拟机中的任何MBean的数值属性的图形 图形密集的应用程序对资源的消耗可能会相当厉害 JRockit Management Console也不例外 可以引入text only(纯文本)模式 以便使用Management Console的通知功能和数据收集工具而不会导致整个GUI的开销
headless控制台引入了大量新的命令行参数 这同样适用于控制台的GUI版本 参数包括
参数 描述 headless 以headless模式启动控制台(不会加载与GUI相关的类) settings <settings file> 使用指定配置文舳H绻讷UI模式启动 并且该文件不存在 那么它将在关闭Management Console时创建 connectall 连接配置文件中所有可用连接(即原先使用GUI添加的) connect <connection > <connection > < > 使用GUI连接配置文件中可用的指定连接 autoconnect 自动连接到运行在启用JRockit发现协议(JRockit Discovery Protocol JDP)的管理服务器上的任何JRockit uptime <time in seconds> 将控制台运行一段指定的时间 然后自动关闭它 useraction <name> <delay in seconds> <period (optional)> 经过指定的时延后运行指定的用户动作 如果不指定period 动作将只执行一次 如果指定 动作将每过<period>秒就执行一次 version 打印Management Console的版本信息 并退出 locale <language> <country (optional)> 使用特定的地区启动控制台 比如 locale ja JP将以日语启动控制台(JRockit R 可用)
这里给出一个以headless模式启动Management Console的例子 读取指定配置文件 尝试连接所有已指定的JRockit 使用JRockit发现协议(JDP 下文讨论)积极查找新的JRockit 秒后将以每分钟一次的间隔向所有连接的JRockit发送Ctrl Break命令 一小时之后自动关闭 以前加入指定连接的所有通知规则(不管是通过使用GUI还是通过直接编辑配置文件添加的)将生效
java jar ManagementConsole jar headless settings C:\Headless\consolesettings xml connectall autoconnect uptime useraction ctrlbreak
用户动作是可以与JRockit Management Console上的一组连接进行交互的插件类 同样使用控制台配置文件来存储配置数据 用户动作显示在JRockit控制台图形用户界面的Plugins菜单下 headless模式中也可用 随控制台提供了两个默认用户动作 jrarecording用户动作 对连接的JRockit启动JRA记录 ctrlbreak用户动作 向连接的JRockit发送Ctrl Break命令(参见本文中关于Ctrl Break Handler和JRockit运行时分析器的小节) 要指定特定用户动作的参数 可以使用GUI进行配置 也可以编辑Management Console配置文件 后者可以在<user home>/ManagementConsole/ManagementConsole/consolesettings <version> xml文件中找到
编写自己的用户动作很容易 首先创建一个AbstractUserAction的子类 该示例演示了如何创建一个从所有连接的JRockit获取线程堆栈转储的用户动作
package example useractions; import java io IOException; import java util List; import nsole rjmx CommonRJMXNames; import nsole rjmx RJMXConnectorModel; import nsole useractions AbstractUserAction; / This is a simple user action getting stackdumps from the selected JRockits and printing them on stdout @author Marcus Hirt / public class MyUserAction extends AbstractUserAction { public void executeAction(List connections) { for (RJMXConnectorModel connection : connections) { if (connection isConnected()) { try { System out println(CommonRJMXNames getThreadMXBean(connection) getThreadStackDump()); } catch (IOException e) { e printStackTrace(); } } } } }
接下来 需要在consolesettings xml文件中配置部属描述符 以便用户动作对于控制台可用 可以在配置文件中发现user_actions元素 它已经填充了一些user_action元素 示例动作的部署描述符应当以相同的样式输入 描述符看起来会是这样
<user_action> <user_action_class> example useractions MyUserAction</user_action_class> <user_action_name>stackdump</user_action_name> <user_action_menu_name>Stack Dump on stdout</user_action_menu_name> <user_action_description>Gets a stack dump from the selected JRockit(s) and dumps it on stdout </user_action_description> </user_action>
这也使得用户动作在Plugins菜单下的用户界面中可见
当控制台启动或退出时 如果有设置/状态需要从配置文件加载/保存 只需重写exportToXml()/importFromXml()方法 如示例中所示
/ @see nsole util XmlEnabled #exportToXml( w c dom Element) / public void exportToXml(Element parentNode) { super exportToXml(parentNode); XmlToolkit setSetting(parentNode MY_PROPERTY m_myVal); } / @see nsole util XmlEnabled #initializeFromXml( w c dom Element) / public void initializeFromXml(Element parentNode) { super initializeFromXml(parentNode); m_myVal = XmlToolkit getSetting(parentNode MY_PROPERTY DEFAULT_MY_VALUE)); }
注意 用户动作的名称是使用launcher启动参数时将引用的用户动作名称 菜单名是会在GUI菜单中显示的名称 更多的信息请参见user action docs和JLMEXT docs 注意 这只是一个试验性的功能 提供的文档还相当简单 编写定制的通知动作和约束的方式与此类似 更多信息请参见Management Console User Guide
JRockit发现协议(JDP) JDP(JRockit发现协议)是个简单且有效的协议 用于允许JRockit管理服务器向Management Console组播它的存在 下面的两个表分别列出了在服务器端和客户端控制JDP行为的系统属性
管理服务器的JDP属性 系统属性 描述 默认值 jrockit managementserver autodiscovery 启用JRockit发现协议 False jrockit managementserver discovery period 在两个ping之间需要等待多久(以毫秒为单位) jrockit managementl 活跃的跃点数 jrockit managementserver discovery address 所使用的组播地址 jrockit managementserver discovery port 所使用的组播端口
Management Console的JDP属性 系统属性 描述 默认值 nsole preferences jdp port 用于JRockit发现协议的端口 nsole preferences jdp address 所使用的组播地址
这里给出了在服务器端启用JDP的情况下 启动JRockit需要最少参数的示例
java Xmanagement Djrockit managementserver autodiscovery=true<your program>
Ctrl Break Handler
您是否曾经希望在JVM启动后可以使用一种轻松的方式与其交互?假如说您忘记添加 Xmanagement选项来启动管理服务器 或者您想改变运行系统中GC的冗余级别 这些现在很容易通过重新配置Ctrl Break Handler来完成 而且它不只是打印堆栈跟踪
用法
创建一个名为ctrlhandler act的文件 向ctrlhandler act文件添加命令(参见下文命令列表) 以 stop 结束文件 这是结束文件分析的保留命令 按下ctrl break 每一个命令都将以出现的顺序执行JRockit首先会在当前工作目录查找该文件 如果未找到 JRockit将在JVM目录中查找 如果仍然没有的话 JRockit将回退以生成一个常规的线程堆栈转储 JRockit将在每次按下ctrl break时读取act文件 因此用户可以在方便时重新配置该文件 而同时JRockit仍在运行
这里给出一个示例act文件 它首先打印时间戳 然后是用于启动JRockit的命令行 最后是一个线程堆栈转储 它还包括可以用于act文件的有用命令的列表
# Example ctrlhandler act file timestamp mand_line print_threads stop # set_filename filename=<file> [append=true] # Sets the file that all handlers following this mand will # use for printing You can have several set_filename mands # in a file It takes o arguments: filename and an optional # append to specify if you want to append to the file # or overwrite it Default is to overwrite the file # timestamp # Prints a timestamp # print_threads # The normal thread dump # verbosity [args=<ponents>] [filename=<file>] # Changes the verbosity level normally specified with Xverbose # version # Prints JRockit version information # mand_line # Prints the mand line used to start JRockit # print_object_summary # Prints heap usage statistics (how much heap is used per class) # together with a delta on how much this has changed since # the last invocation of this ctrl break handler # print_memusage # Prints a memory usage report of how JRockit is using # the memory # heap_diagnostics # Prints a detailed report of the heap including ascii graphics # over the heap layout # print_class_summary # Prints all loaded classes # print_utf pool # Print all UTF strings # jrarecording [filename=<file>] [time=<time>] [nativesamples=true] # Starts a JRA recording # run_optfile [filename=<file>] # See OptFile # start_management_server # Starts the new JMX based management agent # kill_management_server # Stops the management agent # start_rmp_server # Starts the old management server (actually the listening # socket that in turn starts servers whenever a connection # is established) # kill_rmp_server # Stops the old management server (actually shuts down the # listening socket) The only reason it isn t named # kill_rmp_server is that stop is a reserved keyword # that stops the parsing of the act file ;) # help [ctrl break handler] # Prints all available ctrl break handlers if no argument # is specified or help for the specified ctrl break handler # memleakserver [port=<port>] # Toggles the memleakserver If it hasn t been started # it will be started If it has already started it will be # shut down The default port is # verbose_referents action=[heap|full|nursery|start|stop] # Print verbose reference information # Parameters: # action=[heap|full|nursery|start|stop] # heap trigger a heap collection and output reference # information # full trigger a full heap collection (clears softly # reached soft referents) # nursery trigger a nursery collection (heap collection # if running without nursery) # start start writing reference information to default # verbose stream # stop stop writing reference information # print_exceptions # exceptions=[true|all|false] stacktraces=[true|all|false] # Enable printing of Java exceptions thrown in the VM # Parameters: # exceptions print exceptions # stacktraces print exceptions with stacktraces # At least one of the parameters is required # Values for the parameters can be true|all|false # true print all exceptions # except java/util/EmptyStackException # java/lang/ClassNotFoundException and # java/security/PrivilegedActionException # all print all exceptions # false don t print exceptions # To turn exception printing off pletely you need to set # exceptions = false even if it was turned # on by stacktraces = true JRCMD 使用JRCMD实用工具是一种新的调用Ctrl Break Handler的便捷方式 可在JRockit发行版的bin目录中找到它 用法 jrcmd <PID> <mand> <parameters>
JRCMD 使用JRCMD实用工具是一种新的调用Ctrl Break Handler的便捷方式 可在JRockit发行版的bin目录中找到它
用法 jrcmd <PID> <mand> <parameters>
PID = 要在其中执行Ctrl Break Handler的JRockit进程的进程ID mand = 要执行的Ctrl Break Handler命令 parameters = Ctrl Break Handler的参数如果不指定选项(或者只指定 P) 那么将显示运行在本地机器上的所有JRockit的进程ID 如果PID设为 那么命令将发送给在本地机器上运行的所有JRockit JVM
要列出特定的JRockit中有哪些Ctrl Break Handler可用 可以使用help命令
jrcmd <PID> help
要想获得某个具体的Ctrl Break Handler的帮助信息 需要在help后添加Ctrl Break Handler的名称 比如
jrcmd help kill_management_server
也可以使用JRCMD列出指定进程的性能计数
jrcmd <PID> l
远程调用Ctrl Break Handler 可以使用JRockit Management Console来远程调用Ctrl Break Handler 存在一个对JRockitConsoleMBean的操作 称为runCtrlBreakHandlerWithResult JRockit Management Console可以从属性浏览器调用对MBean的操作 这里有关于如何调用Ctrl Break Handler的逐步描述
连接到一个运行中的JRockit 右击该连接 选择Browse Attributes 展开 jrockit domain文件夹 选择JRockitConsole MBean 单击operations选项卡 查看可用操作 单击String parameter参数按钮 找到runCtrlBreakHandlerWithResult操作 输入希望执行的Ctrl Break Handler名称 语法与ctrlhandler act文件相同 按下OK 按下Execute按钮 执行操作试着输入 help 作为参数 将会列出所有可用的Ctrl Break Handler 如图 所示
图 从JRockit Management Console调用Ctrl Break Handler(单击查看大图)
堆视图(试验性) 当分析应用程序如何使用某种垃圾收集策略时 在每一次GC后对堆进行快照将会非常有帮助 这有助于开发人员研究数据 比如碎片/压缩以及算法通常如何执行 但是快照中包含如此多的数据量以至于查看它没有什么意义 因此JRockit团队开发了一个提供图形化表示的小工具 以便更好地进行说明
图 显示了一个快照的例子(使用的是一个非常早的JRockit 预发布版本)
每一排表示一次垃圾收集 左边是开始的堆 右边是结束的堆 堆显示的右边是一个可配置图形 实心白 域表示空白堆 黑 域是充实区(也就是填充了对象的区域) 浅灰 域是碎片区 红色 **和绿 域是可配置图形 可以从命令行指定在可配置图形中显示什么 该工具依然很粗糙 对于用户也不够友好 不过毋庸置疑它对JRockit的终端用户非常有用 所以这是一个非常不错但是不能通用的工具
code coverage(试验性) 很多开发人员在以某种方式使用他们的应用程序时 使用code coverage分析来研究诸如代码库中的多少以及哪些部分正在运行之类的状况 测试人员喜欢使用code coverage来度量测试套件覆盖应用程序的比例 但是 对于大型应用程序 由code coverage工具所引起的性能开销通常是被禁止的
JRockit内置了高性能的行code coverage 当启用code coverage运行时 代码将由记录行命中的捕获器生成 一旦某行被命中并记录 就删除捕获器 JRockit可以继续以接近全速的速度运行
要使JRockit记录code coverage数据 必须指定一个命令行选项
用法 Xcodecoverage
可以使用以下系统属性来控制该行为
系统属性 描述 decoverage filter=<filterspec> filterspec是个以分号(Windows)或冒号(Linux)隔开的筛选器字符串列表 它定义哪些类应当被覆盖 以 开头的筛选器字符串会被视为不应当覆盖的类
示例 decoverage filter=java/util/Hashtable;/bea/; /bea/bla
decoverage filterfile=<filename> 设置包含筛选器定义的文件的文件名 文件格式为每行一个筛选器字符串 decoverage outputfile=<filename> 设置存放输出的文件 如果写入<filename>_ 输出文件不能被打开 那么将尝试<filename>_ 以此类推 在多个JVM共享一个公共命令行的情况中 这可能会很有用 decoverage testid=<id string> 设置初始测试标识符 decoverage verbose 使code coverage更为详细 适用于在覆盖文件(均是纯文本文件)中执行文本比较 decoverage appendoutput 设置对输出文件的写入为追加而不是覆盖
这里给出特定于code coverage的参数 用于生成如下图中所示的数据
Xcodecoverage decoverage filter=/jrockit/console/;/jrockit/mon/ decoverage outputfile=console_coverage txt
在内部 由一个code coverage小工具来解释JRockit所生成的数据 如图 所示
图 code coverage工具的输出示例
lishixinzhi/Article/program/Java/hx/201311/26298
正确的回退方法如下:
1、打开设置→更新和安全→恢复,找到“回退到Windows7(或Windows 81)”,点击“开始”。
2、选择“回退”理由(可多选),然后点击“下一步”继续(以下每一步随时都可以取消“回退”操作)。
3、仔细阅读注意事项,全过程需要有稳定电源支持,也就是说笔记本和平板电脑需要在接入电源线的状态下进行回退操作,电池模式不被允许;另外,系统还提示了一些关于文件和程序可能受到的影响。了解并采取措施之后,点击“下一步”继续。
站点服务器和分支分发点计算机的远程差分压缩
站点服务器和分支分发点需要远程差分压缩 (RDC),才能生成包签名和执行签名比较。默认情况下,Windows Server 2008 或 Windows Server 2008 R2 上未安装 RDC,因此必须手动启用 RDC。
使用以下过程为 Windows Server 2008 和 Windows Server 2008 R2 启用远程差分压缩。
在 Windows Server 2008 或 Windows Server 2008 R2 计算机上,导航到“开始”/“所有程序”/“管理工具”/“服务器管理器”以启动服务器管理器。在服务器管理器中,选择“功能”节点并单击“添加功能”以启动添加功能向导。
在“选择功能”页面上,选择“远程差分压缩”,然后单击“下一步”。
完成向导的剩余步骤。
关闭服务器管理器。
Internet Information Services (IIS)
如果 Windows Server 2008 和 Windows Server 2008 R2 计算机将用于承载以下任何站点系统角色,则必须为这些计算机安装 Internet Information Services (IIS):
管理点
为“允许客户端使用 BITS、HTTP 和 HTTPS 从此分发点传输内容”而启用的分发点
报表点
软件更新点
服务器定位器点
回退状态点
将 WebDAV 配置为支持为“允许客户端使用 BITS、HTTP 和 HTTPS 从此分发点传输内容”而启用的管理点和分发点
除了配置 IIS 外,还必须针对为“允许客户端使用 BITS、HTTP 和 HTTPS 从此分发点传输内容”而启用的管理点和分发点配置 WebDAV 扩展。
带 IIS 70 的 Windows Server 2008:安装 IIS 70 后手动安装和配置 WebDAV 扩展。
带 IIS 75 的 Windows Server 2008 R2:IIS 附带 WebDAV 扩展,您不必手动下载这些扩展,但在安装 IIS 过程中必须启用 WebDAV 扩展。
在 Windows Server 2008 和 Windows Server 2008 R2 计算机上安装 InternetInformation Services (IIS)
使用适用于 Windows Server 2008 和 Windows Server 2008 R2 的以下过程:
在 Windows Server 计算机上,导航到“开始”/“所有程序”/“管理工具”/“服务器管理器”以启动服务器管理器。在服务器管理器中,选择“功能”节点,然后单击“添加功能”以启动添加功能向导。
在添加功能向导的“选择功能”页面上:
对于 Windows Server 2008,请选中“BITS 服务器扩展”复选框。对于 Windows Server 2008 R2,请选中“后台智能传输服务(BITS)”复选框。出现提示时,单击“添加必需的角色服务”添加从属组件,包括 Web 服务器 (IIS) 角色。
选中“远程差分压缩”复选框,然后单击“下一步”。
在添加功能向导的“Web 服务器 (IIS)”页面上,单击“下一步”。
在添加功能向导的“选择角色服务”页面上:
仅限 Windows Server 2008 R2:对于“常见 HTTP 功能”,请选中“WebDAV发布”复选框。
对于“应用程序开发”,请选中“ASPNET”复选框,出现提示时,单击“添加必需的角色服务”以添加从属组件。
note注意
如果站点系统将被配置为报表点,则还必须选中“ASP”复选框。
对于“安全”,请选中“Windows 身份验证”复选框。
在“管理工具”节点中,对于“IIS 6 管理兼容性”,请确保选中“IIS 6 元数据库兼容性”和“IIS 6 WMI 兼容性”复选框,然后单击“下一步”。
在“确认”页面上,单击“安装”,然后完成向导的剩余步骤。
单击“关闭”退出添加功能向导,然后关闭服务器管理器。
为 IIS 70 安装 WebDAV
您必须在包含 IIS 70 的 Windows Server 2008 计算机上手动安装 WebDAV。以下过程适用于安装了 IIS 70 的 Windows Server 2008:
根据您的服务器操作系统体系结构,从下列位置下载 x86 或 x64 版本的 WebDAV:
根据所下载的版本,运行 webdav_x86_rtwmsi 或 webdav_x64_rtwmsi 文件以安装 WebDAV IIS 70 扩展。
启用 WebDAV 并创建一个创作规则
使用以下过程为 Windows Server 2008 和 Windows Server 2008 R2 启用 WebDAV 并创建创作规则:
导航到“开始/所有程序/管理工具/Internet 信息服务 (IIS) 管理器”以启动 Internet Information Services 7 应用程序服务器管理器。
在“连接”窗格中,展开“站点”节点,如果对站点系统使用默认网站,则单击“默认网站”,如果对站点系统使用自定义网站,则单击“SMSWEB”。
在“功能视图”中,双击“WebDAV 创作规则”。
显示“WebDAV 创作规则”页面后,在“操作”窗格中,单击“启用 WebDAV”。
在“操作”窗格中,单击“添加创作规则”。
在“添加创作规则”对话框中,对于“允许访问”,选择“所有内容”。
对于“允许访问此内容”,选择“所有用户”。
对于“权限”,选择“读取”,然后单击“确定”。
使用以下过程在 Windows Server 2008 和 Windows Server 2008 R2 上更改 WebDAV 的属性行为:
在“WebDAV 创作规则”页面的“操作”窗格中,单击“WebDAV 设置”。
在“WebDAV 设置”页面中,对于“属性行为”,将“允许匿名属性查询”设置为“True”。
将“允许自定义属性”设置为 False。
将“允许深度不受限制的属性查询”设置为 True。
0条评论