Reputation: 391
I am a newbie in Java, and I am trying to develop a web application. I have Windows 7 32 bit. I have installed Java 7 and set the path and classpath as well. After that I installed Tomcat 7.
When I try to open tomcat home page using URL localhost:8080
, it does not open and Tomcat stops automatically.
Please help me.
Upvotes: 39
Views: 321297
Reputation: 129
In my case, the port that tomcat was running on was defined in an application.properties file for 8000, not 8080. In my case, it looked like the same problem described here. Just leaving this here in case anyone has a similar setup and issue! :)
Upvotes: 0
Reputation: 5959
If you are using eclipse to start the server then check for the server location being used and the deployment path:
In my case changing this to Tomcat installation
instead of workspace metadata
worked for me.
Upvotes: 3
Reputation: 11267
1) Using Terminal (On Linux), go to the apache-tomcat-directory/bin folder.
2) Type ./catalina.sh start
3) To stop Tomcat, type ./catalina.sh stop
from the bin folder. For some reason ./startup.sh
doesn't work sometimes.
Upvotes: 2
Reputation: 11267
Look in TomcatDirectory/logs/catalina.out for the logs. If the logs are too long, delete the catalina.out file and rerun the app.
Upvotes: 0
Reputation: 8741
Make sure no other application using port 8080 before starting tomcat. If that's not the problem please paste tomcat log.
If you want to change tomcat's default port, go to tomcat folder and open conf
folder, in which you can see server.xml
. In that file you can see something like <Connector port=
. Change the port value and start tomcat.
Upvotes: 19
Reputation: 114
The problems may happen because of memory issue. java.lang.OutOfMemoryError: Java heap space
please verify the logfile, any issues related to hardware(memory).
Upvotes: 0
Reputation: 4032
I had the same issue. My tomcat was started but I was getting HTTP 404 page not found.However, in my situation, I installed tree instances of tomcat. Each instance contains conf, temp, work, webapps and logs folders. Unless I forgot, to copy the global web.xml under conf folder of each tomcat.
e.g: /opt/tomcat/mytomcatInstance/conf/web.xml
The web.xml Deployment Descriptor file describes how to deploy a web application in a servlet container.
So even if my tomcat was up, my web apps could not be deployed properly.
Upvotes: 0
Reputation: 4955
I am using Eclipse Java EE IDE for Web Developers. Version: Oxygen.1a Release (4.7.1a) in Windows 8.1 x64
with Apache Tomcat 8.5.24
(for testing purpose).
Port Name & Numbers for my Tomcat Server are :
Tomcat admin port : 8005 HTTP/1.1 : 8081 (my Tomcat Listening Port Number) AJP/1.3 : 8009
Peoples, for those the Tomcat were running good earlier, and sometimes
sudden after stopping tomcat server
explicitly by pressing the below shown image button or may be other reasons.
Either
they continuously failed to start/restart
the tomcat with below said error:
Server Tomcat vX.Y Server at localhost failed to start.
or
sometimes the Tomcat Server is started
but instead of showing Tomcat Homepage
in web browser, it is throwing client exception HTTP Status 404 – Not Found.
in preferred web browser.
possibly, there are many reasons i.e. wrong Host name
defined, Wrong Tomcat Server Locations
defined in eclipse, project JDK/JRE
version mismatch with Tomcat JRE dependent version
, maven project version mismatch due to maven.compiler.source
and maven.compiler.target
version not defined under properties tag, mismatch version of project facet Dynamic Web Module to 2.5/3.0, Sometimes Tomcat Server is running on Windows Services level, previous stopped Tomcat port number were still listening and the processing pid
were not killed in Tomcat defined timespan Timeouts Stop (in seconds): 15(by default)
in eclipse and pid
still running, failed to start in defined Start (in seconds): XX
, etc.
Here I will give the resolution on, how to check and kill the running existing Tomcat port number's processing pid
(beware, you must be aware with after effects).
In Windows, open you command prompt, and follow steps(my tomcat HTTP port is 8081):
netstat -ano | findstr :8081 TCP 0.0.0.0:8081 0.0.0.0:0 LISTENING 2284 TCP [::]:8081 [::]:0 LISTENING 2284
if any listening is being there, above command will list details of port listening along with processing pid
at last of the line(here pid is 2284).
now kill the running pid like:
taskkill /PID 2284 /F SUCCESS: The process with PID 2284 has been terminated.
also illustrated the above two steps like following:
Now, after resolving above illustrated reason, start the Tomcat Server
.
Upvotes: 0
Reputation: 349
If you started tomcat through eclipse, It can be solved in different ways too.
Method 1:
Upvotes: 15
Reputation: 1454
For mac users
First Try : go to activity monitor -> search for java and kill the instance then restart the server and try.
Second Try: Check log file for any errors under tomcat logs folder.
Use below command to check tomcat logs in terminal
tail -f {tomcatpath}/logs/catalina.out
Third Try: Check if node or other apps using the same port. Use below command to check which app listening to a specific port. You will see list of apps with pid in second column.
lsof -i :8080 | grep LISTEN
Kill the process using below command
sudo kill -9 pid
Upvotes: 1
Reputation: 1118
For windows user, type netstat -an
in command prompt to see ports that are listening, this may come handy.
Upvotes: 2
Reputation: 96
If you have your tomcat started (in linux check with ps -ef | grep java
) and you see it opened the port 8080 or the one you configured in server.xml (check with netstat --tcp -na | grep <port number>
) but you still cannot access it in your browser check the following:
logs/catalina.out
. You should see something like this when the server started completely.
INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 38442 ms
SecureRandom
class responsible to provide random Session IDs and which can cause big delays during startup.
Check more details and the solution here.iptables -L -n
): You can try to reset your firewall completely iptables -F
if you are not into an exposed environment. However, pay attention, that leaves you without protection therefore it can be dangerous.selinux
(if you are on linux).These are some of the most forgotten and not obvious issues in having your Apache Tomcat up and running.
Upvotes: 0
Reputation: 391
My issue has solved.I was getting log as below.
SEVERE: StandardServer.await: create[localhost:8005]: java.net.BindException: Cannot assign requested address: JVM_Bind
My tomcat server was automatically stopping when I tried to open tomcat homepage with URL.
So I just made some changes in windows->System32->drivers->etc->host file. keep only 127.0.0.1 localhost and remove all other. your problem will be solved. Thank you guys for your help :D
Upvotes: 0
Reputation: 23004
Your issue is not with port 8080
, but with port 8005
. Port 8005
is the shutdown port for Tomcat.
Rather than trying to figure out what is using port 8005
, it may just be easier to edit TOMCAT_DIR/conf/server.xml
and change the shutdown port to 8006
<Server port="8006" shutdown="SHUTDOWN">
Upvotes: 9
Reputation: 5658
For *Unix based systems, you can check the ports used by a particular application by issueing the following command in the terminal
[~/.]$ netstat -tuplen
You will get the list of all the ports that are being currently held and used by their respective process ID's
Upvotes: 2