Làm cách nào để giải phóng cổng 80 của tôi trên Windows localhost?


124

Tôi đã cài đặt XAMPP 1.6.8 và vì một số lý do, nó không hoạt động. Sau này nhận ra cổng 80 không miễn phí hoặc không nghe. Làm thế nào tôi có thể phát hành nó hoặc làm cho nó miễn phí?

Cảm ơn rất nhiều!




Tôi tin rằng đây là một câu hỏi trùng lặp của (vui lòng tìm câu trả lời ở đó) -> stackoverflow.com/questions/1430141/
Dung

Nhân đôi hay không. Đây là lần đầu tiên đạt được trên Google .
Bitterblue 29/03/18

Câu trả lời:


113

Nỗi đau đớn đó đã được giải quyết cho tôi. Tôi phát hiện ra rằng những gì đã chiếm cổng 80 là dịch vụ http api. Tôi đã viết bằng cmd:

net stop http

Hỏi tôi "Các dịch vụ sau sẽ bị dừng, bạn có muốn tiếp tục không?" Ép y

Nó đã dừng một số dịch vụ thực sự.

Sau đó viết localhostvà wallah, Apache đang hoạt động và chạy trên cổng 80.
Hy vọng điều này sẽ giúp

Quan trọng : Skype sử dụng cổng 80 theo mặc định, bạn có thể thay đổi điều này trong tùy chọn skype> nâng cao> kết nối - và bỏ chọn "sử dụng cổng 80"


Trên Windows 7, tôi không thể dừng các quy trình do "truy cập bị từ chối", nhưng nó cho tôi biết tên của các quy trình sẽ bị giết nếu tôi có quyền (tôi không có quyền đối với netstat -a -b).
Pavel V.

1
@PavelV. bạn nên chạy dấu nhắc lệnh với quyền quản trị. mở bắt đầu và viết trong tìm kiếm "cmd" nhấp chuột phải vào cmd và chọn Chạy với tư cách quản trị viên.
MuhFred

67

netstat -ano

Điều đó sẽ cho bạn thấy PID của quá trình đang lắng nghe trên cổng 80. Sau đó, hãy mở Trình quản lý tác vụ -> tab Quy trình. Từ View -> Select Columnsmenu, bật PIDcột và bạn sẽ thấy tên của quá trình nghe trên cổng 80.


1
Điều này là tốt vì có thể có các quá trình khác có cùng tên. Tôi tự hỏi nếu có bất kỳ lệnh kill nào trong windows mà tôi có thể chạy với PID được tìm thấy thay vì thực hiện nó thông qua trình quản lý tác vụ.
Sundeep

taskkill không giết nhiệm vụ. Nó vẫn hiển thị cổng 80 đang chạy. @Jijo
Aakash Thakur

1
bạn có thể thử sử dụng / f / t ở cuối không, nó sẽ giết chết nhiệm vụ một cách mạnh mẽ, tôi hiện đang sử dụng hệ thống linux, chưa được xác minh
Jijo

41

netstat -a -b

Sẽ cho bạn biết chương trình nào bị ràng buộc với cổng 80


1
nó chỉ cho tôi byte, unicast, v.v. không đưa ra những gì bị ràng buộc trên cổng 80. Tôi có bỏ lỡ điều gì không?

6
ntoskrnl.exe - bây giờ thì sao?
Tim Lovell-Smith

1
Tôi cố gắng này và nó cho biết "các hoạt động yêu cầu đòi hỏi cao"
createscape

Bạn là THIÊN CHÚA! Cúi đầu , bằng cách này, tôi có thể tìm thấy tên dịch vụ thực tế có cùng ID tiến trình với những người khác, vì vậy không thể tìm ra trước khi dịch vụ thực tế bị giết từ người quản lý tác vụ. Rất cảm ơn!
divy3993

36

Tôi đã có vấn đề này trước đây,

nếu bạn thấy Trình quản lý tác vụ (sau khi bật chế độ xem cho PID), bạn sẽ thấy PID = 4 là "cổng 80 được sử dụng bởi NT Kernel & System;"

Chỉ cần đi đến

  1. Bảng điều khiển
  2. Chương trình
  3. Bật / tắt các tính năng của Windows
  4. kiểm tra nếu World wide web servicesdưới IISđược kiểm tra

Nếu vậy, hãy bỏ chọn và netstat (hoặc TCPVIEW) một lần nữa để xem 80 có miễn phí không.


2
Win7: menu bắt đầu tìm kiếm "IIS" sẽ hiển thị "Trình quản lý IIS", nơi bạn có thể vô hiệu hóa máy chủ.
Philipp

34

sử dụng netstat -bano trong dấu nhắc lệnh nâng cao để xem ứng dụng nào đang nghe trên cổng nào.

Nhưng thông thường các ứng dụng sau sử dụng cổng 80 trong windows.

  1. IIS
  2. Dịch vụ xuất bản trên toàn thế giới
  3. Dịch vụ quản trị IIS
  4. Dịch vụ báo cáo máy chủ SQL
  5. Dịch vụ đại lý triển khai web

Dừng các ứng dụng trên nếu chạy và kiểm tra !!!


Bạn có biết bằng cách nào để đảm bảo rằng các dịch vụ này không sử dụng cổng 80 không?
rahoolm


6

Tùy chọn khác để thử là dừng Dịch vụ báo cáo SQL Server.


cảm ơn, đối với tôi, đó là Dịch vụ báo cáo SQL Server (MSSQLSERVER) không biết tại sao nhưng khi tôi chấm dứt nó bằng bảng điều khiển dịch vụ, hãy xử lý với pid 4 không bị ràng buộc từ 0.0.0.0:80
Vladimir Shmidt

