Windows systems with the IIS server role installed by default have 80 ports occupied. However, the process that occupies port 80 is not the WWW service, not the IIS Admin sevice, but the kernel status of HTTP. sys. Using the command Netstat-ano, it is easy to see that the 80-port system process is PID 4. This process is an alias for the kernel process of the Winodws NT system. The hardware system starts and finishes booting the Windows system kernel and other important system files that contain HTTP. sys. HTTP. SYS is exactly the component that implements the HTTPS protocol, not a Windows service that cannot be found in the system process and cannot be found in the system's services, but is a key component of the WWW service for the important components of IIS. The HTTP request schema for IIS is shown, and more about the IIS architecture can be found here.
650) this.width=650; "Style=" display:block; Float:none; Margin-left:auto; Margin-right:auto "src=" http://media-www-iis.azureedge.net/media/7188132/ Introduction-to-iis-architecture-101-overviewofhttprequest.png "/>
Back to the topic, HTTP. SYS is not proprietary to IIS as a component of the kernel status, and many Windows-oriented applications and services can be programmed with HTTP. SYS APIs, which brings a lot of convenience. But for Linux-born open-source software such as Apache and Nginx, it's less fun to migrate to the Windows platform without using HTTP. SYS's API. So the problem comes, without the use of common middleware, hardware resource conflicts are unavoidable. If you can ensure that the system is only used to run Apache and Nginx software, it is simple to use the command net stop http. sys. But there are too many applications and services that rely on HTTP. sys, and sometimes we want them to coexist and resolve port conflict issues.
The better solution is to limit HTTP. sys to listen on the 80 port IP address, so that HTTP. sys only listens on 80 ports of IP in the list, while the other IP addresses of 80 ports are used by Apache and Nginx. As follows:
PS C:\Users\administrator.cloud> netshnetsh>httpnetsh http172.16. 1.1 IP address successfully addednetsh HTTP> in the IP Listen list:----------------- -------------------------- 172.16. 1.1 Netsh http 172.16. 1.1 IP address successfully deletednetsh HTTP>quit
Windows Sever about the 80 port contention