如何使Jetty Web服务器在端口80上侦听?


13

我想将Jetty用作网络服务器。

我在处编辑了配置文件/etc/default/jetty并进行了设置:

# change to 0 to allow Jetty start
NO_START=0

# Listen to connections from this network host
# Use 0.0.0.0 as host to accept all connections.
JETTY_HOST=0.0.0.0

现在,我可以通过以下位置访问Jetty Web服务器,http://192.168.1.10:8080但我想让Jetty在端口80上侦听。

我已经在同一配置文件中尝试过此设置:

# The network port used by Jetty
JETTY_PORT=80

然后用重新启动Jetty,sudo service jetty restart但是它不起作用。

如何更改以使Jetty Web服务器在端口80上侦听?


您也可以从start.ini(jetty根目录)更改它,在那里-> jetty.port-行,取消注释并为其赋值(默认值为8080)
Rodislav Moldovan 2013年

Answers:


7

您将需要编辑/etc/jetty/jetty.xml文件。寻找一段说:

<Call name="addConnector">
      <Arg>
          <New class="org.mortbay.jetty.nio.SelectChannelConnector">
            <Set name="host"><SystemProperty name="jetty.host" /></Set>
            <Set name="port"><SystemProperty name="jetty.port" default="8090"/></Set>
            <Set name="maxIdleTime">30000</Set>
            <Set name="Acceptors">2</Set>
            <Set name="statsOn">false</Set>
            <Set name="confidentialPort">8443</Set>
        <Set name="lowResourcesConnections">5000</Set>
        <Set name="lowResourcesMaxIdleTime">5000</Set>
          </New>
      </Arg>
    </Call>

将该jetty.port属性更改80为如下:

<Set name="port"><SystemProperty name="jetty.port" default="80"/></Set>

重新启动码头。那应该做。


由于上述方法不适用于OP,并且不建议以root用户身份运行,因此存在另一种方法,如本文档中所述


这行不通。我也检查过,sudo netstat -nlp但码头未列出。
乔纳斯(Jonas)

可能是因为码头不是以root身份运行。我正在尝试设置,并将在一段时间后发布。
theTuxRacer 2011年

我可以通过sudo java -jar start.jar从运行默认页面/usr/share/jetty。我还配置了/etc/jetty/jetty-setuid.xml以特权用户身份启动。
theTuxRacer 2011年


1
我跑步sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080,现在工作正常。谢谢!
乔纳斯(Jonas)

1

最好的方法是使用xinetd(您可能需要先将其安装在服务器上),请参见此处:http ://wiki.eclipse.org/Jetty/Howto/Port80


1

我正在使用Jetty9。在文件start.ini中,您可以找到和修改属性jetty.port。然后,您必须重新启动jetty.service。


如果通过指定start.ini文件的位置,必须修改的start.ini行以及必须使用的已修改文本来扩展答案,这可能会很有用。
Centaurus18年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.