8080 से Tomcat के पोर्ट को 80 में कैसे बदलें?


जवाबों:


215

1) confटॉमकट इंस्टॉलेशन डायरेक्टरी में फोल्डर पर जाएं

 e.g. C:\Tomcat 6.0\conf\

2) फाइल में निम्नलिखित टैग संपादित करेंserver.xml

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

3) बदलें port=8080 मान कोport=80

4) फ़ाइल सहेजें।

5) अपनी टोम्कट को रोकें और इसे पुनरारंभ करें।


14
इसके अलावा, टोकाट को रोकना और पुनः आरंभ करना सुनिश्चित करें। बस केह रहा हू। :)
AllieCat

3
मैंने ऐसा किया और मुझे 404 त्रुटि मिली! क्या मुझे कुछ और करना चाहिए?
शनि जूल

15
में etc/default/tomcat7सेट AUTHBIND=yes, बंदरगाह 80 के लिए एक PermissionDenied त्रुटि से बचने के
मार्कस Pscheidt

1
लिनक्स पर्यावरण के लिए गुलाब का जवाब देखें!
मार्को

इस उत्तर में / etc / ऑर्बिटिब जानकारी का अभाव है, नीचे गुलाब से उत्तर देखें
jorfus

119

Amazon EC2 में Ubuntu 14.04 LTS। निम्नलिखित चरणों ने मेरे लिए इस समस्या को हल किया:

1. server.xml संपादित करें और पोर्ट = "8080" को "80" में बदलें

sudo vi /var/lib/tomcat7/conf/server.xml

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

2. संपादित करें tomcat7 फ़ाइल (यदि फ़ाइल नहीं बनी है तो आपको इसे बनाने की आवश्यकता है)

sudo vi /etc/default/tomcat7

असहजता और परिवर्तन # AUTHBIND = हां में नहीं

3. ओर्बिटाइंड स्थापित करें

sudo apt-get install authbind

4. टॉमक्वाट 7 को पोर्ट 80 पर पढ़ने + निष्पादित करने के लिए निम्नलिखित कमांड चलाएं।

sudo touch /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
sudo chown tomcat7 /etc/authbind/byport/80

5. टोंक को फिर से शुरू करें:

sudo /etc/init.d/tomcat7 restart

1
वह एक काम करता है। लिनक्स लोग, कम से कम मेरे लिए Ubuntu 14.04.2 LTS के साथ काम करते हैं।
रॉड्रिगो गुरगेल

3
ऑटोबाइंड सही उत्तर है। लेकिन ध्यान दें कि अगर आप 'sudo स्टार्टअप.श' का उपयोग कर रहे हैं तो आप ऑटोबिंड को छोड़ सकते हैं क्योंकि पोर्ट 80 को एस्केलेटेड यूज़र को दिया जाएगा।
मर्सियो जसिंस्की

1
धन्यवाद!! मुझे सर्वर कॉन्फिगर में ओस्टबाइंड को सक्षम करने के बारे में पता था, लेकिन मुझे नहीं पता था कि मुझे पंजीकृत पोर्ट के लिए ऑर्बिटबाइंड में एक फाइल बनानी होगी! काश ओपी ने इस उत्तर के स्वीकृत समाधान को बदल दिया होता! (मैं देखता हूं कि आपको जवाब देने में लगभग 3 साल देर हो चुकी है: P)
Fr0zenFyr

1
यह लबंटू 18.0.4 पर टॉमकैट 9 के साथ काम करता है, स्थापित किए बिना authbind, केवल सेटिंग को जोड़ता है।
मार्को सुल्ला

107

लिनक्स डेबियन-आधारित (ताकि उबंटू शामिल) पर भी आपको जाना होगा /etc/default/tomcat7, #AUTHBIND=noलाइन को अनइंस्टॉल करना और इसके मूल्य को 'हां' में सेट करना होगा, ताकि सर्वर को एक विशेषाधिकार प्राप्त पोर्ट पर बांधने दिया जा सके।


2
नमस्ते, मैं उस विशेष फ़ाइल नहीं है
nmkyuppie

टमाटर का क्या संस्करण? आप किस ओएस पर हैं?
पायनियर आसमान

7
जिप / tar.gz द्वारा स्थापित होने पर टॉमकैट के लिए काम नहीं करता है, क्योंकि वे फ़ाइल को / etc / चूक / में नहीं बनाते हैं।
गोरक्षमोरका

9
ऊपर का रास्ता इस प्रकार होना चाहिए: / etc / default / tomcat7 (डिफ़ॉल्ट रूप से 's' की कमी पर ध्यान दें)
Tristan Reid

