จะเปลี่ยนพอร์ตเซิร์ฟเวอร์ XAMPP Apache ได้อย่างไร


116

นี่คือการตั้งค่า Apache httpd.conf ของฉัน:

Listen 8012
ServerName localhost:8012

ทุกครั้งที่ฉันเปิด Apache ผ่านXAMPPฉันจะเห็นข้อความนี้:

Status Check OK
Busy…
Apache Started [Port 80]

ใครก็ได้โปรดช่วยฉันเปลี่ยนการตั้งค่าอื่น ๆ ได้ไหม


2
ติดตามกระทู้นี้ stackoverflow.com/questions/7882121/busy-apache-started-port-80/…คุณอาจพบว่ามีประโยชน์
Presha

คำตอบ:


313

ในการตอบคำถามเดิม:

ในการเปลี่ยนพอร์ตเซิร์ฟเวอร์XAMPP Apacheที่นี่ขั้นตอน:

1. เลือกหมายเลขพอร์ตฟรี

พอร์ตเริ่มต้นที่ใช้โดย Apache 80คือ

ดูพอร์ตที่ใช้ทั้งหมดของคุณด้วยNetstat (รวมเข้ากับแผงควบคุมXAMPP )

ภาพหน้าจอของ xampp control netstat

แล้วคุณจะเห็นพอร์ตที่ใช้ทั้งหมดและที่นี่เราจะเห็นว่า80พอร์ตถูกใช้ไปแล้วSystemโดย

ภาพหน้าจอ netstat พอร์ต 80

เลือกหมายเลขพอร์ตฟรี ( 8012สำหรับตัวอย่างนี้)

2. แก้ไขไฟล์ " httpd.conf"

ไฟล์นี้ควรจะพบได้ในC:\xampp\apache\confในของ Windowsหรือbin/apacheสำหรับลินุกซ์ .

Listen 80
ServerName localhost:80

แทนที่โดย:

Listen 8012
ServerName localhost:8012

บันทึกไฟล์

เข้าถึง: http: // localhost: 8012เพื่อตรวจสอบว่าใช้งานได้หรือไม่

หากไม่เป็นเช่นนั้นคุณต้องแก้ไขhttp-ssl.confไฟล์ตามที่อธิบายไว้ในขั้นตอนที่ 3ด้านล่าง ↓

3. แก้ไขไฟล์ " http-ssl.conf"

ไฟล์นี้ควรจะอยู่ในC:\xampp\apache\conf\extraบนวินโดวส์หรือเห็นนี้การเชื่อมโยงสำหรับลินุกซ์

ค้นหาบรรทัดต่อไปนี้:

Listen 443
<VirtualHost _default_:443>
ServerName localhost:443

แทนที่ด้วยหมายเลขพอร์ตอื่น ( 8013สำหรับตัวอย่างนี้):

Listen 8013
<VirtualHost _default_:8013>
ServerName localhost:8013

บันทึกไฟล์

รีสตาร์ทเซิร์ฟเวอร์ Apache

เข้าถึง: http: // localhost: 8012เพื่อตรวจสอบว่าใช้งานได้หรือไม่

4. กำหนดการตั้งค่าเซิร์ฟเวอร์ XAMPP Apache

หากคุณต้องการเข้าถึง localhost โดยไม่ต้องระบุหมายเลขพอร์ตใน URL ที่
http: // localhostแทนhttp: // localhost: 8012

  • เปิดแผงควบคุม Xampp
  • ไปที่ConfigService and Port SettingsApache
  • แทนที่ค่าพอร์ตหลักและพอร์ตSSLด้วยค่าที่เลือก (เช่น8012และ8013)
  • บันทึกการตั้งค่าบริการ
  • บันทึกการกำหนดค่าแผงควบคุม
  • รีสตาร์ทเซิร์ฟเวอร์ Apache xampp apache การตั้งค่าพอร์ต ตอนนี้ควรใช้งานได้แล้ว

4.1 การกำหนดค่าเว็บเบราว์เซอร์

หากการกำหนดค่านี้ไม่ได้ซ่อนหมายเลขพอร์ตใน URL เป็นเพราะเว็บเบราว์เซอร์ของคุณไม่ได้กำหนดค่าไว้สำหรับ โปรดดู: เครื่องมือ►ตัวเลือก►ทั่วไป►การตั้งค่าการเชื่อมต่อ ...จะช่วยให้คุณสามารถเลือกพอร์ตต่างๆหรือเปลี่ยนการตั้งค่าพร็อกซี

4.2 สำหรับกรณีโชคร้ายที่หายากที่สุด

หากขั้นตอนที่ 4 และการกำหนดค่าเว็บเบราว์เซอร์ไม่ทำงานสำหรับคุณวิธีเดียวที่จะทำได้คือเปลี่ยนกลับเป็น 80 หรือติดตั้งตัวฟังบนพอร์ต 80 (เช่นพร็อกซี) ที่เปลี่ยนเส้นทางทราฟฟิกทั้งหมดของคุณไปยังพอร์ต 8012

