By default, for NetX to be able to start/run, the Tomcat service has to be able to bind to (and listen on) port 80 (the HTTP port). If Tomcat is not able to bind to port 80 and start, then another application or service has already taken this port. This will be evident in the stderr.log with this message:
SEVERE: Failed to initialize end point associated with ProtocolHandler ["ajp-bio-80"] java.net.BindException: Address already in use: JVM_Bind <null>:80
Catalina.start: LifecycleException: null.open: java.net.BindException: Permission denied:80 LifecycleException: null.open: java.net.BindException: Permission denied:80
For Tomcat to start, you will have to figure out what’s using port 80 (and possibly port 443) on your system, and stop and disable it.
NetX is not responsible for any issues caused by following the methods listed below. Please consult an experienced server administrator before altering your environment.
Known Windows services that use port 80
From Services Manager (run: services.msc), stop and disable these native Windows Services which are known to bind to port 80.
Double click Service, and change ‘Startup Type’ to ‘Disabled’.
- SQL Server Reporting Services (ReportServer)
- Web Deployment Agent Service (MsDepSvc)
- BranchCache (PeerDistSvc)
- Sync Share Service (SyncShareSvc)
- World Wide Web Publishing Service (W3SVC)
- Internet Information Server (WAS, IISADMIN)
You might, or might not have some of these Services installed and running:
A. Other instances of Apache
B. IIS and/or WebMatrix
IIS and Tomcat are web-server applications that also bind to port 80 by default.
Use NETSTAT to detect port 80 listeners
Open the command line (System tab, button: Command Line) and run:
netstat -o -n -a | findstr 0.0.0.0:80
netstat -o -n -a | findstr 127.0.0.1:80
Inspect the lines with a “Local Address” showing port 80 and/or 443 use. Note the PID number. Then open Task Manager (run: taskmgr.exe), go to its Processes Tab, see if you can find the application with that same PID number. It needs to be shut down. If you don’t see it, click the “Show processes from all users” button.
On some systems you can also get the PID directly by using netstat’s ‘-b’ option:
-b Displays the executable involved in creating each connection or listening port. In some cases well-known executables host multiple independent components, and in these cases the sequence of components involved in creating the connection or listening port is displayed. In this case the executable name is in  at the bottom, on top is the component it called, and so forth until TCP/IP was reached. Note that this option can be time-consuming and will fail unless you have sufficient permissions.