1
Tomcat 9 के लिए क्या समान है?
कटु

29

उबंटू और डेबियन सिस्टम पर, कई चरणों की आवश्यकता है:

  1. Server.xml में, लाइन को बदलने <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>के लिए port="80"

  2. एक कमांड के साथ अनुशंसित (आवश्यक नहीं) ऑस्ट्रिबंड पैकेज स्थापित करें:

    sudo apt-get install authbind

  3. सर्वर / xml फ़ाइल में ( /etc/tomcat6या तो में /etc/tomcat7) को सक्षम करें और लाइन को इस तरह सेट करें:

    AUTHBIND=yes

तीनों चरणों की जरूरत है।


5
13.10 में टॉमकैट के लिए काम नहीं करता है (यदि ज़िप / टैरग द्वारा स्थापित किया गया है)।
गोरकामकोरा

4
इसे zip / tar.gz से काम करने के लिए, ऊपर दिए गए चरण 1 और 2 को करें, AUTHBIND = yes to bin / setenv.sh (बनाएँ अगर वहाँ नहीं) और रूट से शुरू करें। LTS 12.04 के साथ काम करता है, w / 13.10 भी काम करना चाहिए।
कार्ल

मेरे मामले में यह विफल हो गया (कोई त्रुटि संदेश के साथ catalina.out में) ऑर्बिटबिंड पैकेज के बिना, इसे स्थापित करने के बाद काम किया
golimar

क्या आप कृपया AUTHBIND = हां के बारे में दस्तावेज को इंगित कर सकते हैं? मुझे यह कहीं नहीं लगता।
ARX

मैं या तो TOMCAT प्रलेखन में सर्वर तत्व विन्यास के भाग के रूप में AUTHBIND सेटिंग का उल्लेख नहीं पा रहा हूँ। अजीब।
पीटर एन। स्टाइनमेटज़

22

मैं से बंदरगाह को बदलने की कोशिश की 8080करने के लिए 80में server.xmlहै, लेकिन यह मेरे लिए काम नहीं किया। फिर मुझे विकल्प मिला, अपडेट करें iptablesकि मुझे यकीन है कि प्रदर्शन पर असर पड़ रहा है।

मैं निम्नलिखित आदेशों का उपयोग करता हूं:

sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo /sbin/service iptables save

http://www.excelsior-usa.com/articles/tomcat-amazon-ec2-advanced.html#port80


यह कैसे वापस करना है?
SAI GIRI CHARY AOUSULA

रूटिंग को निकालने के लिए निम्न कमांड चलाएँ: iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
casol

17

14.04 उबंटू सर्वर पर मेरे लिए पहले के जवाबों की तरह काम नहीं किया (यह अच्छा था, लेकिन पर्याप्त नहीं था) मैं इन सिफारिशों का उल्लेख करता हूं (यह एक उद्धरण है)।

संपादित करें: ध्यान दें कि @ jason-faust ने टिप्पणी में इसका उल्लेख किया था, 14.04 पर, authbindइसके साथ जहाज करने वाला पैकेज अब IPv6 का समर्थन करता है, इसलिए पसंद IPv4 चीज की अब कोई आवश्यकता नहीं है

1) Install authbind
2) Make port 80 available to authbind (you need to be root):

  touch /etc/authbind/byport/80
  chmod 500 /etc/authbind/byport/80
  chown tomcat7 /etc/authbind/byport/80

3) Make IPv4 the default (authbind does not currently support IPv6).
   To do so, create the file TOMCAT/bin/setenv.sh with the following content: 

   CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"

4) Change /usr/share/tomcat7/bin/startup.sh

  exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
  # OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"

यदि आपको पहले से ही एक setenv.shफ़ाइल मिल गई /usr/share/tomcat7/binहै CATALINA_OPTS, तो आपको उपयोग करना होगा:

export CATALINA_OPTS="$CATALINA_OPTS -Djava.net.preferIPv4Stack=true"

अब आप पोर्ट को 80अन्य उत्तरों में बताए अनुसार बदल सकते हैं ।


2
मैं यह जोड़ना चाहूंगा कि स्टार्टअप.श फ़ाइल यहाँ स्थित है: /usr/share/tomcat7/bin/startup.sh - यह हमारे लिए पूरी तरह से स्पष्ट नहीं है;)
CONMan

@ConMan ने पथ अपडेट किए, जो कि अन्य खोजों को सहेजने का एक शानदार विचार है। मैं स्वीकार करता हूं कि शुरुआत में इस जगह को जानना स्पष्ट नहीं है।
स्मॉनफ