เพื่อตอบปัญหาของคุณ:

หากคุณยังคงมีข้อความนี้ใน Control Panel Console:

Apache เริ่มต้นแล้ว [พอร์ต 80]

  • ค้นหาตำแหน่งของxampp-control.exeไฟล์ (อาจอยู่ในC:\xampp)
  • สร้างไฟล์XAMPP.INIในไดเร็กทอรีนั้น (ดังนั้นXAMPP.iniและxampp-control.exeอยู่ในไดเร็กทอรีเดียวกัน)

ใส่บรรทัดต่อไปนี้ในXAMPP.INIไฟล์:

[PORTS]
apache = 8012

ตอนนี้คุณจะได้รับ:

Apache เริ่มต้นแล้ว [พอร์ต 8012]

โปรดทราบว่านี้คือเพื่อวัตถุประสงค์ในการแสดงผลเท่านั้น ไม่มีความเกี่ยวข้องกับhttpd.confไฟล์.


3
คำตอบที่ดีพร้อมตัวอย่าง
Sujith PS

1
! น่ากลัว นั่นเป็นวิธีแก้ปัญหาถาวรวิธีอื่น ๆ ในการ (พิจารณาทางโลกและทางที่น่ารังเกียจ) กำลังสิ้นสุดกระบวนการที่กำลังใช้พอร์ตเหล่านั้น
MrMins

4
ฉันทำตามขั้นตอนที่ 4 แต่ฉันยังไม่สามารถเข้าถึง localhost โดยไม่มีพอร์ตได้ ใครช่วยแนะนำอะไรได้บ้าง
MauF

2
มีการอัปเดตใด ๆ ในขั้นตอนที่ 4 ที่ฉันพยายาม แต่ไม่ได้ผลยังคงต้องรวมพอร์ต
ßiansorÅ Ålmerol

1
@PeterCo ใช่มันพิมพ์ผิด ฉันแก้ไขมัน ขอบคุณสำหรับ 2ct ของคุณ
Antoine Subit

34

ทางออกที่ดีที่สุดคือการกำหนดค่าเซิร์ฟเวอร์ XAMPP Apache ใหม่เพื่อรับฟังและใช้หมายเลขพอร์ตที่แตกต่างกัน นี่คือวิธีที่คุณทำ:

1) ขั้นแรกคุณต้องเปิดไฟล์ Apache“ httpd.conf” และกำหนดค่าให้ใช้ / ฟังบนหมายเลขพอร์ตใหม่ หากต้องการเปิดไฟล์ httpd.conf ให้คลิกปุ่ม "กำหนดค่า" ถัดจากปุ่ม "เริ่ม" และ "ผู้ดูแลระบบ" ของ Apache ในเมนูป๊อปอัปที่เปิดขึ้นให้คลิกและเปิด httpd.conf

2) ภายในไฟล์ httpd.conf ค้นหา "ฟัง" คุณจะพบสองแถวที่มีข้อความดังนี้:

#Listen 12.34.56.78:80
Listen 80

เปลี่ยนหมายเลขพอร์ตเป็นหมายเลขพอร์ต ที่คุณเลือก (เช่นพอร์ต 1234) ดังด้านล่าง

#Listen 12.34.56.78:1234
Listen 1234

3) จากนั้นในไฟล์ httpd.conf เดียวกันให้ค้นหา“ ServerName localhost:” ตั้งค่าเป็นหมายเลขพอร์ตใหม่

ServerName localhost:1234

4) บันทึกและปิดไฟล์ httpd.conf

5) คลิกปุ่มกำหนดค่า Apache อีกครั้งและเปิดไฟล์“ httpd-ssl.conf”

6) ในไฟล์ httpd-ssl.conf ให้มองหา“ Listen” อีกครั้ง คุณอาจพบ:

Listen 443

เปลี่ยนเป็นฟังพอร์ตใหม่ที่คุณเลือกไม่ได้ พูดว่า:

Listen 1443

7) ในแฟ้ม httpd-ssl.conf <VirtualHost _default_:443>เดียวกันพบว่าสายอื่นที่ระบุว่า เปลี่ยนเป็นหมายเลขพอร์ตใหม่ของคุณ (เช่น 1443)

8) นอกจากนี้ใน httpd-ssl.conf เดียวกันคุณสามารถค้นหาบรรทัดอื่นที่กำหนดหมายเลขพอร์ตได้ สำหรับสิ่งนั้นให้มองหา“ ServerName” คุณอาจพบบางสิ่งเช่น:

ServerName www.example.com:443 or  ServerName localhost:433

เปลี่ยนชื่อเซิร์ฟเวอร์นี้เป็นหมายเลขพอร์ตใหม่ของคุณ

8) บันทึกและปิดไฟล์ httpd-ssl.conf

