Mengapa proses Sistem mendengarkan pada Port 80?

81

Saya menjalankan Windows 7 RC1. Saya mempunyai beberapa masalah untuk membuat IIS berfungsi di sistem saya dan hari ini ketika saya menginstal aplikasi baru dan saya mencoba memuatnya menggunakan http: \ localhost \ MyApplication Saya sama sekali tidak mendapatkan kesalahan dan saya tidak mendapatkan halaman load. Hanya halaman kosong putih yang cantik.

Saya melakukan penggalian dan menemukan sesuatu tentang proses lain mendengarkan pada port 80 jadi saya melakukan pemindaian menggunakan netstat -aon | findstr 0.0:80dan menemukan bahwa PID 4 mendengarkan pada port itu.

PID 4 tidak muncul di task manager jadi saya menjalankan Process Explorer dan itu menunjukkan kepada saya bahwa PID 4 adalah proses Sistem. (Beberapa pencarian google tampaknya menunjukkan bahwa Sistem selalu menggunakan PID 4).

Sejak itu saya pada dasarnya mandek. Saya tidak tahu mengapa Sistem membutuhkan port 80 dan apa yang harus dilakukan.

Jika Anda mencari di Google string berikut ini, Anda akan menemukan dua artikel Expert-Exchange yang bermanfaat di bagian atas hasil pencarian dan Anda dapat membacanya untuk beberapa informasi bermanfaat.

(Jika saya memberikan URL langsung ke halaman maka Experts-Exchange akan meminta Anda untuk membayar ... tetapi ketika Anda mengklik pada hasil dari pencarian google Anda dapat menggulir semua jalan ke bawah untuk membaca pertukaran.)

Berikut adalah pencarian google ...
"Proses Sistem mendengarkan pada port 80 (Vista)"
"Proses Sistem mendengarkan pada Port 80 dan Mencegah IIS Situs Web Default dari Menjalankan"

Entri terakhir dari hasil pertama menunjukkan bagaimana melakukan penelusuran http.sys di URL berikut:

http://blogs.msdn.com/wndp/archive/2007/01/18/event-tracing-in-http-sys-part-1-capturing-a-trace.aspx

Trace menunjukkan tidak ada yang berguna. Adakah pikiran?

Seth Spearman
sumber
Masalah yang sama di sini, kecuali, saya mencoba semua jawaban seperti yang disarankan dan tidak ada. Saya tidak bisa mulai mematikan layanan karena ini adalah server cloud di luar situs.
Jerry Dodge
Apakah maksud Anda menjalankan Windows 7 SP1, dan bukan RC1?
cmorse
4
Apakah Anda menjalankan Skype? support.skype.com/en/faq/FA148/…
Plutext
Mungkin itu tidak benar-benar menyelesaikan masalah Anda, toh Anda dapat mengubah port Apache menjadi 8080... Ya, itu bukan solusi, tetapi mungkin bekerja sementara sampai Anda mendapatkan solusi yang tepat ... @rakslice solusi memecahkan masalah kepada saya
Girardi
Masalah skype adalah solusinya! skype shutdown dan mulai apache. Selesai!
Codebeat

Jawaban:

28

Posting ini tentang Mendapatkan Apache untuk dijalankan pada port 80 pada Windows 7 (arsip internet) menjelaskan poin Anda.

Tampaknya layanan ' http.sys' (Manajemen Jarak Jauh Windows?) Diaktifkan secara default di Windows 7.
Jalankan melalui komentar pada tautan itu untuk beberapa catatan lagi ...

situs hypen tidak selalu memiliki satu-satunya jawaban.

nik
sumber
1
Artikel hebat lainnya: devside.net/wamp-server/…
duri
2
Dan ini masih relevan hari ini dengan Windows 8.1
Sverrir Sigmundarson
3
Situs ini offline. Bisakah Anda menambahkan informasi penting ke jawabannya?
fixer1234
4
Bagi saya itu adalah World Wide Web Publish Service - diatur ke otomatis secara default, dan harus menggunakan port 80.
rockerston
1
Diperbaharui dari windows 7 ke windows 10 dan dinyalakan World Wide Web Publish Service menjadi otomatis. Gila karena saya bahkan tidak menggunakan IIS.
Phil_1984_
49

'Layanan Agen Penyebaran Web' berjalan pada port 80 sebagai Sistem. Anda mungkin menjalankan ini jika Anda menggunakan WebMatrix.

N Reed
sumber
Tautan terkait: eat.cheezburger.com/author/johnc . Saya mencopot pemasangan dua porgram yang terdaftar: "Microsft Web Deploy 2.0" dan "Web Deployment Tool" (serta WebMatrix itu sendiri)
Frank Schwieterman
Tautan terkait: remkoweijnen.nl/blog/2012/01/02/…
Remko
1
Lihat stackoverflow.com/questions/5867392 untuk info tentang cara mengubah port ini.
tony722
Saya Menghentikan Layanan Agen Penyebaran Web dan mengaturnya untuk Manual mulai, kemudian mengkonfirmasi bahwa saya masih bisa Publikasikan ke IIS di server ini dari Visual Studio dan semuanya baik-baik saja. Port 80 sekarang tersedia untuk saya, dan fungsi saya yang lain masih berfungsi.
JMD
net stop "Web Deployment Agent Service"membebaskan 80 untuk saya.
Philippe Signoret
46

