etsh http show servicestate 找到進程ID,任務管理器停止相關服務
昨天剛更新了Windows10,總體上來說效果還是蠻不錯的,然而今天在開啟Apache服務器的時候卻發現,Apache莫名其妙的打不開了,起初以為是權限的問題,于是使用管理員身份的控制臺去調用命令net start Apache2.4,結果依然是無法打開。手動啟動服務報錯“Windows不能再本地計算機啟動Apache,有關更多信息,查閱系統時間日志。如果這是非Microsoft服務,請與服務廠商聯系,并參考特定服務錯誤代碼1。”如下圖所示:
Windows不能再本地計算機啟動Apache,有關更多信息,查閱系統時間日志。如果這是非Microsoft服務,請與服務廠商聯系,并參考特定服務錯誤代碼1。
看到這種情況,我有手動cd到Apache的httpd.exe的目錄,執行了一下httpd,這下原因找到了,如下圖所示:
(OS 10013)以一種訪問權限不允許的方式做了一個訪問套接字的嘗試。 : AH00072: make_sock: could not bind to address 127.0.0.1:80 AH00451: no listening sockets available, shutting down AH00015: Unable to open logs
從圖中可以看到錯誤的原因是套接字綁定錯誤,這下可以確定是Apache的80端口被占用了。于是就使用命令 netstat -ano 來查看一下到底是哪個程序占用了80端口,如圖所示端口查找的結果:
看到80端口被PID為4的System進程占用,呵呵,我想說一句我擦嘞什么鬼+_+。仔細想了想,一般的程序不會占用80,遂使用命令 netsh http show servicestate 查看一下當前的http服務狀態,發現果然有問題,如下圖所示:
圖中可以看到,80端口被一個DefaultAppPool的東西占用了,如果用過IIS的童鞋,這時候肯定一定想到了原因,這里我們依然要接著往下找原因,圖中可以看出控制器進程ID為4640,那么就 就繼續查看一下4640進程是什么鬼,進入任務管理器,找到PID4640的進程,右鍵轉到服務,可以看到當前的進程所在的服務,如圖所示:
看到圖中的服務,這里原因也就找到了,IIS的World Wid Web Publishing Service 萬維網服務的問題。
解決方案:
控制面板–>程序–>啟用或者關閉Windows功能–>找到Internet Information Service,將其關閉即可
最近電腦時不時就發生了80端口被占用的情況,簡單百度解決后,當重啟電腦的時候又發生被占用的情況.今天非常幸運的是,發生了80端口和8080端口都被占用了情況,忍無可忍決定下定決心解決這個坑爹的問題,經過重新百度完美地解決了這個問題,下面貼出解決方法:
一:原文地址: http://www.2cto.com/os/201505/399603.html
我的占用原因是 SQL Server Reporting Services,停止掉這個服務并設置其為手動啟動即可
如果你并沒有安裝 SQL Server,請參考下文解決
===============================================================================
突然發現 80 端口被莫名占用,咋一看還是 System 這個進程
又無法結束這貨,于是開始慢慢查看到底是什么東西占用了
首先,打開 cmd 跑這一句,80 端口被System 占用,肯定是 HTTP 服務搞的鬼
1
netsh http show servicestate
看到 REPORTSERVER 略顯疑惑
我們繼續看,得到使用 80 端口的 PID了,還等什么?開 taskmgr!(任務管理器)
任務管理器查看 PID 的方法:
上方在 cmd 中,我們得到 PID=4212,現在我們看看是什么東西在作怪
看到上圖的結果,恍然大悟!如果大家不確定那是一個什么進程,我們對他右鍵 - 打開文件所在位置
這下大家應該都明白了吧。我這個占用的根本是 SQL Server 的報告服務
最后我去 services.msc 里停止他并設置這個服務為手動就搞定了。
如何查看當前 80 端口占用情況:
1
netstat -ano | findstr 0.0.0.0:80
這段命令輸入后回車,中間無內容即表示無占用
二:原文地址:https://www.caogenjava.com/detail/75.html
今天筆者想在server2008服務器上用80端口跑個項目,但是系統提示80端口被占用,端口被占用這在開發過程中是常見的事情,查一下被誰占用了,干掉他不就完了。一查不要緊,結果太詭異,使用netstat -ano命令查看,80端口被pid的為0的進程給占用了,用任務管理器一看,這個pid為0的進程竟然是系統閑置進程即system idle process,這個進程可是干不掉的,于是乎一通百度。
首先在一篇百度文庫里找到了一篇帖子,說的是被sqlserver數據庫給占用了,因為我那臺服務器確實也安裝了該數據庫,原以為就是它的原因,但是按照文章中的說明處理之后80端口還是被占用,重啟服務器之后依舊。那篇帖子地址是這個:《解決Windows Server 2008 System進程占用80端口》。
最終終于在其他帖子里找到了答案,廢話不多說,直接上方案。
打開設備管理器,點擊菜單欄中的查看-->顯示隱藏設備,這時候你能看到非即插即用驅動程序,展開,找到HTTP,雙擊切換到驅動程序選項卡,將類型設為已禁用,確定,重啟系統。(注:理論上,你直接點停止也是可以的,但是我點擊之后系統總是卡死。禁用還是要設置的,否則系統重啟之后80又被占用了),HTTP驅動通常是打印機之類的設備連接造成的端口占用
前段時間的“EnternalBlue”(藍之永恒)勒索蠕蟲就是通過電腦445端口,進行勒索。
首先,我們查看電腦打開那些端口,可以使用Netstat命令:
依次點擊“開始→運行”,鍵入“cmd”并回車,打開命令提示符窗口。在命令提示符狀態下鍵入“netstat -a -n”,按下回車鍵后就可以看到以數字形式顯示的TCP和UDP連接的端口號及狀態。
圖上顯示打開135/445、1030等端口
現在我們通過組策略方法,關閉危險端口,下面以關閉445端口為例。
在“開始”菜單選擇“運行”,輸入“gpedit.msc”后回車,打開本地組策略編輯器。依次展開“計算機配置---windows設置---安全設置---ip安全策略,
在本地組策略編輯器右邊空白處 右鍵單擊鼠標,選擇“創建IP安全策略”,彈出IP安全策略向導對話框,單擊下一步;3
在出現的對話框中的名稱處寫“關閉445端口”(可隨意填寫),點擊下一步;
對話框中的“激活默認響應規則”選項不要勾選,然后單擊下一步;勾選“編輯屬性”,單擊完成。
在出現的“關閉端口 屬性”對話框中,選擇“規則”選項卡,去掉“使用 添加向導”前邊的勾后,單擊“添加”按鈕。5
在彈出的“新規則 屬性”對話框中,選擇“IP篩選器列表”選項卡,單擊左下角的“添加”
出現添加對話框,名稱出填“封端口”(可隨意填寫),去掉“使用 添加向導”前邊的勾后,單擊右邊的“添加”按鈕。
在出現的“IP篩選器 屬性”對話框中,選擇“地址”選項卡,“源地址”選擇“任何”,“目標地址”選擇“我的IP地址”; 選擇“協議”選項卡,各項設置如圖片中所示。設置好后點擊“確定”。
返回到“ip篩選器列表”,點擊“確定”。返回到“新規則 屬性”對話框
在ip篩選器列表中選擇剛才添加的“封端口”,然后選擇“篩選器操作”選項卡,,去掉“使用 添加向導”前面的勾,單擊“添加”按鈕
在組策略編輯器中,可以看到剛才新建的“關閉端口”規則,選中它并單擊鼠標右鍵,選擇“分配”選項,使該規則開始應用!
到此,同樣的方法你可以添加對任何你想限制訪問的端口。