1
धन्यवाद, यह बहुत अच्छा काम किया, मैं सेंटो का उपयोग कर रहा हूं, इसलिए यह मेरे लिए उपयोगी था, जहां यह मेरे लिए कोई मुद्दा नहीं था।
मेड 116

1
मैंने अभी 14.04 को इसका अनुसरण किया है, जो कि इसके साथ जहाज करने वाले ऑर्बिटबिंद पैकेज IPv6 को अभी सपोर्ट करता है, इसलिए IPv4 को प्राथमिकता देना अब और आवश्यक नहीं है।
जेसन फॉस्ट

मैंने भी किया था: chmod 755 /usr/share/tomcat7/bin/setenv.sh
केसी हैरिल्स

5

आधुनिक लिनेक्स पर xinetd का उपयोग करना सबसे अच्छा तरीका है (मेरे लिए):

1) /etc/xinet.d/tomcat-http बनाएं

service http
{
        disable = no
        socket_type = stream
        user = root
        wait = no
        redirect = 127.0.0.1 8080
}

2) /etc/xinet.d/tomcat-https बनाएं

service https
{
        disable = no
        socket_type = stream
        user = root
        wait = no
        redirect = 127.0.0.1 8443
}

3) chkconfig xinetd पर

4) /etc/init.d/xinetd प्रारंभ


अन्य दृष्टिकोण jsvc का संकलन और उपयोग करना है लेकिन xinetd निश्चित रूप से आसान है
cgdave

5

यदि कोई व्यक्ति तलाश कर रहा है, तो Eclipse IDE उपयोगकर्ता में tomcat पोर्ट नंबर को कैसे बदलना है, निम्न चरण हैं।

1. सर्वर दृश्य में, सर्वर नाम पर डबल क्लिक करें: यहां छवि विवरण दर्ज करें

2.Thatcat के लिए विन्यास पृष्ठ खुलेगा जो इस प्रकार है: यहां छवि विवरण दर्ज करें

3.Notice पोर्ट नंबर दाईं ओर तालिका में दिखाए गए हैं। उदाहरण के लिए, संपादित करने के लिए क्लिक करें: यहां छवि विवरण दर्ज करें

4.8080 से 80 के लिए HTTP के लिए पोर्ट नंबर बदल जाएगा। परिवर्तन को सहेजने और सर्वर को पुनरारंभ करने के लिए Ctrl + S दबाएँ। हम कंसोल दृश्य में पोर्ट नंबर के परिवर्तन को देख सकते हैं: यहां छवि विवरण दर्ज करें

यह सभी सामग्री नीचे दिए गए लिंक से ली गई थी, कृपया उस लिंक को आगे की जानकारी के लिए धन्यवाद दें। http://www.codejava.net/servers/tomcat/how-to-change-port-numbers-for-tomcat-in-eclipse


4

नीचे दिए गए कमांड से काम चल रहा है। बदलने की कोशिश की server.xmlऔर गोपनीय फाइल लेकिन दोनों काम नहीं किया।

/sbin/iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

/sbin/iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT

/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

3

एक linux सर्वर पर आप सिर्फ पोर्ट 80 पर सुनने के लिए Tomcat को फिर से कॉन्फ़िगर करने के लिए इस कमांड का उपयोग कर सकते हैं:

sed -i 's|port="8080"|port="80"|g' /etc/tomcat?/server.xml
sed -i 's|#AUTHBIND=no|AUTHBIND=yes|g' /etc/default/tomcat?
service tomcat8 restart

2

यदि आप ग्रहण का उपयोग कर रहे हैं और server.xml को संशोधित करने का काम नहीं कर रहे हैं, तो निम्नलिखित लेख का प्रयास करें .. यदि आपके पास ग्रहण की तरह आईडीई का उपयोग कर रहे हैं तो उनके पास पोर्ट को संशोधित करने के चरण हैं।


1

टॉमकैट का बस गोटो कॉन्फिडेंस फोल्डर

server.xml फ़ाइल खोलें

कनेक्टर नोड का एक गोटो जो निम्नलिखित की तरह दिखता है

<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

बस पोर्ट बदल दें

सहेजें और पुनः आरंभ करें


1
विंडोज पर केवल यह नहीं है?
स्मोफ

1

यहाँ कदम हैं:

-> पथ का अनुसरण करें: {tomcat directory> / conf -> इस लाइन को खोजें:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

पोर्टनंबर को "8080" से "80" में बदलें।

-> फाइल को सेव करें।

-> सर्वर को फिर से शुरू करें :)


0

फ़ाइल को संपादित करने के लिए मत भूलना। फ़ाइल खोलें /etc/default/tomcat7और बदलें

#AUTHBIND=no

सेवा

AUTHBIND=yes

फिर से शुरू करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.