Ketika saya mencoba untuk memulai situs di IIS dikatakan:
proses tidak dapat mengakses file karena digunakan oleh proses lain
Saya mencari di Google dan menemukan bahwa situs lain mungkin telah menggunakan Port 80 tetapi di MyIIS saya melihat bahwa hanya situs ini yang menggunakan Port 80. Apa lagi yang bisa menggunakan Port 80 atau ada masalah lain yang terlibat?
IIS-W3SVC
danHttpEvent
sumber. Teks log peristiwa kedua -Unable to bind to the underlying transport for [::]:8080. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine. The data field contains the error number.
. Port 8080 sedang digunakan oleh layanan Oracle. Saya mengubah porta yang digunakan oleh situs web saya menjadi 8081.Jawaban:
Periksa menggunakan
netstat -aon
ataunetstat -aon | findstr 0.0:80
dalam prompt perintah untuk melihat Id Proses mana yang MENDENGARKAN ke port: 80 dan kemudian perhatikan Id Proses (PID) itu di Task Manager dengan tampilan-> pilih kolom-> proses id dicentang. Akhiri proses itu, mulai ulang IIS dan Anda selesai. ( Catatan: jika Anda menginstal Skype , coba keluar dari proses itu terlebih dahulu. )Di Pengelola Tugas modern, Anda harus membuka tab Detail untuk mencari PID. Atau, seperti yang disebutkan oleh @Nikita G di komentar, Anda dapat menggunakan perintah ini untuk menemukan tugas dari command prompt Anda:
Catatan: ubah
123
dengan PID yang dikembalikan dari perintah pertama.sumber
netstat -aon | findstr 0.0:80
. Dan kemudian dengan asumsi bahwa pengembalian PID 123, jalankan berikut untuk melihat proses yang yaitu:tasklist /FI "PID eq 123"
.OracleServiceXE
layanan yang telah menghabiskan port 8080 yang coba diikat oleh situs web baru di server IIIS saya.Ini terjadi karena proses yang berbeda menggunakan port 80, ini mungkin aplikasi obrolan di PC Anda seperti Skype.
Pertama, ubah port default situs web 80 menjadi port yang tidak digunakan (mis. 8087). Untuk mencapai ini klik kanan aplikasi dan kemudian klik 'Edit Binding'.
Setelah port ini berubah, restart lagi. Sekarang Anda dapat mengidentifikasi proses mana yang memblokir IIS Port 80. Untuk memeriksa ini gunakan perintah netstat yang menampilkan detail port bersama dengan ID proses.
sumber
Keluar dari Skype dan coba lagi. Saya telah mengalami masalah yang sama dan saya baru saja keluar dari Skype dan kemudian mengatur ulang IIS saya. Itu berhasil untuk saya.
sumber
Anda juga dapat menjalankan perintah ini untuk mencari tahu aplikasi atau layanan mana yang menggunakan port dan kemudian melacaknya di Task manager (Asalkan bukan Web Deploy Agent Service).
netstat -o -n -a | findstr 0.0: 80
Kemudian buka Manajer tugas, masuk ke Proses, klik kotak centang "Tampilkan proses untuk semua pengguna", lalu klik menu Lihat dan Buka Kolom, tambahkan kolom PID.
Cocokkan ID Proses dari perintah netstat ke PID di pengelola tugas dan Anda akan menemukan layanan atau aplikasi yang menggunakan porta tersebut.
sumber
tasklist /FI "PID eq <PID from netstat (without brackets)>"
.Seperti yang dikatakan orang lain, sesuatu yang lain mungkin menggunakan port 80 atau 443. Ini adalah VMWare Workstation Server untuk saya, tetapi periksa jawaban lain untuk cara menggunakan netstat.
sumber
netstat
untuk memeriksa port 80 dan tidak ada yang ditampilkan. Kemudian Anda menyebutkan port 443 dan itu dia.Saya pikir tautan ini memberikan penjelasan yang cukup bagus dan memperbaiki masalah ini http://support.microsoft.com/KB/890015
Sebagian besar waktu; ini disebabkan oleh salah satu dari dua alasan: 1) port 80 sedang digunakan oleh hal lain dan seperti yang disarankan oleh orang lain, Anda dapat menggunakan netstat -o -n -a | findstr 0.0: 80 untuk melihat apakah ini masalahnya. Jika ya, maka matikan proses dari pengelola tugas (centang tampilkan proses dari semua pengguna)
2) jika port 80 tidak digunakan, penyebab kedua adalah kemungkinan alamat ip tidak valid di ListenOnlyList yang diajukan di kunci registri HTTP-> Parameter. Jika Anda mengikuti link untuk mengatur kunci secara manual atau sebenarnya Anda dapat menggunakan (xp dan server 2003)
httpcfg delete iplisten -i ipaddress
untuk menghapus alamat ip yang tidak valid. Anda harus memulai ulang http setelah Anda mengedit alamat ip!sumber
Dalam kasus saya, itu adalah " Sync Share Service " (SyncShareSvc) yang berjalan dan menggunakan port 80. netstat menunjukkan 80 sebagai gratis. Saya bisa mendapatkan situs untuk berjalan di port lain, tetapi tidak 80. jika saya menambahkan nama Host, IIS akan memungkinkan saya untuk memulai situs, tetapi saya akan diminta untuk otentikasi Digest saat menjelajah ke localhost (atau nama host saya ditambahkan). Hanya Anonymous dan Forms Auth yang diaktifkan di IIS ...
Saya juga menemukan bahwa, setelah menghentikan IIS,
http://localhost
masih meminta saya untuk otentikasi Digest.Solusinya - dalam kasus saya - adalah menghapus File and Storage Services> Files and iSCSI Services> " Work Folders " dari layanan yang diinstal (diperlukan restart).
Setelah menghapus layanan "Folder Kerja" dan memulai ulang, IIS bekerja seperti yang diharapkan.
sumber
Kasus saya adalah setelah menginstal RD Web Access, situs web default asli tidak dapat dimulai. Menghapus peran RD Web Access masih sama. Mengikat port 443 yang dihapus memecahkan masalah.
sumber
Sering kali ketika ini terjadi oleh pengembang web adalah alasan apache, jadi jika Anda pergi ke file konfigurasi dari apache! buka dan cari dengan ctrl + f menjadi 80 dan ubah ip Anda akan melihat ke 8080 dan kalimat di bawahnya dengan 80 menjadi 8080 dan Anda perlu memastikan bahwa di xampp Anda, atau program yang Anda gunakan saat ini
Semoga saya akan membantu kalian
sumber
Untuk mendapatkan informasi yang lebih bermakna, salah satu caranya adalah dengan juga mendapatkan informasi kepemilikan saat menerbitkan
netstat
sehingga Anda mengetahui prosesnya yang menggunakan 80 (pengikatan http default) atau 443 (jika pengikatan https ditentukan):Dalam kasus saya, pelakunya adalah vmware:
netstat dapat disalurkan ke find untuk mencari port 80 atau 443 (mis.
find ":443"
), tetapi koneksi aktif khusus ini akan ditampilkan di awal daftar dan mudah dilihat.sumber