Is it possible to change to port of the internal ACF 10 Tomcat (Coyote) webserver to port 80?
My attempts where not successful, after changing the value from 8500 to 80 ACF doesn't start anymore - and no logfile is written.
The port is not reserved.
Charlies recent blog on CF10 tomcat webserver might be useful:
What hint would you like? It refers exactly to how to change the port. (Thanks for the mention, Carl.)
Now, maybe, Harry, you mean “CF does not come up when I change its internal web server port 80”. That could very well be because something else on the box is already using port 80, which is the default port for web servers like Apache and IIS. Do you mean you want hints how to detect what may be using that port? There are many, many ways to do it. It would help if you’d tell us if you’re on Windows or Linux. Similarly, if it is the other web server, you’d just want to stop it.
But then that begs the question: why are you trying to do this (change CF’s internal web server port to be 80)? If you read the blog entry Carl pointed you to, you saw I make the case for why one might consider using the internal web server instead of an external one (since it, the Tomcat web server, is far better than the old JRun web server), but I still make the point (more than once) that I’m not saying that one SHOULD change it.
So again, please tell us more, so that we can best help you.
Thanks Charlie and sorry for my bad english. I know how to change the port and also how to check if port 80 is open (e.g. by using netstat on Windows).
I changed the port from 8500 to 80 but ACF does not come up after this change - and nothing is logged in Tomcat.
There is only a meaningless Windows application eventlog message.
Have you already tried to change the port to 80 on your box? Does it work?
Perhaps there is an error we just not seeing it. Try start CF10 from CMD (as administrator?) prompt. Eg:
Any interesting warnings or errors?
HTH again, Carl.
Thanks again Carl.
I tried as suggested:
Response: Either the server is already running or some other application is using the HTTP port 80.
Interesting, I checked several times but the port is not used:
D:\ColdFusion10\cfusion\bin>netstat -o -n -a | findstr 0.0:80
Very frustrating ...
“Harry”, I really do think that this is your bottom line problem: something else is holding port 80.
Now, as for why your netstat says you have nothing else running on that port, well, here’s one thought: what if something’s listening on an IPV6 address? Is it possible that would not show up with the search filter you did (findstr 0.0:80). What if you use findstr ::]:80 instead? That’s just a guess. I don’t know for sure that something could show up as IPV6 and not IPV4, but it’s worth ruling out.
Better still, as for finding what ports are being listened on, I can’t recommend enough the free tool, curports. It presents a nice, simple, sortable display:
BTW, something that I often find is running on port 80 and blocking things for people, that they would never expect, is Skype. For more, see http://www.mydigitallife.info/disable-skype-from-using-opening-and-lis tening-on-port-80-and-443-on-local-computer/.
Looking forward to getting to the bottom of whatever is holding you up.
(Bummer, I had offered this reply first by email (before my other reply today, showing up below here in the forums), but somehow it was rejected by the forum mail server, which is odd, since I replied to this message from Harry the same way I had replied to the "later" note.)
Sorry for the delay in responding, “Harry”. Yes, I have indeed configured CF10 to run its internal web server as port 80. And it’s running successfully as I speak. Here’s the line from the C:\ColdFusion10\cfusion\runtime\conf\server.xml:
<Connector executor="tomcatThreadPool" maxThreads="50"
And here’s my netstat (per the variant you showed you were using in your later note in this thread):
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 9016
And that 9016 is indeed CF10 (tasklist | findstr 9016):
coldfusion.exe 9016 Services 0 496,572 K
Finally, here is the CF10 internal web server access log (C:\ColdFusion10\cfusion\runtime\logs\localhost_access_log.2012-08-18 .txt) entry showing that a test request I did just now was indeed run via that web server:
0:0:0:0:0:0:0:1 - - [18/Aug/2012:17:20:47 -0400] "GET /test2.cfm HTTP/1.1" 200 78987
So yes, it can and does work to use the internal web server as port 80.
About your later note saying CF will not start if you try to configure this, because it conflicts with something already running on port 80, I really think that’s your bottom line problem (something else is holding the port). But as for your challenge to see what that could be, I’ll reply separately to that note.
Thanks for your ongoing help Charlie. I tried several suggestions (cports, skype settings, teamviewer settings, uninstalled vmware, ...) and finally found the problem:
It was the TrendMicro Security Agent ... (after shutting down the agent, I was able to start ACF 10).
Maybe this information is useful for other TrendMicro customers.
Thanks for the update. But are you saying it was running in such a way as to “hide” its use of port 80 from tools like cports and netstat? Either way, sure, knowing of yet one more thing to “try” if all else fails is helpful. Thanks for sharing it.
Exactly, it sounds strange but this was the case - the TrendMicro Agent seems to hide the port 80 usage. What I still don't understand, is why MS IIS and Apache Webserver (which I use with other ACF versions and start manually sometimes) still work on this machine?
Maybe the IIS or Apache services start before TrendMicro, so that when they normally run, it (TM) grabs a different port because it finds port 80 taken.
But then if you stop them (IIS and Apache) and either restart the box, or perhaps rerun TM or it reruns on its own, it then grabs the port while it’s “open”. So that by the time you then try to run CF to use port 80 with its internal server, it cannot because now TM’s taken it. Just guessing. There HAS to be an answer, of course.