我正在运行安装了IIS和ColdFusion的Windows 2003 R2服务器。 每当服务器重新启动并且IIS和ColdFusion进程都设置为自动启动时,ColdFusion将在IIS之前启动,从而防止由于端口80上的冲突而启动IIS。每当在IIS之后启动ColdFusion时,它都能正常工作。
有没有办法延迟一个服务的启动,直到另一个服务完成启动后?
任何帮助,将不胜感激!
您可以将ColdFusion服务标记为延迟加载,也可以使IIS成为ColdFusion的依赖项。 依赖意味着除非IIS启动,否则ColdFusion将不会启动,停止IIS将停止ColdFusion。
如果那是你所追求的; 从命令提示符(具有pipe理权限),键入:
sc config ColdFusionServiceName depend= W3SVC
请注意, = in之后的空间是有意和重要的。
你可以阅读更多关于sc config depend 这里 。
我还会注意到,在正常部署中首先启动应该没有关系。 这听起来好像ColdFusion服务器已激活其内部Web服务器,并更改为使用端口80(而不是默认的8500)。 如果是这样,当CF首先启动它将采取端口80,然后IIS将运气不佳。 如果您使用IIS,则应该将ColdFusion的内部Web服务器正在使用的端口更改为其他内容,或者完全禁用它。
从Adobe ColdFusion 9文档 (它将与CF 8相同或相似):
切换内置Web服务器的端口
您可以更改运行内置Web服务器的端口。 更改内置Web服务器的端口
备份jrun.xml文件。
此文件位于Windows中的cf_root \ runtime \ servers \ coldfusion \ SERVER-INF目录中,以及UNIX中的cf_root / runtime / servers / coldfusion / SERVER-INF目录下。
打开原始的jrun.xml文件进行编辑。
更改WebService端口属性中指定的端口号(靠近文件底部):
<service class="jrun.servlet.http.WebService" name="WebService"> <attribute name="port">8500</attribute> <attribute name="interface">*</attribute> <attribute name="deactivated">false</attribute> ... </service>
注意:确保停用的属性设置为false。
保存该文件,然后重新启动ColdFusion。