我想要 Jetty 为端口 8080 上的任何主机提供连接服务。我的/etc/default/jetty
文件有:-
NO_START=0
JETTY_HOST=
JETTY_PORT=8080
该服务器是基于 Lucid Lynx 32 位服务器 AMI 的 EC2 小型实例。APT 配置为启用了 Multiverse,并且启用了规范合作伙伴存储库。Jetty 是来自合作伙伴存储库的 6.1.22。
当我使用启动 jetty 时sudo /etc/init.d jetty start
,它可以工作,并且监听来自本地主机的连接,但不监听任何其他主机的连接:-
ubuntu@ip-10-224-70-51:/etc/network/if-pre-up.d$ sudo netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
413/sshd
tcp6 0 0 127.0.0.1:8080 :::* LISTEN
5655/jsvc
tcp6 0 0 :::22 :::* LISTEN
413/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:*
260/dhclient3
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name P
ath
unix 2 [ ACC ] STREAM LISTENING 1407 1/init @
/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 4021 407/dbus-daemon /
var/run/dbus/system_bus_socket
如果您能告诉我为什么我的 Jetty 配置似乎没有监听其他主机,我将非常感激!
答案1
找到啦!你需要:-
JETTY_HOST=0.0.0.0
监听其他主机。因此,最小的 /etc/default/jetty 文件包括:-
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
NO_START=0
JETTY_HOST=0.0.0.0
JETTY_PORT=8080
答案2
对于想要在 Ubuntu 上使用带有 Sun Java JDK 的 Jetty 的任何人,都需要更改以下文件/etc/default/jetty
:
NO_START=0 # so jetty can be started.
JETTY_HOST=0.0.0.0 # so jetty listens to all hosts.
JETTY_PORT=8999 # optionally, port on which jetty listens (in my case 8999).
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun # very important, your JAVA_HOME dir.
这就是在 ubuntu 上运行 jetty 所需要的全部内容。
(我花了一个小时才意识到我错过了什么,JAVA_HOME
尽管我已经在中定义了它.bashrc
)