Buka Services.msc dan hentikan layanan ini "Layanan pelaporan server Sql (MSSQLSERVER)"

masukkan deskripsi gambar di sini

Saya telah mencoba SEGALA SESUATU, tetapi itu berhasil bagi saya:

petunjuk lebih lanjut tentang cara menghentikan layanan itu ada di bawah

  1. Klik kanan pada My Computer
  2. Pilih Kelola
  3. Klik dua kali Layanan dan Aplikasi
  4. Kemudian klik dua kali Layanan
  5. Klik kanan pada "Layanan pelaporan server Sql (MSSQLSERVER)"
  6. Pilih Stop ... dan voila, port 80 telah dirilis
Isabel Grobler
sumber
7
+1. Memang SQL Server dalam kasus saya.
Assaf Levy
Ini juga bekerja untuk saya. Saya menghentikan semua layanan terkait SQL (termasuk yang ini) dan port 80 dirilis.
Mark Lakata
+1 tapi saya perlu SSR berjalan, jadi saya kira maju saya harus memberitahu SSR untuk menggunakan port yang berbeda?
Chris Moutray
"Tidak menggunakan port itu? Aku akan mengambilnya! Oh, maaf, apakah kamu membutuhkan itu? Apakah kamu tidak mendapatkan memo itu?"
batCattle
1
@AssafLevy komentar Anda merugikan orang dan membuat hal-hal aneh dan mungkin membuat beberapa orang berpikir jawabannya tidak sebagus itu. Ini bukan SQL Server, ini pelaporan SQL server. SQL server berjalan pada 3306. Pelaporan server SQL adalah hal yang menjadi masalah dan berjalan pada port 80
barlop
19

Anda dapat menghentikan layanan HTTP sementara dari baris perintah:

  1. Jalankan prompt perintah administrator (mis. Mulai, cari cmd, klik kanan padanya, pilih "Run as administrator", setujui permintaan UAC jika ada.)
  2. Tipe net stop HTTP
  3. Jika ada layanan lain yang berjalan yang bergantung pada layanan HTTP, Anda akan mendapatkan daftar; periksa untuk melihat apakah ada sesuatu yang terdaftar di sana Anda tidak tahan untuk melakukannya tanpa. Atau, jika Anda hanya menghentikan HTTP untuk menggunakan port 80 sementara, catat layanan-layanan yang bergantung yang Anda ingin memulai kembali setelah Anda selesai dengan port. Either way, jika tidak apa-apa, masukkan yuntuk melanjutkan.
  4. Beberapa layanan dependen mungkin memunculkan peringatan kendali berhenti yang membatalkan operasi; ulangi saja net stop HTTPsampai dihentikan (yaitu sampai dikatakan The HTTP service was stopped successfully.)
  5. Kemudian, Anda dapat memulai kembali salah satu layanan dependen, menggunakan net startatau dengan menggunakan item Layanan di Alat Administratif, dan layanan HTTP akan dimulai lagi secara otomatis.
rakslice
sumber
1
Ini sangat membantu untuk menentukan layanan dependen - terima kasih!
Rory
ini solusi untukku!
Girardi
Bagi saya, itu menghentikan semua layanan terkait, lalu berkata "Tidak dapat menghentikan layanan HTTP", dan mulai net stop httplagi memberitahu saya untuk "coba lagi nanti". Apa yang salah dengan sistem saya :-)
Tominator
Menggunakan net stop HTTPbekerja untuk saya.
Paul Williams
Jika Anda mendapatkan try again later message, Anda mungkin menjalankan Microsoft Web Deployment Service. support.microsoft.com/kb/2597817 Jika Anda benar-benar menggunakannya untuk mempertahankan IIS, Anda mungkin tidak ingin menghentikan HTTP di tempat pertama =).
rakslice
3

telnet localhost 80 mengembalikan HttpAPI / 2.0 yang pada gilirannya berarti "Layanan pelaporan server Sql". Menghentikan port rilis yang sama 80.

Wisnu
sumber
Saya menemukan bahwa layanan pelaporan SQL server juga pelakunya.
JT
Ini adalah alat debug yang berguna, untuk menggunakan 'telnet' untuk mendapatkan lebih banyak informasi daripada yang diberikan browser web kepada Anda. Terima kasih. Layanan pelaporan SQL server adalah penyebab dalam kasus saya juga.
Mark Lakata
0

Ambil ProcessExplorer, jalankan, buka properti TCP / IP dari setiap proses (layanan), temukan proses (layanan) yang mendengarkan port http (80) dan matikan.

Saya menemukan Autodesk EDM Server sedang mendengarkan port http (80).

nICEsCREAM
sumber
3
Ini tidak berfungsi untuk layanan yang berjalan di dalam sistem (yaitu, dengan PID 4)
N Reed
Saya pikir Anda lebih baik melakukan 'netstat -anbo'. Ini akan memberi tahu Anda langsung apa yang ada di port 80 ... kecuali jika itu adalah PID 4.
Mark Lakata