一台服务器,一个ip地址,能建几个网站?80端口不会冲突吗?

宁采塵


你可以了解一下“虚拟主机”(这里指的是一台服务器运行多个网站)与虚拟化中的虚拟主机本质上类似,都是最大化的利用服务器资源。这里就不展开讲了,想具体了解的话去看书吧。

微软的IIS,开源的Apache (httpd),和 Apache tomcat还有nginx 和收费的 weblogic 等等都可以使用80端口发布多个网站。

简单理解的话,就是不同网站配置不同的域名,中间件根据域名来指向相应的web程序。但在不同的中间件中,可能配置方法和命名方法不太一样而已,原理都是一样的。


鸩鸩铕鹚


针对每一个问答都本着绝不大胆胡说,只管小心求证的态度,疯评科技来解答您的提问。


一台服务器一个IP,理论上可以建无数个网站,当然实际情况取决于服务器的硬件能支持多少可分配资源;80端口和443端口都是不会冲突的。


一个IP地址建多个网站的方法之一:不同端口号

我们一般网站默认端口号是80,就是输入网址的时候可以省略掉80端口号,如果是非80端口的网站,则需要加上端口号,像 http://www.xxx.com:8080这样的网址,很显然,后面的端口号可以随意定义的。

正常情况下一个IP可以有65535个端口号,除掉一些常用的端口号被占用外,至少也可以有60000+的端口号可用,那么用端口号来区分不同网站的话,当然可以建这么多的网站。


一个IP地址建多个网站的方法之二:不同的主机头

如果多个不同域名的网站绑定到同一个ip,正常操作下都会访问到同一个网站的,为了进行区分,必须在服务器上进行主机头的绑定。

如果只是简单的将两个不同的域名解析记录指向一个ip地址,那么网站服务器在收到任何请求时反馈的都是同一个网站的信息。

我们使用主机头绑定域名a和b到他们对应的空间文件夹A和B。当含有域名a的web请求信息到达主机IP时,网站服务器将执行它所在的空间A中的首页文件,并返回给客户端,含有域名b的网页请求信息时,执行的是空间B的文件。

因此在使用主机头绑定功能后就不能使用ip地址访问其他的任何网站了,因为请求信息中不存在域名信息,这样会出错。



因此,一台服务器一个IP可以创建足够多的网站,只要硬件够强的话,如果不需要通过域名访问,那么设置不同的网站端口比较简单;如果需要通过域名访问,可以设置不同的主机头进行网站区分即可。


疯评科技


具体能支撑多少个网站,看你的服务器配置,代码质量,一般一台4核8GB的机器可以承载QPS500到2000左右,80端口冲突的问题,可以使用域名解决,如果是LNMP或者LAMP架构,可以在nginx apache上配置多域名,其他的比如go,java,c++等项目可以启动在不同端口,通过nginx做反向代理


分享到:


相關文章: