【一台服务器上如何创建多个网站?】
原理分析
本质就是Nginx监听一台服务器的80端口,使用不同的域名映射到不同的Linux文件目录(站点发布的目录)
首先就是多个域名可以解析到同一个ip地址。我们的虚拟主机技术就是利用这一点来实现的。一般情况下,我们标识一个网站是通过网站的ip和端口以及网站项目名称来标识的。
在测试环境下,你可以通过修改成不同的端口,或者修改网站的项目名称来实现在同一台主机下部署多个网站。
但是在真正的生产环境下,我们的网站往往都是采用的80端口,而且都是不带有网站目录路径的。这个时候就可以通过不同的域名来对网站加以区分了。具体的实现过程是这样的,首先通过配置域名解析,将多个域名都解析到同一个主机ip,然后我们在该主机上通过配置来让主机可以将来自不同域名的请求转发给不同的网站程序去处理。主机会截获到请求的请求头信息,然后获取到host这个请求头的值,这个值也就是该请求的来源域名。主机根据所配置的域名与网站程序的对应关系,将来自不同的域名的请求转发给不同的程序去处理。
有了这个映射关系以后,那么主机在接到请求时,首先就会获得该请求来在哪个域名,然后根据配置的域名到网站根目录的对应关系,将该请求转发给对应的网站根目录去进行处理。
这样就实现了一个ip一个80端口上部署无穷多个网站的效果。
具体方案实现
其实很简单,我们以阿里云服务器(