【一台服务器上如何创建多个网站?】

原理分析

本质就是Nginx监听一台服务器的80端口,使用不同的域名映射到不同的Linux文件目录(站点发布的目录)

首先就是多个域名可以解析到同一个ip地址。我们的虚拟主机技术就是利用这一点来实现的。一般情况下,我们标识一个网站是通过网站的ip和端口以及网站项目名称来标识的。
在测试环境下,你可以通过修改成不同的端口,或者修改网站的项目名称来实现在同一台主机下部署多个网站。
但是在真正的生产环境下,我们的网站往往都是采用的80端口,而且都是不带有网站目录路径的。这个时候就可以通过不同的域名来对网站加以区分了。具体的实现过程是这样的,首先通过配置域名解析,将多个域名都解析到同一个主机ip,然后我们在该主机上通过配置来让主机可以将来自不同域名的请求转发给不同的网站程序去处理。主机会截获到请求的请求头信息,然后获取到host这个请求头的值,这个值也就是该请求的来源域名。主机根据所配置的域名与网站程序的对应关系,将来自不同的域名的请求转发给不同的程序去处理。

有了这个映射关系以后,那么主机在接到请求时,首先就会获得该请求来在哪个域名,然后根据配置的域名到网站根目录的对应关系,将该请求转发给对应的网站根目录去进行处理。

这样就实现了一个ip一个80端口上部署无穷多个网站的效果。


具体方案实现

其实很简单,我们以阿里云服务器(这里有阿里云的最新优惠活动,记得领券再买,节省一点是一点)为例。教大家用宝塔面板一键部署,轻松添加多个站点。(在步骤12)

什么是宝塔面板:宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。

使用代理转发软件。比如Nginx反向代理。以前我没有了解Nginx的时候,也为这个问题苦恼很久。后面随着知识的学习,发现问题很简单,解决方法也简单,通过Nginx反向代理的方式的能解决你的问题。

就是利用Nginx共同监听同一台云服务器的同一端口(80端口),然后通过不同的域名的方式代理转发,在云服务器下可以指定每个域名访问特定的Linux文件目录,每个文件目录发布你的一个站点。这样就一台服务器就可以发布多个网站站点了。

server
{listen 80 default_server;server_name www.yundashi168.com;                  # 域名1index index.php index.html index.htm default.php default.htm default.html;root /www/wwwroot/www.yundashi168.com/site1       # 站点1//以下代码省略
}server
{listen 80 default_server;server_name tencent.yundashi168.com;             #域名2  以此类推,你可以搭建无数个站点index index.php index.html index.htm default.php default.htm default.html;root /www/wwwroot/tencent.yundashi168.com/site2      # 站点2//以下代码省略
}多个nginx配置文件可以分割#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效include /www/server/panel/vhost/rewrite/www.yundashi168.com.conf;   #在总的配置文件里面引用站点1的配置文件

如果你是纯小白,不是很懂技术,那建议使用宝塔面板,宝塔面板一键安装部署Nginx软件环境,不用你手工搭建,而且在使用上,也不用写什么命令。只要会使用宝塔面板就可以了。

以前我是手工搭建nginx+mysql+php等运行环境,后台为了省时间和精力,就直接用宝塔面板。然后宝塔面板就可以帮助我在一台服务器上搭建多个网站。

至于能搭建几个网站?完全取决于你服务器能承载多少个网站访问量和资源消耗。如果你的云服务器配置很高,比如4核16G的配置,那就可以搭建几十个小网站都没有问题。当然还得考虑带宽问题。

宝塔面板搭建多个网站

如果你想参考相关教程,那刚好我总结好了我以前建站写的经典教程。教你如何在一台服务器上安装多个网站站点。本质是在宝塔面板上安装LNMP(Linux+Nginx+Mysql+PHP)环境,利用nginx来实现。

具体教程:宝塔面板添加WordPress站点详细图文教程 (当然你不一定要搭建WordPress程序,也可以是其它任何程序和网站系统)

如果是你懂技术的,那么只要了解下Nginx,自己实现Nginx代理在服务器上部署多个网站,那完全没有问题。

以上讲到了宝塔面板部署WordPress网站,以及创建多个站点的方法,相信大家自己操作一遍就会了。如果我的文章对你有帮助,可以给我点个赞,谢谢!

原文地址:http://tencent.yundashi168.com/791.html

