我无法在后台启动 Jenkins(地址已被使用)
I Can't start Jenkins in background (Address already in use)
我是 运行ning jenkins 使用
java -jar jenkins.war -httpPort=31114
并且它正确启动,现在我正在尝试 运行 它在后台,我发现它可以使用 nohup java -jar jenkins.war -httpPort=31114 &
来完成,如此处 Start Jenkins in the background.
但是当我终止我在开始时启动的会话并尝试在同一端口的后台 运行 它时,我收到以下错误:
SEVERE: Container startup failed
java.io.IOException: Failed to start Jetty
at winstone.Launcher.<init>(Launcher.java:186)
at winstone.Launcher.main(Launcher.java:354)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at Main._main(Main.java:375)
at Main.main(Main.java:151)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:339)
at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:307)
at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:235)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.server.Server.doStart(Server.java:395)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at winstone.Launcher.<init>(Launcher.java:184)
... 7 more
Caused by: java.net.BindException: Address already in use
这意味着 jenkins 已经 运行在给定端口上或其他进程正在使用该端口。
netstat -nltp
使用此命令检查所有打开的端口。如果 jenkin allready 运行ning 在该端口上或者其他进程正在使用该端口,则终止进程你可以 运行 jenkins 在其他端口上。
您使用的以下命令是正确的。可能是你打了两次。
nohup java -jar jenkins.war -httpPort=31114 &
ps -ef | grep jenkins
。检查詹金斯是否已经 运行ning.
我尝试将命令 nohup java -jar jenkins.war --httpPort=31114 &
添加到 bash 文件和 运行 文件,成功了
我是 运行ning jenkins 使用
java -jar jenkins.war -httpPort=31114
并且它正确启动,现在我正在尝试 运行 它在后台,我发现它可以使用 nohup java -jar jenkins.war -httpPort=31114 &
来完成,如此处 Start Jenkins in the background.
但是当我终止我在开始时启动的会话并尝试在同一端口的后台 运行 它时,我收到以下错误:
SEVERE: Container startup failed
java.io.IOException: Failed to start Jetty
at winstone.Launcher.<init>(Launcher.java:186)
at winstone.Launcher.main(Launcher.java:354)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at Main._main(Main.java:375)
at Main.main(Main.java:151)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:339)
at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:307)
at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:235)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.server.Server.doStart(Server.java:395)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at winstone.Launcher.<init>(Launcher.java:184)
... 7 more
Caused by: java.net.BindException: Address already in use
这意味着 jenkins 已经 运行在给定端口上或其他进程正在使用该端口。
netstat -nltp
使用此命令检查所有打开的端口。如果 jenkin allready 运行ning 在该端口上或者其他进程正在使用该端口,则终止进程你可以 运行 jenkins 在其他端口上。
您使用的以下命令是正确的。可能是你打了两次。
nohup java -jar jenkins.war -httpPort=31114 &
ps -ef | grep jenkins
。检查詹金斯是否已经 运行ning.
我尝试将命令 nohup java -jar jenkins.war --httpPort=31114 &
添加到 bash 文件和 运行 文件,成功了