-1

I installed the newest version of Windows 7.

This is my development box, so I have glassfish installed, which I use for Java applications. Also, I use IIS to run PHP applications. I run both servers on port 80, but never at the same time.

However, since I set up IIS, I can't get glassfish to run. In eclipse, it always gives the following error:

Port conflict: Please stop the server process using the same port as the one used by the Application Server.
A server process is already running on this port but we cannot determine if it's a GlassFish process (lack of info or credentials).If you do not find something else running on this port, check for antivirus software blocking or monitoring this port.

Edit: I tried turning off IIS, and even turned off the IIS feature. Still no luck.

I also ran netstat, and the following are showing up on ports that glassfish uses:

 Proto  Local Address          Foreign Address        State
 TCP    0.0.0.0:80             NBSDTVL01574:0         LISTENING
 TCP    [::]:80                NBSDTVL01574:0         LISTENING

Thanks

6 Answers6

2

Try running NETSTAT -NAO. This tells you which process is owning the open ports.

Massimo
  • 70,200
  • 57
  • 200
  • 323
  • It says that those ports are owned by the System. – Zack Marrapese Sep 18 '09 at 17:56
  • Look at the right column which is the PID. This is the running process that is holding the port. Then go into task manager and see what that process is. You can kill the process or stop the service. – squillman Sep 18 '09 at 18:02
  • yeah, but the process is system. This is the NT kernel. Probably not a good idea to kill that, is it? – Zack Marrapese Sep 18 '09 at 18:07
  • That's **quite** strange. There's absolutely no reason System should open TCP port 80 for listening. – Massimo Sep 18 '09 at 19:21
  • Ah? REALITY CHECK: Port 80 is run by kernel http.sys driver and applications are supposed to retrieve HTTP requests through that. Glassfish / jva ihores this - IIS for example does not. Running port 80 throug hthe kernel has many advantages, also for example that multiple apps can collaborate (you sign up with the kernel for specific URL's, so multple applications can share the port). – TomTom Jan 26 '11 at 05:29
0

Actually, if you set up glassfish correctly, there is no problem, because default port of glassfish is like tomcat in 8080. But, if you still get the problem, you must set different port for each other manually. Easy to set port not to 8080 for IIS, and that's set up in IIS Manager. You can run both at the same time, but in different port. If you start to running Glassfish, dont forget to run the admin console at http://localhost:4848 as the default port of the administration panel.

0

As well as netstat you can also install Process Hacker and look at the Network tab. It'll show you which process is holding on to your port.

squillman
  • 37,883
  • 12
  • 92
  • 146
0

Simple but maybe useful: try browsing to http://localhost and see what shows up.

Massimo
  • 70,200
  • 57
  • 200
  • 323
0

This process solved the conflict for me:

http://weblogs.asp.net/steveschofield/archive/2007/07/06/iis7-post-44-iis7-and-apache-on-the-same-machine.aspx

0

How do you turn the iis feature off?

You should stop IIS service.

Open Services MMC snap-in. Control Panel > Administrative Tolls > Services or type services.msc in command prompt. Stop the World Wide Publishing service.

You could locate process (or service) with Process Explorer. Run netstat -nao | findstr :80 and locate pid (last column). If you would know pid, it would be easier to locate the process in Process Explorer. When you place mouse over the process (probably one ov svchost.exe services), Process Explorer would display services list runned by this process.

Alternatively, you could reconfigure IIS or GlassFish to listen on port different than 80. To enter site hosted by server you should enter http(s)://localhost:port

sumar
  • 2,106
  • 12
  • 12