จะทำให้ Jetty webserver ฟังบนพอร์ต 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 ได้http://192.168.1.10:8080แต่ฉันต้องการฟัง Jetty ที่พอร์ต 80

ฉันได้ลองตั้งค่านี้ในไฟล์กำหนดค่าเดียวกัน:

# The network port used by Jetty
JETTY_PORT=80

จากนั้นรีสตาร์ท Jetty ด้วยsudo service jetty restartแต่ไม่สามารถใช้งานได้

ฉันจะเปลี่ยนเพื่อให้ Jetty webserver กำลังฟังพอร์ต 80 ได้อย่างไร


คุณสามารถเปลี่ยนได้จาก start.ini (รูท Jetty) คุณมี -> jetty.port - line, uncomment และให้ค่า (ค่าเริ่มต้นคือ 8080)
Rodislav Moldovan

คำตอบ:


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แต่ Jetty ไม่อยู่ในรายการ
Jonas

อาจเป็นเพราะท่าเทียบเรือไม่ได้ทำงานเหมือนรูท ฉันกำลังลองใช้การตั้งค่าและจะโพสต์เป็นระยะเวลาหนึ่ง
theTuxRacer

ผมสามารถที่จะได้รับหน้าเริ่มต้นโดยการทำงานจากsudo java -jar start.jar /usr/share/jettyฉันยังกำหนดค่า/etc/jetty/jetty-setuid.xmlให้เริ่มต้นเป็นผู้ใช้ที่มีสิทธิ์
theTuxRacer


1
ฉันวิ่งsudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080และตอนนี้ก็ใช้งานได้ดี ขอบคุณ!
Jonas


1

ฉันกำลังใช้ Jetty 9 ในไฟล์ start.ini คุณสามารถค้นหาและแก้ไขคุณสมบัติjetty.portได้ จากนั้นคุณต้องรีสตาร์ท jetty.service


อาจมีประโยชน์หากคุณขยายคำตอบของคุณโดยการระบุตำแหน่งของไฟล์ start.ini, บรรทัดใน start.ini ที่จะต้องแก้ไขและข้อความที่แก้ไขที่จะต้องใช้
CentaurusA
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.