精华内容
下载资源
问答
  • 想在您的web站点中增加额外交互行为吗?需要创建如桌面应用般站点吗?《ajax hacks中文版》就是您要寻找书。ajax是构建在已有技术之上一整套新实践集合,它将帮助您打破web中传统每次请求一页面情形,...
  • 通常情况下我们只会想到利用传统方式修改TCP端口号,IP地址和主机头名这三种途径进行多站点的添加和管理,但是今天小编想给大家介绍一种新的更快更便捷的方法,通过服务器管理面板直接创建多个WEB站点! 可实现部署多个...

    网络上的每一个Web站点都有一个惟一的身份标识,从而使客户机能够准确地访问。这一标识由三部分组成,即TCP端口号、IP地址和主机头名,通常有三种不同的实现途径。

    通常情况下我们只会想到利用传统方式修改TCP端口号,IP地址和主机头名这三种途径进行多站点的添加和管理,但是今天小编想给大家介绍一种新的更快更便捷的方法,通过服务器管理面板直接创建多个WEB站点!

    可实现部署多个站点面板有(可根据自己情况选择使用)

    1. 宝塔  软件地址

    2. 云帮手  软件地址

    具体操作方法:

    1. 登陆属于你的服务器管理工具帐号

    2. 找到站点管理功能,点击进入

     http://img1.sycdn.imooc.com/5e7f30f700017e0c08000600.jpg

    3. 选择创建新站点

    http://img1.sycdn.imooc.com/5e7f3106000126f308020602.jpg

     

    4. 点击“创建新站点”,显示创建站点弹框,填写相关信息后,点击“下一步”

    http://img1.sycdn.imooc.com/5e7f311500018e3f08020601.jpg

     

    5. 点击下一步创建数据库

    http://img3.sycdn.imooc.com/5e7f31220001648e08020602.jpg

    6. 点击下一步创建FTP

    http://img1.sycdn.imooc.com/5e7f312f0001b21a08000600.jpg

    7. 点击下一步,完成站点添加

    注意事项:

    Windows 环境下的 Web 服务器有 IIS、Apache 和 Nginx 三种服务

    Linux 环境下的 WEB 服务有 Apache 和 Nginx 两种服务

    展开全文
  • iis中搭建多个web站点

    千次阅读 2004-06-22 22:17:00
    在思归的博客中曾经提到过iis中创建多个web站点的三个方法和相关文章1,每个网站用不同的IP2,每个网站用不同的Port (Cookies 会有问题)3,每个网站用不同的Host Headers今天刚好碰到类似的问题:公司申请了两个域名,想...

    思归的博客中曾经提到过iis中创建多个web站点的三个方法和相关文章
    1,每个网站用不同的IP
    2,
    每个网站用不同的Port (Cookies 会有问题
    )
    3,
    每个网站用不同的Host Headers
    今天刚好碰到类似的问题:公司申请了两个域名,想要把这两个域名指向同一个ip下的两个不同的站点.因为思归提供的链接都英文的,所以在这里我在用中文描述一下方法3的步骤:
    1,设置dns,把域名指向公共的ip
    我在windows2003安装了DNS服务器测试了一下:   建立两个正向域->在域中建立各自的www服务器并把ip指向公司的ip->为了能在本地机器上使用这两个域名,把本地机器的网络连接中的dns指向刚才的window2003 DNS服务器.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

    2,在拥有公共ip的机器上的iis创建两个web站点

    3,设置这两个web站点的主机头值

    iis管理工具->选中一个web站点->鼠标右键->属性->网站选项卡-> 点击 高级 按钮->
    选中 一个标识
     编辑按钮->输入相应的主机头值(http://www.google.com的主机头值就是www.google.com,也可以再增加一个标识,google.com加进去,这样在ie中打入下面两个网址www .google.com或google.com都可以访问这个站点了)设置完成,就可以试试效果了.
    在这里要注意几点:
    1,internet,域名解析都会有一定的延迟,也就是说虽然你已经修改了域名设置,但还是有一定的缓冲时间TTL
    2,iis中如果不是必须的,就把默认站点去掉,并且不要让ip全部未分
    3,设置好以后记得要设置虚拟目录的访问权限和默认文档,忘了把index.htm加入到默认文档中而重新再做了一遍

    展开全文
  • 如何创建大型高性能Web站点

    千次阅读 2016-08-12 16:53:56
    使用合适的会话管理 第一个想到的扩展系统的方法就是添加更多...会话被定义为单独的最终用户登录或者连接一 段时间,其中通常会包含多个TCP/IP的HTTP连接、几个Web页面,通常还包括几十个甚至上百个页面元素,如框架

    使用合适的会话管理

    第一个想到的扩展系统的方法就是添加更多硬件。例如,使用两台服务器而不是一台。这听着合理,但会产生潜在问题:会话管理。这对Java程序来说是很严重的问题,在PHP中也会产生可延展性问题, 对于数据库的负载尤其如此。

    会话被定义为单独的最终用户登录或者连接一 段时间,其中通常会包含多个TCP/IP的HTTP连接、几个Web页面,通常还包括几十个甚至上百个页面元素,如框架、菜单、Ajax更新等。所有这些 HTTP请求都需要知道用户是谁,才能满足安全的要求,并向用户传送适当的内容,因为这些都是会话的组成部分。通常每个会话都会包括相互关联的会话数据, 如用户名、用户ID、历史、购物车、统计资料等等信息。

    问题在于,在有两台Web服务器和多个HTTP连接的情况下,用户流量会在两台服务器之间分配和移动,服务器很难知道用户是谁,并对所有数据进行跟踪,因为每个页面或者页面的组成部分都可能来 自不同的服务器。在PHP中,通常是这样解决的,在第一次连接或登录的时候就创建一个会话ID并将其放在Cookie中,然后这个Cookie会和每个 HTTP请求一起发送。

    这样做带来一个问题,接下来每段PHP脚本 都需要基于ID来查找会话数据。由于PHP无法在执行过程之间保持状态(这与Java不同),这个会话数据需要存储在某个地方,通常是在数据库中。但是, 如果复杂的页面需要在每个页面载入过程中对其进行十次查找(这是经常要做的),那就意味着每个页面都要执行10次SQL查询,这会导致数据库上很大的负载。

    在前面所举的中国Internet用户 0.01%的例子中,可能很容易在每秒内仅仅为了管理会话就生成上百个查询。解决方法是一直使用位于Cookie中的会话ID,并且使用像Memcached之类的服务来缓存会话数据以获得高性能。

    还要注 意其中存在安全性的问题,因为黑客可 以伪造另一个用户的会话ID,这是很容易找到或看到的,特别是在公用的Wi-Fi中。解决方法是对会话ID进行恰当的加密或者签名,并将其与时间区间、 IP地址以及其他关键信息 像浏览器或者其他细节相绑定。在Internet上有很多不错的关于良好的会话管理的例子,你可以根据需要找到最适合的。

    总是要考虑安全性

    尽管编写像防止SQL注入和登录安全之类的 代码涉及很多安全问题,但不幸的是,几乎没有人考虑过安全性,而那些考虑到的人也没有对其进行很好地理解。而本文要关注的是操作性的系统安全。对于这类安 全,我们的焦点集中在三个安全领域:防火墙、运行的用户以及文件访问权限。

    除了配置专门的硬件防火墙(像Cisco的 ASA)之外,所有服务器都还应该运行像Iptables之类的防火墙,它会保护服务器免受其他威胁和攻击。这些威胁和攻击可能来自公共的 Internet、其他服务器或本地服务器,也包括使用VPN或者SSH通道的开发和操作人员。我们仅对指定的IP开放确实需要的端口。Iptables 可能会很复杂,但是有很多不错的模板,我们通常可以使用它们来帮助客户创建Iptables。例如,默认的RedHat或者CentOS防火墙的配置说明 只有10行,显然并不实用。我们最佳实践的Iptables配置大概有5页,这其中包含了Linux所能提供的最高级的安全防范。

    所有公用的服务,都应该运行在专门的用户 下,如Apache。切记永远都不要使用Root用户运行,因为这会让任何闯入到Apache的用户接管整个服务器。如果Apache只是运行在 Apache用户下或者运行在Nobody下,那么闯入Apache就不是一件容易的事情了。

    Web服务器运行或者服务的文件 (像.php和.html文件)对于Web服务器的用户应该是不可写的。这意味着Apache或者Nginx用户不应该拥有Web目录的写权限。有很多方 法都可以做到这一点,而最简单的就是将这些文件为其他用户所有,然后让Apache/Nginx等用户归属于能够使用640权限读取文件的组中。这会防范 几乎所有的黑客和针对页面的攻击。

    此外,永远不要使用Ftp来上传文件,特别是在公用的Wi-Fi环境中,因为在其中黑客很容易盗取用户名和密码。取而代之的是使用Sftp会更加安全。另外,每个雇员都应该拥有自己的用户ID和随机密码。

    使用标准的路径和安装配置

    一个令人讨厌的部署问题是,开发者很少考虑 他们的软件会被部署到生产Web服务器的什么位置,以及如何部署。我们看到过许多大型的系统将它们的PHP代码部署在/home/xiaofeng或者 /web/code路径下。事实上,这两个路径都是非常不标准的,并且会带来操作和安全性的问题。当这些系统从开发环境转移到测试环境再到生产环境中时, 因为每个安装配置都是非标准的,所以经常会出现问题,这时就需要开发者调整才能够正常工作。

    你应该总是使用标准的安装包和二进制文件来 安装像Apache之类的服务器。不要从源代码编译或者安装Tarball,因为这会导致长期稳定性和管理上的问题,另外在服务器上安装多个不同的版本也 会造成混淆。

    Web 站点应该总是在指定的平台和 Linux发布的标准路径下进行测试和部署,像RedHat 或者CentOS下的/var/www/html路径。这有助于对系统进行有效的权限管 理、备份、配置、监控以及其他操作。

    Web 服务器的日志应该存放在/var /logs或者/var/logs/app_name下,而不应该位于主代码区域。这样做的原因不仅仅是因为这些标准的路径很重要,更应该关注的是,恰当 地配置服务器会将/var配置为分离的文件系统。如果应用程序突然写入了大量日志并占用所有磁盘空间,由于我们做了以上的配置就不会导致系统崩溃,或者其 他严重的问题。如果日志位于其他位置,就可能会产生问题。

    总是使用日志

    在Web系统中做多少日志都不为过。所有系统都应该将重要的数据写入到日志中,不管是它们自己的日志还是系统的Syslog。Cron的Job以及其他Shell脚本或者C语言的程序,对日志都有 相应标准以及简单的函数。在Shell脚本中,只需要使用 Logger命令就可以实现日志的写入。在脚本启动/停止、重要的脚本执行以及实时数据产生的 情况下都要执行写入日志操作。这样出现问题的时候,查看主要的系统日志就可以很容易地看到发生了什么。

    大型系统经常会使用专门的工具如 Local5来记录日志,并配置Syslog或者Syslog-ng来将其存放在单独的文件中,这样会更容易使用。需要注意的是,Syslog工具和 Logger(以及任何Syslog调用)默认优先使用user.notice,如有必要,你可以对其进行调整。

    一个好的系统会对程序进行配置,用来打开或者关闭日志,并可以选择在每模块或者功能的级别上应用不同级别的日志。这使得我们可以记录非常详细和强大的日志,用来分析和调试在生产操作中所发生的问题。

    使用良好的数据库设计和SQL

    在任何系统中,数据库通常是最大的性能瓶 颈。而影响数据库性能的最大两个问题是数据库设计和SQL代码质量。很多系统都拥有良好的或者至少是可用的数据库设计,但由于没有经过适当的性能测 试,SQL代码质量通常都会很差。这样的SQL代码在开发环境中可能运行很快,因为其中只有小数据集和最小的负载。但是当成千上万的用户同时读取数据库中 上百万条记录的时候,它就很可能会崩溃。

    不幸的 是,这些问题一开始并不明显,直到系统增大、突然开始崩溃的时候才会显现出来。在增大的过程中,数据库系统看起来运行得很快(因为数据都位于内存中,而且很少有并发的查询),并且对用户的响 应也很快,但实际上它的内部运行效率很低。这并不重要,我们关注的是在系统增大并遇到性能问题之前找到这些问题并加以解决。

    关于这个问题有很多不错的书和站点进行了解析,其中的关键工具包括慢查询日志、INNODB状态系统,以及描述当前性能的MySQL统计信息。我们见到过很多系统每秒会读取500,000条数据, 这是出现SQL问题的明显预兆,但公司往往对其一无所知直到服务器开始崩溃。

    MySQL系统应该对所有数据使用 INNODB存储引擎,因为INNODB与之前的MyISAM相比,运行得更快、更稳定,并且管理性能和备份工作也更加容易和快捷。在主配置文件 中,INNODB应该被设置为默认的数据库引擎,并且系统应该不时地进行检查,看是否意外创建了MyISAM的表。

    总要拥有良好的DB配置和备份

    很多公司都没有良好的备份机制,也不知道如 何恰当地完成这项工作。MySQL的Dump是不够的,因为最好的备份方法是使用LVM快照和INNODB对系统进行热备份,从而得到超快的速度和超高的 可靠性。

    另外,在将所有备份文件从服务器上转移出来 之前要进行压缩和加密。另外还要确保拥有设计合理的MySQL配置。MySQL默认安装使用说明中只有5~10行关于配置的说明,这根本不适合开发使用。 而我们提供给客户的最佳实践文档足足有10页那么长。文档中大约有100种有用的关于安全、性能和稳定性问题的设定,包括防止数据败坏,其中很多设定都是非常重要的。

    使用读/写数据库分离

    随着系统变得越来越庞大,特别是当它们拥有 很差的SQL时,一台数据库服务器通常不足以处理负载。但是多个数据库意味着重复,除非你对数据进行了分离。更一般地,这意味着建立主/从副本系统,其中程序会对主库编写所有的Update、Insert和Delete变更语句,而所有Select的数据都读取自从数据库(或者多个从数据库)。

    尽管概念上很简单,但是想要合理、精确地实 现并不容易,这可能需要大量的代码工作。因此,即便在开始时使用同一台数据库服务器,也要尽早计划在PHP中使用分离的DB连接来进行读写操作。如果正确 地完成该项工作,那么系统就可以扩展到2台、3台甚至12台服务器,并具备高可用性和稳定性。

    使用类似Memcached,Redis之类的数据库缓存

    即便有了好的数据库设计、SQL和读写分离,大型的系统仍然需要更快的性能,特别是对会话状态、好友列表以及BBS文字之类的东西。为了达到这个目的,我们可以使用像MemCached之类的数 据缓存,它是一个高性能的简单数据缓存,已经被所有最大型的站点使用。但是要小心的是,不要100%依赖于一台Memcache服务器来提高性能,因为如 果那台服务器崩溃了,就会破坏整个系统的性能。在这种情况下,应该使用2~3台Memcache服务器形成簇集架构,并且有选择地包含一个缓存准备过程, 如果缓存服务器重启,需要重新载入数据,它能够快速地载入缓存。

    构建测试和开发环境

    很多公司只有开发者的桌面系统和他们的生产 服务器。当系统变得越来越大、越来越复杂时,测试和管理代码就会导致严重的问题。最佳的实践是拥有两个测试系统,一个用于开发者的代码和功能的整合测试, 另一个要与生产环境完全一致,从而更容易向生产环境平滑地过渡。幸运的是,现在使用云计算(或者私有云)可以轻松达到这一点。一个5~10台服务器的生产 环境,可以很容易地在办公室或者IDC中使用一台服务器来复制,从而用于测试,而这台服务器我们可以用于多个客户的项目。

    使用版本控制

    要对一切使用版本控制,包括测试和生产环境的部署。很多开发者都使用SVN或者类似的方法。在理想状态下,这些方法可以被用于所有代码、脚本、HTML、图片、配置、文档和测试。版本控制应该是代码转移到测试环境的必经之路,而不是简单地复制或者使用tar文件,因为这二者都是不可靠的。开发者应该将所有一切都签入,打上标签,然后将它们签 出到测试系统。如果所有都没问题,那么它们会将该版本签出到生产环境。

    分布式集群

    过去当运行一个大的web应用时候意味着需要运行一个大型的web服务器。因为你的应用吸引了大量的用户,你将不得不在你的服务器里增加更多的内存和处理器。今天,“大型服务器”模式已经过去,取而代之的是大量的小服务器,使用各种各样的负载均衡技术。

    “更多小服务器”的优势超过过去的“大型服务器”模式体现在两个方面:

    1. 如果服务器宕机,那么负载均衡系统将停止请求到宕机的服务器,转而分发负载到其他正常运行的服务器上。

    2. 扩展你的服务器更加容易。你要做的仅仅是加入新的服务器到负载均衡系统。不需要中断你的应用运行。

    所以,把握住这个机会。当然,代价就是这要求你的应用开发时增加一点复杂度。这就是本文要覆盖的内容。

    这时你可能对自己说:“但是我怎么知道我正在使用负载均衡呢?”。最诚实的回答是,如果你正在问这个问题,那么答案是你多半没有在使用负载均衡系统并且你的系统不需要考虑这个问题。大多数情况,当应用成长足够大的规模时,负载均衡就需要明确提出和设置了。然而,我也偶尔看见虚拟主机公司为客户的应用做这个负载均衡,或者像下面描述的那样要自己来做。

    注意,我一直提“web应用”而不是website,这是想区分“web应用”是那些复杂的站点往往涉及服务器端编程和数据库,而不是website那样只显示简单的静态内容。

    1. PHP文件

    第一个问题是,如果你有大量的小型服务器,你怎么把你的php文件上传到所有的服务器上?有如下的方法供你参考:

    ◆分别上传所有的文件到每一个服务器 , 这种方法带来的问题是:想像一下你有20个服务器,那么上传过程中这将很容易导致错误,并且更新时极有可能导致不同服务器上有不同版本的文件。

    ◆使用 ‘rsync ‘ (或类似的软件) . 这样的工具能同步本地目录和多个远程主机目录上的文件。

    ◆使用版本控制软件(如subversion ) . 这是我最喜欢的方法。用它可以很好地维护我得代码,当发布我的应用时,可以在每一个服务器上运行svn update命令同步。这种方法也使切换服务器得代码到过去的某一个版本更加容易。

    ◆使用一个文件服务器(你可能发现NFS 非常适合做这件事情). 这种方式是使用一个文件服务器来存放你的web应用. 当然,如果你的文件服务器宕机,那么多所有你的站点将不能使用。这时,你就需要花费更多的开支来恢复它。

    选择哪种方式依赖于你的需求和你掌握的技能。如果你使用版本控制系统,那么你可能得计划一个方法如果同时执行一个更新命令更新所有服务器上的代码。然而,如果使用文件服务器,你就要实现一些失败恢复机制,防止万一服务器宕机导致请求失败。

    2. 文件上传

    当只有一台服务器时,文件上传不是一个问题。但是当我们有多台服务器时,那么上传的文件应该怎么存放呢?上传文件的问题和跨服务器php文件存储是类似的。下面是几种可能的方案:

    ◆把文件存储到数据库中。大多数数据允许存储二进制数据。当你请求文件下载时,访问数据把二进制数据和相应的文件名和类型输出给用户。在使用这种方案前应该考虑数据库怎样存储你的文件。该方法的问题在于如果数据库服务器宕机将使文件不可用。

    ◆在一个文件服务器上存储上传的文件 . 与前面的介绍一样,你要安装一个文件服务器让所有web服务器共享,把所有上传的文件上传到这里,上传后所有的web服务器就都可以使用它。但是,如果文件服务器宕机,那么可能发生图像文件下载中断。

    ◆设计你自己的上传机制传输文件到服务器到每一个服务器 . 这个方法没有单个文件服务器或者数据库方案的缺陷,但是将增加你代码的复杂度。例如,如果上传到多个服务器过程中,服务器宕机,你要怎么处理?

    用数据库存储上传文件但是设计一个文件缓存机制是一个不错的方案。当服务器接收一个文件下载请求时,首先检查缓存系统中是否有该文件,如果发现那么从缓存系统下载,否则从数据库读取并把它缓存到文件系统中。

    3. 会话(Sessions)

    如果你熟悉php的session 处理,你将可能知道默认情况下,它存储session数据在服务器的临时文件里。而且,这个文件仅仅在你请求处理的那个服务器上,但是接下来的请求可能被另外一个服务器处理,这将在另一个服务器上生成新的session。这导致session频繁地不被识别,如登录用户总是要求重新登录。

    我推荐的方案是,要么重新php内建的session处理机制存储session数据到数据库,或者实现你自己的机制保证发送一个用户的请求到同一台服务器。

    4. 配置(Configuration)

    尽管这个话题不是和php特别相关,我感觉还是有必要提及。当运行集群服务器时,用某种方法保持服务器之间的配置文件同步是一个好主意。如果配置文件不一致,可能导致一些非常奇怪的断断续续的行为导致很难排查这些问题。

    我推荐使用版本控制系统单独管理他们。这样你可以为不同的项目安装存储不同的php配置文件,也可以保持所有服务器配置文件同步。

    5. 日志(Logging)

    像配置问题一样,logging不是仅仅和php相关。但是对于保持服务器健康运行它仍然是非常重要的。没有正确的logging系统,你怎么知道如果PHP代码开始产生错误(在系统正式运行时,你总是关闭display_errors 设置,不是吗?)

    有几种方法你可以实现logging:

    1. 在每一个服务器上记录日志。 这是最简单的方法。每一个机器仅仅记录一个文件。好处是简单,可能只要很少的配置。但是,随着服务器数量的增多,监控每台服务器上的日志文件将变得非常困难。

    2. 记录日志到一个共享 这种方法每一个服务器仍然有这个日志文件,但是他们通过共享机制被存储在一个中央文件服务器上,这将使监控日志变得更简单。该方案的问题在于,如果文件服务器不可用将导致一个简单的日志不能写入问题最终导致整个应用崩溃。

    3. 记录日志到logging服务器 你可以使用一个logging软件,如syslog 来把所有的日志写到一个中央服务器。尽管这个方法要求更多的配置,但是他也提供了最健壮的方案。


    展开全文
  • Apache的虚拟主机是一种允许在同一台机器上配置多个不同站点的web服务器环境的,就是iis一样可以创建多站点了,但是apache需要在编辑状态操作,不能像windows iis直接点击几下就好了,下面我来给各位介绍配置方法。...

    Apache的虚拟主机是一种允许在同一台机器上配置多个不同站点的web服务器环境的,就是iis一样可以创建多站点了,但是apache需要在编辑状态操作,不能像windows iis直接点击几下就好了,下面我来给各位介绍配置方法。

    最平常的大概有3种方法。

    第一种:单IP不同端口

    第二种:多IP同端口(独立IP的虚拟空间)

    第三种:域名绑定根目录的方式(共享IP的虚拟空间)


    Apache的核心配置文件名是”httpd.conf”,其所存放的路径在Apache目录下的conf文件夹下。修改它只需要使用记事本(建议使用其他编辑器,带行数的那种,方便修改),生效的话只需要保存httpd.conf,重启apache即可。

    下面多站点支持的话,修改httpd.conf的第187~264行(不同的httpd.conf可能有差异),也就是在ServerAdmin和ServerName那里,大部分是注释。下面是主要修改的地方。

    注意:如果是服务器请备份httpd.conf后再修改文件。

     代码如下 复制代码

    # 'Main' server configuration
    #
    # The directives in this section set up the values used by the 'main'
    # server, which responds to any requests that aren't handled by a
    # <VirtualHost> definition.  These values also provide defaults for
    # any <VirtualHost> containers you may define later in the file.
    #
    # All of these directives may appear inside <VirtualHost> containers,
    # in which case these default settings will be overridden for the
    # virtual host being defined.
    #

    #
    # ServerAdmin: Your address, where problems with the server should be
    # e-mailed.  This address appears on some server-generated pages, such
    # as error documents.  e.g. admin@your-domain.com
    #
    ServerAdmin admin@example.com

    #
    # ServerName gives the name and port that the server uses to identify itself.
    # This can often be determined automatically, but we recommend you specify
    # it explicitly to prevent problems during startup.
    #
    # If your host doesn't have a registered DNS name, enter its IP address here.
    #
    ServerName www.example.com:80

    #
    # Deny access to the entirety of your server's filesystem. You must
    # explicitly permit access to web content directories in other
    # <Directory> blocks below.
    #
    <Directory />
        AllowOverride All
        Require all denied
    </Directory>

    #
    # Note that from this point forward you must specifically allow
    # particular features to be enabled - so if something's not working as
    # you might expect, make sure that you have specifically enabled it
    # below.
    #

    #
    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
    #
    DocumentRoot "g:/www"
    <Directory "g:/www">
        #
        # Possible values for the Options directive are "None", "All",
        # or any combination of:
        #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
        #
        # Note that "MultiViews" must be named *explicitly* --- "Options All"
        # doesn't give it to you.
        #
        # The Options directive is both complicated and important.  Please see
        # http://httpd.apache.org/docs/2.4/mod/core.html#options
        # for more information.
        #
        Options Indexes FollowSymLinks

        #
        # AllowOverride controls what directives may be placed in .htaccess files.
        # It can be "All", "None", or any combination of the keywords:
        #   Options FileInfo AuthConfig Limit
        #
        AllowOverride All

        #
        # Controls who can get stuff from this server.
        #
        Require all granted
    </Directory>

    第一种一般是测试环境,毕竟加了端口,如何绑定域名,访问的时候域名后面也需加端口。

    例子分别通过80和8080访问不同的根目录。

    大概在50几行有个Listen 80,在下面添加8080端口。

     代码如下 复制代码

    Listen 80
    Listen 8080<VirtualHost *:80>
        ServerAdmin admin@myxzy.com
        ServerName localhost:80
        DocumentRoot "g:/www1"
         <Directory "g:/www1">
         Options  Indexes FollowSymLinks
         AllowOverride All
         Require all granted
       </Directory>  
    </VirtualHost>
    <VirtualHost *:8080>
        ServerAdmin admin@myxzy.com
        ServerName localhost:8080 
        DocumentRoot "g:/www2"
       <Directory "g:/www2">
         Options Indexes FollowSymLinks
         AllowOverride All
         Require all granted
       </Directory>      
    </VirtualHost>

    第二种多IP同端口。

    IP地址1:192.168.2.2

    IP地址2:192.168.1.68

    端口同是80端口。

     代码如下 复制代码

    <VirtualHost 192.168.1.68:80>
        ServerAdmin admin@myxzy.com
        ServerName localhost:80
        DocumentRoot "g:/www1"
         <Directory "g:/www1">
         Options FollowSymLinks
         AllowOverride All
         Require all granted
       </Directory>  
    </VirtualHost>
    <VirtualHost 192.168.2.2:80>
        ServerAdmin admin@myxzy.com
        ServerName localhost:80
        DocumentRoot "g:/www2"
       <Directory "g:/www2">
         Options FollowSymLinks
         AllowOverride All
         Require all granted
       </Directory>      
    </VirtualHost>

    第三种同IP不同域名和根目录(域名的话修改本地host演示)。

     代码如下 复制代码


    <VirtualHost 192.168.2.2:80>
        ServerAdmin admin@myxzy.com
        ServerName www.111cn.net
        DocumentRoot "g:/www1"
         <Directory "g:/www1">
         Options FollowSymLinks
         AllowOverride All
         Require all granted
       </Directory>  
    </VirtualHost>
    <VirtualHost 192.168.2.2:80>
        ServerAdmin admin@myxzy.com
        ServerName www.111cn.net
        DocumentRoot "g:/www2"
       <Directory "g:/www2">
         Options FollowSymLinks
         AllowOverride All
         Require all granted
       </Directory>      
    </VirtualHost>

    转载于:https://www.cnblogs.com/jasonxu19900827/p/9438180.html

    展开全文
  • 如果想在一台主机上实现多个站点的访问,通常来讲有三种途径: 1、改TCP端口 2、加IP 3、变主机头名 一、先来说说改端口法:以建立A,B两站点为例,打开IIS,把默认的站点改为A,设置好主目录后,在上面右键打开属性,...
  • 先说说今天我安装完宝塔之后先安装了nginx服务器,随后创建了很不同的站点。 但是由于我网站会时不时出现nginx 404错误,所以就干脆一不做二不休直接换成了Apache服务器 但是由于在切换完Apache服务器之后就...
  • 知识点:理解母版页的作用、掌握创建母版页和内容页的方法、掌握常用的导航控件用法、掌握用户控件的用法 本课将讲解 ASP.NET 中的...用户控件将多个 Web 服务器控件、标签和相关代码组合成一个整体,形成新的...
  • 前一段时间被同一个站点的不同Web项目通用Session的问题苦恼,搞得我很不爽,好多天都在想这问题,在朋友的帮助下,找到了解决方法,网上也看了一些相关文章。不过这些文章描述的并不够详细,我把这些相关知识整理...
  • 它拥有一操作方便图形用户界面,并且能够创建专业级的Web站点安全审核报告。 这是国外一款非常不错web检测工具,一般网络上有破解包,现在有8.0和10.0版本破解包了。10.0版本可以扫描漏洞比较,功能...
  • 一填空题 1.URL 格式 :// : /文件路径 2.网络服务器根据应用层次或规模档次可划分为 入门级服务器 ( ) 和企业级服务器 3....在一台计算机上建立多个 Web 站点的方法有利用多个 利用多个 和利用多个主机头
  • 一填空题 1.URL 格式 :// : /文件路径 2.网络服务器根据应用层次或规模档次可划分为 入门级服务器( ) 和企业级服务器 3....在一台计算机上建立多个 Web 站点的方法有利用多个 利用多个 和利用多个主机头名称
  • Word资料 一填空题? 1.URL格式 :// : /文件路径 2.网络服务器根据应用层次或规模档次可划分为入门级服务器?...在一台计算机上建立多个Web站点的方法有利用多个 利用多个 ?和利用多个主机头名称 8.WW
  • 今天在网上发现这样一个不错小软件,通过这个软件在Windows XP机器上调试多个Web程序就方便了。软件名称:IIS admin下载地址:http://www.firstserved.net/services/iisadmin.php使用方法:运行IIS admin, 会在右...
  • 您可以在此处查看使用PropertyWebBuilder创建的生产站点的示例: 无需技术即可创建自己的房地产网站 使用PropertyWebBuilder创建网站的最简单方法是使用Heroku,这是一值得信赖的服务提供商,可以免费使用它。 ...
  • CSS 创建 如何插入样式表 插入样式表的方法有三种: 外部样式表 内部样式表 内联样式 外部样式表 当样式需要应用于很页面时外部样式表将是理想的选择在使用外部样式表的情况下你可以通过改变一文件来改变整个站点...
  • web前端-CSS创建-003

    2016-09-30 11:42:31
    在使用外部样式表的情况下,你可以通过改变一文件来改变整个站点的外观。每页面使用 <link> 标签链接到样式表。 <link> 标签在(文档的)头部: <link rel="stylesheet" type="text/css" href="mys
  • 而IIS是基于windows系统互联网信息服务,可以使用IIS创建网站、FTP站点等服务。 本篇是《Windws Server 2008 R2 WEB环境配置之IIS+FastCGI+PHP+MYSQL+phpMyAdmin》第一篇,所以大家在看时候最好按顺序看,...
  • 等待过程中看看iis, 过一会应该就会有一个web application被创建出来,再等一会,等待管理中心上打开窗口自动关闭,这个时候试着访问一下扩展出来的站点,这个时候可能会报Page Not Found错误,这...
  • 砂浆由多个Brick (组件)组成,这些Brick一起工作以显示和编辑数据。 表格,模态窗口,按钮,表单输入及更多内容均包括在内。 观看,看看实际应用中Bricks! 目录 入门 砂浆很容易即插即用。 我们建议您使用我们...
  • 无论这 Web 站点的目的是销售产品还是提供信息,如果没有人浏览它,您的努力就白费了。让站点受到关注的方法是让它对搜索引擎和实际受众友好。 向搜索引擎 “推销” Web 站点本身已经成了一种业务,许多顾问、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 432
精华内容 172
关键字:

创建多个web站点的方法