9) ในที่สุดมีเพียงที่เดียวที่คุณควรเปลี่ยนหมายเลขพอร์ต จากนั้นคลิกและเปิดปุ่ม "กำหนดค่า" ของแผงควบคุม XAMPP ของคุณ จากนั้นคลิกปุ่ม“ บริการและการตั้งค่าพอร์ต” คลิกแท็บ "Apache" จากนั้นป้อนและบันทึกพอร์ต nos ใหม่ในช่อง "พอร์ตหลัก" และ "พอร์ต SSL" คลิกบันทึกและปิดกล่องกำหนดค่า

ที่ควรทำเคล็ดลับ ตอนนี้“ เริ่ม” Apache และหากทุกอย่างเป็นไปด้วยดีเซิร์ฟเวอร์ Apache ของคุณควรเริ่มทำงาน

นอกจากนี้คุณจะเห็น Apache Port / s no ในแผงควบคุม XAMPP ได้เปลี่ยนเป็น ID พอร์ตใหม่ที่คุณตั้งไว้


มีประโยชน์มาก. ขอบคุณ
Jen143

3

คุณได้พยายามเข้าถึงเพจของคุณโดยพิมพ์ " http: // localhost: 8012 " (หลังจากรีสตาร์ท apache) หรือไม่


1
ใช่มันทำงานใน localhost: 8012 แต่เมื่อฉันพยายามจากระยะไกลโดยใช้ที่อยู่ ip ของฉัน my-ip-address: 8012รับหน้าไม่พบข้อผิดพลาด
Sathishkumar

1
คุณต้องตรวจสอบให้แน่ใจว่าคุณใช้ IP สาธารณะ / เราเตอร์ของคุณเมื่อใช้อุปกรณ์ที่ไม่ได้เชื่อมต่อกับเครือข่ายเดียวกันและตรวจสอบให้แน่ใจว่าเราเตอร์ของคุณทราบเพื่อส่งต่อคำขอทั้งหมดสำหรับพอร์ตนั้นไปยังอุปกรณ์โฮสต์ นี่คือคำตอบที่ดีสำหรับคำถามที่คล้ายกันซึ่งควรอธิบายวิธีการทำเช่นนี้ ขอแนะนำให้ใช้NoIPสำหรับ URL ที่จะไม่เปลี่ยนแปลง นอกจากนี้ด้วย NoIP คุณสามารถส่งต่อไปยังพอร์ตเฉพาะได้โดยตรงดังนั้นคุณไม่จำเป็นต้องต่อท้าย URL
Trevin Avery

3

หากXAMPP serverกำลังทำงานอยู่ในขณะนี้ให้หยุดเซิร์ฟเวอร์ XAMPP

ทำตามขั้นตอนเหล่านี้เพื่อเปลี่ยนหมายเลขพอร์ต

เปิดไฟล์ในตำแหน่งต่อไปนี้

[XAMPP Installation Folder]/apache/conf/httpd.conf

เปิดhttpd.confไฟล์และค้นหา String:

ฟัง 80

นี่คือหมายเลขพอร์ตที่ XAMMP ใช้

จากนั้นค้นหาสตริงServerNameและอัปเดตหมายเลขพอร์ตที่คุณป้อนไว้ก่อนหน้านี้Listen

ตอนนี้บันทึกและเริ่มเซิร์ฟเวอร์ XAMPP ใหม่


2

ฉันก็มีปัญหาเช่นกัน ฉันเปลี่ยนพอร์ต แต่ไม่สามารถเริ่มบน 8012 ได้

Skype มีส่วนเกี่ยวข้องเนื่องจากมีพอร์ตเดียวกัน - 80 และไม่สามารถปล่อยให้ apache เปลี่ยนพอร์ตได้

ดังนั้นเพียงรีสตาร์ทคอมพิวเตอร์และก่อนเปิดโปรแกรมอื่น ๆ เปิด xampp ก่อนเปลี่ยนพอร์ตสมมติว่าจาก 80 เป็น 8000 หรือ 8012 ในบรรทัดเหล่านี้ใน httpd.conf

Listen 80
ServerName localhost:80

รีสตาร์ท xampp เริ่ม apache ตรวจสอบ localhost


2
จริงๆแล้วพอร์ต Skype เป็นแบบไดนามิกสามารถเปลี่ยนพอร์ตได้หากมีการใช้งานอยู่แล้ว วิธีแก้ปัญหาที่ง่ายกว่าคือออกจาก Skype จากนั้นเริ่ม Apache เริ่ม Skype อีกครั้ง นี่เป็นการดำเนินการเพียงครั้งเดียวและแก้ปัญหาได้
Musa Haidari

ใช่มันช่วยแก้ปัญหาได้ แต่สำหรับผู้ที่ไม่ต้องการทุกครั้งที่จะรีสตาร์ท skype พวกเขาสามารถใช้สิ่งนี้ได้
Luke359

1

หากไม่ทำงานเหนือรหัสพอร์ตให้เปลี่ยนเช่น 8082,8080 รีสตาร์ท xammp เริ่มเซิร์ฟเวอร์ apache ตรวจสอบตอนนี้ใช้งานได้แล้ว

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