6

Bạn có thể sử dụng net stop httpnó sẽ hiển thị quá trình đang sử dụng. Các dịch vụ web trên toàn thế giới của Moslty đang sử dụng


6

Thử

netstat -anb -p tcp

hiển thị các cổng và quy trình


Trạng thái Ứng dụng xampp của tôi hiển thị cả trạng thái apache và mysql 1 start 1 dịch vụ 1 Nhưng trình duyệt vẫn không hiển thị localhost. tại sao vậy? con trỏ nào? :(

5

Đây chỉ là dự đoán, nhưng vì cổng 80 là cổng thông thường cho HTTP, nên bạn có thể có một máy chủ web đang chạy trên hệ thống của mình. IIS có hoạt động không?

Nếu bạn đang chạy IIS, bạn có thể có dịch vụ trang trại đang chạy. Đó là những gì đã giết chết xampp của tôi.


1
Không, tôi không có IIS. Tôi đã sử dụng xampp trước đó và nó đã hoạt động. Tôi đoán một số dịch vụ khác đang ngồi trên cổng 80 và không cho phép cài đặt lại dịch vụ Apache trên đó.

2
Skype cũng thích đánh cắp cổng 80, một thủ phạm bất ngờ phổ biến!
Simon_Weaver

5

Nhập "netstat -ano" vào dòng lệnh của bạn. Tôi thấy rằng nó đang hiển thị một cái gì đó cho cổng Địa chỉ cục bộ 0.0.0.0:80.

Vấn đề của tôi là do tôi có Dịch vụ báo cáo SQL Server trên Cổng 80. Vì vậy, tôi đã làm theo các hướng dẫn này và thay đổi cổng # từ 80 thành 81:

http://seankilleen.com/2012/11/how-to-stop-sql-server-reporting-service-from-USE-port-80-on-your-server-field-notes/

Dưới đây là hình ảnh về dòng lệnh của tôi SAU Tôi đã thay đổi số cổng cho Dịch vụ báo cáo SQL Server:

nhập mô tả hình ảnh ở đây

Nếu bạn vẫn gặp vấn đề tương tự, hãy đọc diễn đàn này:

http://forum.wamperver.com/read.php?2,66196,66233#REPLY


4

Skype thích sử dụng cổng 80 và chặn IIS. Đó là thăm dò của tôi.


4

Tôi cũng gặp vấn đề tương tự. net stop httpkhông giúp đỡ và tùy chọn dịch vụ web trên toàn thế giới trong IIS trong Bảng điều khiển Windows đã không được chọn. Vì vậy, trong bảng điều khiển XAMPP, tôi chỉ kiểm tra hộp kiểm Svc gần nút khởi động Apache (Cài đặt Apache làm dịch vụ) và khởi động lại Windows. Và bây giờ mỗi khi Windows khởi động, Apache được khởi động tự động và chiếm cổng 80 trước khi có bất kỳ dịch vụ nào khác. Đã làm cho tôi!


2

Các dịch vụ Windows đã nghe trên Cổng 80

Từ Trình quản lý dịch vụ (chạy: services.msc), dừng và vô hiệu hóa các Dịch vụ Windows này được biết là liên kết với cổng 80.

Nhấp đúp chuột vào Dịch vụ và thay đổi 'Loại khởi động' thành 'Đã tắt'

  1. Dịch vụ báo cáo máy chủ SQL (Máy chủ báo cáo)
  2. Dịch vụ đại lý triển khai web (MsDepSvc)
  3. BranchCache (PeerDistSvc)
  4. Dịch vụ chia sẻ đồng bộ hóa (SyncShareSvc)
  5. Dịch vụ xuất bản trên toàn thế giới (W3SVC)
  6. Máy chủ thông tin Internet (WAS, IISADMIN)

skype cũng sử dụng cổng 80 làm cài đặt mặc định và bạn có thể bỏ chọn nó.

Bạn có thể hoặc có thể không cài đặt một số Dịch vụ này.

Trong trường hợp của tôi "Dịch vụ báo cáo SQL Server" đã mở cổng 80.


0

Đối với tôi, vấn đề này bắt đầu khi tôi lưu trữ kết nối VPN trên máy tính Windows 8 của mình.

Chỉ cần xóa kết nối khỏi "Bảng điều khiển \ Mạng và Internet \ Kết nối mạng" đã giải quyết được vấn đề.


0

Tôi đã cố gắng cài đặt nginxtừ đây - http://nginx.org/en/docs/windows.html

Truy cập http: // localhost / sẽ hiển thị một cái gì đó, ít nhất là một thông báo "không tìm thấy" thích hợp
Điều này là do 80 là cổng mặc định và nó được thực hiện bởi các quy trình khác.

Bây giờ chạy bên dưới lệnh:

net stop http

    // Above command stopped below services  
    // - SSDP Discovery  
    // - Print Spooler  
    // - BranchCache  
    // - Function Discovery Resource Publication  
    // - Function Discovery Provider Host  

Bây giờ, truy cập http: // localhost / sẽ thất bại với thông báo trang liên kết bị hỏng.

Quá trình chính là Quá trình BranchCache
này, sau khi dừng, sẽ khởi động lại sau vài giây.
Vì vậy, chúng ta cần chạy các lệnh khác mà chúng ta cần sớm, một ví dụ dưới đây:

// this will stop
net stop http

// immeidately run other command you want to
start nginx

Bây giờ, hãy truy cập http: // localhost / đã cho tôi:

Welcome to nginx!

Mong rằng sẽ giúp.


-1

trong trường hợp của tôi, cửa sổ sẽ dừng dịch vụ đại lý triển khai web. Nhập vào cmd

 net stop msdepsvc 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.