ColdFusion built-in webserver

O ColdFusion tem um servidor web (como o IIS e o Apache) bem simples embutido (built-in webserver), que quebra um bom galho, principalmente na máquina do desenvolvedor, que não precisa ter um IIS completo com esse e aquele recurso; apenas o ColdFusion rodando, de maneira simples.

O webserver roda normalmente como na porta 8500 (http://localhost:8500/) e seus arquivos ficam sob a pasta wwwroot no diretório de instalação do ColdFusion, como por exemplo, D:CFusionMXwwwroot.

Tente digitar “localhost:8500” (sem o http://) na barra de endereços do Internet Explorer. Não sei o porque cargas d’agua, ele muda para “local:8500”!! Eu nunca digito “http://” na frente de um endereço web! Seria mais simples se o acesso fosse simplesmente localhost, rodando na porta padrão para web, a 80.

É possível mudar o número da porta em que o built-in web server opera. Abra o {cfmx_root}runtimeserversdefaultSERVER-INFjrun.xml, e localize o seguinte:


<service class="jrun.servlet.http.WebService" name="WebService">
<attribute name="port">8500</attribute>
<attribute name="interface">*</attribute>
<attribute name="deactivated">false</attribute>
<attribute name="activeHandlerThreads">10</attribute>
<attribute name="minHandlerThreads">20</attribute>
<attribute name="threadWaitTimeout">350</attribute>
</service>

Mude a porta de 8500 para 80, salve o arquivo e reinicie o serviço do CF.

Ah, é possível ver mais informações sobre o atributo threadWaitTimeout nesse post do Alex.

O outro ponto é o webroot, que fica sob a pasta de instalação do CF. Esse caminho, que pode ser mais cômodo para o desenvolvedor se for em outra pasta, ou até mesmo em outro disco, também pode ser alterado.

Abra o arquivo {cfmx_root}wwwrootWEB-INFjrun-web.xml e localize o seguinte trecho:


<virtual-mapping>
<resource-path>/*</resource-path>
<system-path>d:/cfusionmx/wwwroot/</system-path>
</virtual-mapping>

Altere o conteúdo do system-path para o caminho de sua preferência e copie o diretório “CFIDE” para o seu novo webroot. Feita a alteração, reinicie o serviço do ColdFusion.