同一台服务器同一个IP都是80端口发布多个网站相关推荐

  1. 如何实现同一个ip下同一个80端口部署多个网站?

    [一台服务器上如何创建多个网站?] 原理分析 本质就是Nginx监听一台服务器的80端口,使用不同的域名映射到不同的Linux文件目录(站点发布的目录) 首先就是多个域名可以解析到同一个ip地址.我们 ...

  2. linux两台服务器 同一个地址_【网工玩Linux】搭建开源多运营商(ISP)链路负载均衡器...

    今天,主要想讲一下如何利用Linux内核功能,搭建与市面上十几万的商用产品(F5.RADWARE等)功能相同的多互联网线路负载均衡设备. 负载均衡,相信各位是了解的.主要包括两大类,一类是应用负载均衡 ...

  3. nginx服务器同一个IP怎么配置多个域名?

    一台服务器nginx绑定多个域名,多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里. 一: 每个域名一个文件的写 ...

  4. 使用公网IP的非80端口访问内网中SharePoint2013的Web站点

    大家都知道sharepoint2013默认安装使用的80端口,http可以正常访问,但是如果你想做NAT到公网让其他城市的人通过公网IP访问你的网站,你该怎么做?不巧的是你用的是中国电信的宽带,默认的 ...

  5. 云服务器iss列表,【踩坑】发布ASP.NET网站到本地IIS和云服务器

    疑问:如何在服务器上发布一个网站? 申请了某某云的1元服务器域名,然而并不知道有什么乱用.总所周知,服务器一般都是用来发布网站的,然后我就陷入了一个很大的疑问中:如何在服务器上发布一个网站? 想起之前 ...

  6. 本地电脑做网站服务器,无需公网IP穿透映射80端口

    在大内网IP环境下,使用本地电脑做网站服务器,首先要解决的是没有公网IP,外网用户如何能够正常访问到本地网站的问题. 在没有公网IP的情况下,想要实现外网访问内网,可以通过cpolar内网穿透来解决, ...

  7. java监听某端口和ip_Java 通过Socket监听指定服务器(IP)的指定端口,及向指定服务器的指定端口发送信息...

    客户端:向指定端口发送信息 package com.jszc.lottery.modules.longpay.util; import java.io.BufferedReader; import j ...

  8. 在一台服务器上搭多个网站的解决方案

    以前一直困惑于80端口就一个,如何才能在一台服务器上布署多个网站呢?最近因为公司服务器需要实现这个需求,才去认真的研究其中的原理与布署方案,本文总要记录winodws服务器下apache与iis的配置 ...

  9. linux删除80端口,linux下解决80端口被占用

    安装一个nginx服务,在启动的时候报80端口被占用了,我们来检查一下有哪些服务占用了80端口 首先我们查一下占用80端口的有哪些服务,netstat -lnp|grep 80 查看80端口被那些服务 ...

最新文章

  1. 64win7+64Oracle+32plsql
  2. C++程序设计(第2版)课后习题答案--第11章
  3. 微软再出手!这次要干翻 IDEA 了。。
  4. 在windows下执行./configure,make,makeinstall源码安装程序spice-gtk
  5. python自动测试相机_Python + Appium+ IOS自动化测试
  6. ASP.NET(C#)常用数据加密和解密方法1
  7. 台式计算机主板修理教程,小白装机最新最详细的台式电脑组装教程图解
  8. 图片批量压缩工具免费版-免费的批量图片压缩工具
  9. TCR历史论文多久能发表?
  10. tdk怎么设置_SEO优化建议:如何正确设置TDK
  11. OKR目标与关键结果法
  12. 17 Redis 的性能受CPU结构影响
  13. Platform 设备驱动:platform_get_drvdata 与 platform_set_drvdata
  14. 如何理解空洞卷积(dilated convolution)
  15. 配置安装Apache主服务发生错误:(OS 5)拒绝访问。 : AH00369: Failed to open the Windows service manager, perh······
  16. EXCEL的VBA编程基础1
  17. 如何修改百度地图上marker的icon地址
  18. REC论文阅读(一):MAttNet
  19. PSP开发一 linux菜鸟fedora下配置psp开发环境
  20. 苹果账号被禁用怎么办?

热门文章

  1. cmd扫描局域网ip 如何扫描局域网中的路由器的IP地址
  2. CStdioFile open失败 错误码123
  3. python 如何获取百度热点内容
  4. 4本Python必读的入门书籍
  5. 转载的HTTP长连接短连接和无状态的理解
  6. 使用动态规划算法实现文献查重(C/C++实现)
  7. 论文读书笔记-Bengio
  8. 4 年前端狗 2 年 CTO
  9. php pdo连接oracle乱码,php pdo oracle中文乱码的快速解决方法_PHP
  10. 【自定义表单】自定义表单设计