精华内容
下载资源
问答
  • 单纯复制文档中的 url 就可以么? <p><code>config</code> 文件夹放在和 <code>MarkdownPicPicker.exe</code> 同一目录下么? 另外我按照文档的说明配置好后,测试运行程序提示:There is no ...
  • 用于存储文件磁盘或分区,或文件系统种类。操作系统负责管理和存储文件信息软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:与文件管理有关软件、被管理文件以及实施文件管理所需数据结构...
  • 消息传递指的是程序之间通过在消息发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常用于诸如远程过程调用技术。排队指的是应用程序通过 队列来通信。队列使用除去了接收和发送应用程...

     1.RabbitMQ简介

    MQ全称为Message Queue, 消息队列MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。

    MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义,而MQ则是遵循了AMQP协议的具体实现和产品。

    2.RabbitMQ安装部署

    2.1.Erlang的安装

    Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlang。

    首先,您需要安装支持的 Windows 版Erlang,下载并运行Erlang for Windows 安装程序,注意下载的Erlang版本必须与电脑系统的版本号对应,例如32的系统需要下载32位版本,下载地址http://www.erlang.org/downloads。(本文档以64位版本为例)

     

    其次,安装Erlang到电脑上。

     

     

     

     

     

     

     2.2.RabbitMQ安装

     首先,下载RabbitMQ安装程序rabbitmq-server-3.7.5.exe(下载地址http://www.rabbitmq.com/install-windows.html)注意版本,当前最新版本为3.7.5。它将RabbitMQ安装为Windows服务并使用默认配置启动它。同样,一直NEXT就行。 

     

     

    其次,安装RabbitMQ程序,操作步骤如下,点击finish完成安装。

     

     

    3.自定义环境变量设置

    erl环境变量设置 

    操作步骤如下:选择电脑桌面“计算机”图标,点击右键,选择“属性”。

     

     

     

    另外,需要在Path中加入erl目录中的bin目录环境变量,操作如下。

     

     

    测试erl配置是否正确,开始-运行-cmd,输入erl,显示如下,证明配置正确。

     

    4.激活RabbitMQ_management

    4.1.命令行激活

    点击“开始”-》“运行”,输入cmd,切换路径到F:\RabbitMQ Server\rabbitmq_server-3.7.5\sbin,输入命令rabbitmq-plugins.bat enable rabbitmq_management,执行该命令。

     

    4.2.开始菜单激活

    首先,点击电脑左下角“开始”菜单,找到“RabbitMQ Server”文件夹,打开下图红框中的文件。

     

    其次,把RabbitMQ Server服务路径F:\RabbitMQ Server\rabbitmq_server-3.7.5\sbin(具体安装路径按照自行安装路径参考)下的“rabbitmq-plugins.bat”文件拖拽到上一步打开的窗口里,然后在后面输入enable rabbitmq_management,回车键执行即可激活。

    5..erlang.cookie文件保持一致

    把C:\Users\用户名\.erlang.cookie文件拷贝到C:\Windows\System32\config\systemprofile下,替换掉该目录下的.erlang.cookie。

    6.启用插件

    MQTT适配器包含在RabbitMQ发行版中。在客户端可以成功连接之前,必须使用rabbitmq-plugins启用它:

    rabbitmq-plugins enable rabbitmq_mqtt
    

    现在插件已启用,MQTT客户端将能够连接,前提是他们具有一组具有适当权限的现有用户的凭据。

    7.用户和身份验证

    要使MQTT连接成功,它必须成功进行身份验证,并且用户必须具有对插件使用的虚拟主机的适当权限(请参阅下文)。

    MQTT客户端可以(通常会)在连接时指定一组凭据。

    该插件支持匿名身份验证,但强烈建议不要使用它,并且默认情况下,它会受到某些限制(下面列出)的限制,以达到合理的安全级别。

    可以使用rabbitmqctl,管理UI或HTTP API 管理用户及其权限。

    例如,以下命令为MQTT连接创建新用户,并具有对此插件使用的默认虚拟主机完全访问权限:

    #username和密码都是“mqtt-test”
    rabbitmqctl add_user mqtt-test mqtt-test
    rabbitmqctl set_permissions -p / mqtt-test “.*”  “.*”  “.*”
    rabbitmqctl set_user_tags mqtt-test management
    

    请注意,冒号可能不会出现在用户名中。

    8.端口及配置文件配置

    系统自身有一套默认配置,可以直接使用。如果需要修改端口及配置,则需要修改配置文件,配置文件路径如下,

    一般在此路径下没有RabbitMQ.conf文件,需要自行加上,可以去官网下载对应的配置文件模板,https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example,大家可以直接把这个RabbitMQ.conf文件拷贝到上面的路径下,在此文件中修改对应的配置。

     

    主要修改两个地方的配置端口:

        rabbitmq访问端口:

       mqtt监听端口:

     

    9.启动RabbitMQ服务

    9.1.命令行启动服务

    直接在命令行界面键入如下命令:net start RabbitMQ,因为RabbitMQ默认启动的,当键入启动命令时,会出现如下情况,直接关闭RabbitMQ服务,在启动就行。关闭RabbitMQ服务命令如下,net stop RabbitMQ 。

    9.2.开始菜单或者服务中启动服务

    点击电脑左下方“开始”菜单,找到“RabbitMQ Server”文件夹,点开此文件夹可以看到运行指令reinstall/remove/start/stop ,从而进行服务停止启动等操作。

    或者在服务中启停服务。

     

    10. RabbitMQ系统登录使用

    测试地址 http://localhost:15672/ 
    默认的用户名:guest 
    默认的密码为:guest

     

     

     

     

     

     

    转载于:https://www.cnblogs.com/shikewen-001/p/9024625.html

    展开全文
  • windows系统,什么不是文件属性加密、运行、文档这些都不是文件属性;文件属性有只读、隐藏、系统、存档。(推荐学习:PHP视频教程)文件属性是指将文件分为不同类型文件,以便存放和传输,它定义了文件...

    在windows系统中,什么不是文件的属性

    b1c20a49ad4e1d6e3212b215be75b061.png

    加密、运行、文档这些都不是文件的属性;文件的属性有只读、隐藏、系统、存档。(推荐学习:PHP视频教程)

    文件属性是指将文件分为不同类型的文件,以便存放和传输,它定义了文件的某种独特性质。常见的文件属性有系统属性、隐藏属性、只读属性和归档(存档)属性。

    属性是一些描述性的信息,可用来帮助您查找和整理文件。属性未包含在文件的实际内容中,而是提供了有关文件的信息。 而是提供了有关文件的信息。 除了标记属性(这种属性为自定义属性,可包含所选的任何文本)之外,文件还包括了修改日期、作者和分级等许多其他属性。

    系统属性

    文件的系统属性是指系统文件,它将被隐藏起来。在一般情况下,系统文件不能被查看,也不能被删除,是操作系统对重要文件的一种保护属性,防止这些文件被意外损坏。

    隐藏属性

    在查看磁盘文件的名称时,系统一般不会显示具有隐藏属性的文件名。一般情况下,具有隐藏属性的文件不能被删除、复制和更名。

    只读属性

    对于具有只读属性的文件,可以查看它的名字,它能被应用,也能被复制,但不能被修改和删除。如果将可执行文件设置为只读文件,不会影响它的正常执行,但可以避免意外的删除和修改。

    归档(存档)属性

    一个文件被创建之后,系统会自动将其设置成归档属性,这个属性常用于文件的备份。

    更多PHP相关技术文章,请访问PHP图文教程栏目进行学习!

    展开全文
  •  在绝大多数的Windows应用程序,其窗体都使用正规正矩矩形窗体,例如我们常用,“记事本”,“扫雷”,等等。矩形窗体,具有编程实现简单,风格简洁优点,所以在普通文档应用程序和简单小游戏使用足矣...
  • 所谓均衡,是指系统每个节点负载是均匀,并且在发现有不均匀情况或者有节点增加/删除时,能及时进行调整,保持均匀状态。本文将探讨Elasticsearch数据分布方法,文中所述背景是Elasticsearch 5.5。  ...

    对于一个分布式存储系统来说,数据是分散存储在多个节点上的。如何让数据均衡的分布在不同节点上,来保证其高可用性?所谓均衡,是指系统中每个节点的负载是均匀的,并且在发现有不均匀的情况或者有节点增加/删除时,能及时进行调整,保持均匀状态。本文将探讨Elasticsearch的数据分布方法,文中所述的背景是Elasticsearch 5.5。
      在Elasticsearch中,以Shard为最小的数据分配/迁移单位。数据到节点的映射分离为两层:一层是数据到Shard的映射(Route),另一层是Shard到节点的映射(Allocate)。


      一方面,插入一条数据时,ES会根据指定的Key来计算应该落到哪个Shard上。默认Key是自动分配的id,可以自定义,比如在我们的业务中采用CompanyID作为Key。因为Primary Shard的个数是不允许改变的,所以同一个Key每次算出来的Shard是一样的,从而保证了准确定位。

    shard_num = hash(_routing) % num_primary_shards
    1
      另一方面,Master会为每个Shard分配相应的Data节点进行存储,并维护相关元信息。通过Route计算出来的Shard序号,在元信息中找到对应的存储节点,便可完成数据分布。Shard Allocate的映射关系并不是完全不变的,当检测到数据分布不均匀、有新节点加入或者有节点挂掉等情况时就会进行调整,称为Relocate。那么,Elasticsearch是根据什么规则来为Shard选取节点,从而保证数据均衡分布的?概括来看,主要有三方面的影响:节点位置、磁盘空间、单个节点上的Index和Shard个数。

    节点位置
       对于一个ES节点来说,它可能是某台物理机器上的一个VM,而这个物理机器位于某个Zone的某个机架(Rack)上。通过将Primary Shard和Replica Shard分散在不同的物理机器、Rack、Zone,可以尽可能的降低数据丢失和系统不可用的风险,这一点几乎在所有的分布式系统中都会考量。


       Elasticsearch是通过设置awareness.attribute对集群中的节点进行分组,从而实现Rack和Zone的发现。比如按照下列方式对elasticsearch.yml进行配置,再启动相应的节点,即可实现Zone的区分。

    // elasticsearch.yml
    cluster.routing.allocation.awareness.attributes: zone

    // 启动ES
    ./bin/elasticsearch -Enode.attr.zone=zone_one
    ./bin/elasticsearch -Enode.attr.zone=zone_two

      实践中,如果使用了这样的Awareness机制,应该保证不同分组类的机器个数一致,不会发生倾斜。比如,在Zone Awareness下,如果集群有10台机器,应该保证每个Zone各有5台机器(2个Zone)。

    磁盘空间
      磁盘空间是制约存储的硬性条件,单机的可用磁盘空间决定了能否继续往这个节点写入新数据、分配新Shard以及是否需要迁移数据等。在ES中,有三个参数用来控制与此相关的特性,默认每30秒检查一次。

    cluster.routing.allocation.disk.watermark.low: 默认为85%,超过这个阈值后,就不允许往这个节点分配Shard。
    cluster.routing.allocation.disk.watermark.high:默认为90%,超过这个阈值后,就需要将该节点的Shard迁移出去。
    cluster.routing.allocation.disk.watermark.flood_stage:默认为95%,超过这个阈值后,与该节点上的Shard有关的Index都变成只读,不允许写入数据。

    单个节点上的Index和Shard个数
      在满足节点位置和磁盘空间的条件后,单个节点上的Index和Shard个数是否均匀,决定了Shard可以分配/迁移到哪个节点。ES通过计算权值来量化这样的分配方式。
      以检测某个Shard是否需要迁移到其他节点为例,ES会先计算该Shard所在节点(A)的权值,然后依次跟其他节点的权值比较,如果与节点B的差值(Delta-A)超过了阈值,再进一步计算节点A去掉该Shard后的权值与节点B增加该Shard后的权值之间的差值(Delta-B),如果Delta-A大于Delta-B,则表明Shard可以迁移到节点B。
      这里的权值计算简化如下,其中indexBalance与shardBalance分别由参数控制,而阈值由cluster.routing.allocation.balance.threshold设置,默认为1.0f。当然,这里只描述了核心思想,详细逻辑请阅读BalancedShardsAllocator.java中的源码。通过调整三个参数,可以控制策略的松紧。

    // indexBalance = cluster.routing.allocation.balance.index, default is 0.55f
    // shardBalance = cluster.routing.allocation.balance.shard, default is 0.45f

    float sum = indexBalance www.dfgjpt.com/+ shardBalance;
    float theta0 www.dongfan178.com= shardBalance / sum;
    float theta1 = indexBalance / sum;

    private float weight(Balancer balancer, ModelNode node, String index, int numAdditionalShards) {
    final float weightShard www.dasheng178.com= node.numShards(www.yinmaoyule178.com) www.meiwanyule.cn+ numAdditionalShards - balancer.avgShardsPerNode();
    final float weightIndex www.fengshen157.com/= node.numShards(index) + numAdditionalShards - balancer.avgShardsPerNode(index);
    return theta0 * weightShard + theta1 * weightIndex;

    Primary与Replica分布
      最初关注Elasticsearch的数据分布,是因为在性能调优时遇到了一个与Primary/Replica分布有关的问题。背景是这样的,为了能够复用单个节点上的Disk Cache,我们对查询请求进行了限制,只允许其访问Primary Shard。然而总是有那么一两台机器的查询会被Queue住,通过调研发现,这些机器上面的Primary Shard比其他机器多(对某一个Index而言),即下图中左边所示,而我们希望的是右图所示的均匀分布。
      引起这个问题的根源是,Elasticsearch中的Shard均匀分布是针对Primary+Replica整体而言的,也就是说没法做到只针对Primary Shard单方面做均匀分布,所以才会出现下图左边所示,某个节点上有3个Primary Shard,而另一个节点只有1个。目前尚未发现可以调节的地方。

     

      本文探讨了Elasticsearch的数据分布方法,其思想对很多其他分布式存储系统是通用的,而了解相关原理是做很多调优工作的前提。

     

    转载于:https://www.cnblogs.com/qwangxiao/p/9907295.html

    展开全文
  • 文档的大多数内容假定你从一个二进制发布版安装Apache到Windows上。 如果你想自己编译Apache(可能有助于开发和跟踪bugs),参看编译WindowsApache 。 基于当前的Windows版本状况,本文档使用到...

    此文档阐述了如何在Microsoft Windows平台上安装、配置和运行Apache 2.2 。 如果你发现了bug,或者希望以其他方式作出贡献,请使用我们的bug报告页面

    本文档的大多数内容假定你是从一个二进制发布版安装Apache到Windows上。 如果你想自己编译Apache(可能有助于开发和跟踪bugs),参看编译Windows下的Apache

    基于当前的Windows版本状况,本文档使用到的缩写及其意义解释包括:

    • Windows NT: 指所有基于NT核心的Microsoft Windows操作系统的版本,包括Windows NT, Windows 2000, Windows XP, Windows.NET Server 2003及后续版本。
    • Windows 9x: 指所有定位于家庭使用的Microsoft Windows操作系统的版本,包括 Windows 95 , Windows 98, Windows ME 。
    top

    对操作系统的要求

    Apache 2.2被设计为在Windows NT上运行。它的二进制安装程序只能在x86处理器上运行,比如Intel和AMD的芯片。Apache可能也能够运行在Windows 9x上,但是并没有经过测试, 也不建议在实际工作的系统上这样使用。

    任何情况下都必须确保TCP/IP网络协议已经安装。如果在Windows 95上运行,必须安装"Winsock2"升级补丁。 "Winsock2" for Windows 95可以在这里 下载。

    如果在NT 4.0上运行,建议安装Service Pack 6 ,因为Service Pack 4有众所周知的TCP/IP和Winsock完整性的问题,在以后的Service Pack中解决了这些问题。

    top

    下载 Apache for Windows

    关于Apache最新版本的有关信息可以在http://httpd.apache.org/download.cgi 上找到。那里会列出当前发行版本、 所有最近的alpha和beta测试版本以及镜像web站点和匿名ftp服务器的信息。

    你应该下载带有.msi 扩展名的Apache for Windows版本。 这是一个单一的Microsoft Installer文件,包含了Apache ,可以立即安装并运行。 还有一个单独的.zip 文件只打包了源码, 可以用Microsoft Visual C++ (Visual Studio)工具来编译。

    top

    安装 Apache for Windows

    Apache的安装需要有Microsoft Installer 1.2或更高版本。 在Windows 9x中,你可以从这里 升级Microsoft Installer到2.0 ,在Windows NT 4.0和2000中,2.0的升级版在这里 。Windows XP/2003不需要这个升级。

    注意,使用这个安装包不能在同一个机器上安装两套Apache 2.2。 但是,在同一个机器上,安装一个1.3系列 一个2.2系列的Apache则没有问题。 如果你需要在同一个机器上安装两套不同的2.2版本, 则必须用代码编译和安装Apache

    运行已下载的上述Apache .msi 文件。安装程序会要求提供下列信息:

    1. Network Domain 你的服务器已经或者将要注册的DNS域名。比如你的服务器的全称DNS域名是server.mydomain.net ,你应当在这里输入:mydomain.net

    2. Server Name 你的服务器的全称DNS域名,如上情况你应当在这里输入:server.mydomain.net

    3. Administrator's Email Address 服务器管理员的email地址。这个地址将会在默认的出错页面上显示给客户端。

    4. For whom to install Apache 如果你希望Apache在80端口监听,并被安装为服务(即使无人登陆,Apache仍将运行),就选择"for All Users, on Port 80, as a Service - Recommended ";如果你希望将Apache安装为个人试验使用,或者已经有一个运行于80端口的WWW服务器,就选择"only for the Current User, on Port 8080, when started Manually "。

    5. The installation type 选择Typical 会安装除开发模块需要使用的源码和库以外的所有内容。选择Custom 可以自定义安装哪些项目。完整安装大约需要13MB磁盘空间,这其中并不包含 你的网站文件所用空间。

    6. Where to install 安装Apache的文件夹,默认为C:/Program Files/Apache Software Foundation 文件夹下的Apache2.2 子文件夹。

    安装期间,Apache将会配置你所选择的安装目录下的conf 文件夹中的文件。 但是如果那个目录下已有同名文件存在,原有文件将不会被覆盖, 而相应的新文件将会被加上.default 扩展名。 所以,举例来说,如果conf/httpd.conf 已经存在,那么不会对它做任何改变, 而新版本conf/httpd.conf 的内容将会被写入文件conf/httpd.conf.default 。 安装完成以后你应该检查.default 文件中的内容看看有没有不同, 如果必要,更新你原有的配置文件。

    而且,如果你已经有一个名为htdocs/index.html 的文件,它不会被覆盖掉 (也不会安装index.html.default 文件)。 这意味着你在一个旧版本Apache上安装新版本是安全的 (但是你必须在安装之前首先停掉原有服务器然后在安装完成后重新启动它)。

    安装Apache以后,你应该编辑conf 目录下的配置文件。这些文件已在安装期间被配置好以便Apache能够从安装目录运行,文档目录被配置为安装目录下的子目录htdocs 。在你开始真正使用之前还有很多选项需要设置。但是为了尽快开始,可以使用安装时自动配置的配置文件。

    top

    配置 Apache for Windows

    与Unix系统下的版本一样,Apache使用conf 目录下的文件进行配置,但是Windows版本有几个不同的指令,参见指令索引 察看全部可用指令。

    Apache for Windows主要的不同点是:

    • 因为Apache for Windows是多线程的,它并不像Unix版本那样为每个请求使用一个单独的进程。 而是通常运行两个Apache进程:一个父进程,和一个处理请求的子进程。在子进程内部由多个单独的线程来处理每个请求。

      因此与进程管理相关的指令是不同的:

      MaxRequestsPerChild 就像Unix版本中的指令一样,这条指令控制一个进程退出前将为多少个请求提供服务。 然而,与Unix不同的是,一个进程将为所有请求而不是只为一个请求服务,因此如果设置这条指令,建议将它设为一个很大的值。默认设置 MaxRequestsPerChild 0 使得进程从不退出。

      警告: 启动新的子进程时将会重新读入服务器配置文件。如果你修改了httpd.conf ,新的子进程将有可能不能启动或者可能得到预期之外的结果。

      ThreadsPerChild 是一条新的指令,用来告诉服务器应该使用多少个线程,指明了服务器可以立刻处理的最大连接数;如果你的站点有大量的点击,请确认你设置了足够大的值。推荐的默认设置是 ThreadsPerChild 50

    • 接收文件名作为参数的指令必须使用Windows文件名而不是Unix文件名。 但是,因为Apache内部使用Unix风格的名字,你必须使用正斜杠而不是反斜杠。可以使用盘符;如果省略盘符,将假定使用Apache可执行文件所在盘符。

    • Apache for Windows具有运行时装入模块的能力,不需要重新编译。如果Apach在正常情况下编译,它会在/Apache2.2/modules 目录下安装许多可选模块。 要激活它们或其他模块,必须使用新的LoadModule 指令。 举例来说,要激活状态模块,使用下列指令(除了access.conf 中的状态激活指令以外):

      LoadModule status_module modules/mod_status.so

      也可使用创建可加载模块 中的信息。

    • Apache也可以加载ISAPI(Internet Server Applications Programming Interface)扩展,例如被Microsoft IIS服务器和其他一些Windows服务器所使用的。这里有更多相关信息 。注意Apache不能 加载ISAPI 过滤器。

    • 当运行CGI脚本时,Apache查找脚本解释器是由ScriptInterpreterSource 指令配置的。

    • 由于在Windows下管理具有像.htaccess 这样名字的文件是很困难的,你会发现在配置文件中使用AccessFilename 指令改变它的文件名是很有用的。

    • 在Windows NT上,Apache启动时发生的错误将会记入Windows事件日志(event log)。这个机制将在Apache尚不能使用error.log 文件的时候运作。你可以通过"事件查看器"的MMC接口查看Windows事件日志。

      注意,在Windows 9x上不存在事件日志机制,因此无法记录启动错误。
    top

    以服务方式运行Apache for Windows

    Apache仅能够在Windows NT上作为服务运行。

    你可以选择在安装Apache时自动将其安装为一个服务。如果你选择"for all users",那么Apache将会被安装为服务。如果你选择了"only for the Current User",你可以在安装后手动将Apache注册为服务。注意,你必须是Administrators组的成员才能成功注册服务。

    使用Apache Service Monitor工具,可以查看和管理你所在网络上的所有机器上安装的Apache服务的状态。为了能够使用这个工具管理Apache服务,你必须首先自动或手动安装Apache服务。

    你可以在Apache安装目录的bin 子目录下,使用如下命令将Apache安装为Windows NT服务:

    httpd -k install

    如果你想指定服务的名称,可以使用下面的命令。当你在同一机器上安装多个Apache服务时,你必须为它们指定不同的名字。

    httpd -k install -n "服务名"

    如果你想为不同名称的服务使用不同的配置文件,则安装时需要指定配置文件:

    httpd -k install -n "服务名" -f "c:/files/my.conf"

    如果你使用的是第一个命令,也就是除 -k install 外没有其它命令行参数,那么被安装的服务名称将是:Apache2.2 ,配置文件将使用conf/httpd.conf

    要移除一个Apache服务很简单:

    httpd -k uninstall

    或者使用下述命令移除特定名称的Apache服务:

    httpd -k uninstall -n "服务名"

    通常,启动、重启、关闭Apache服务的方法是使用Apache Service Monitor工具,另外也可以使用控制台命令:NET START Apache2.2NET STOP Apache2.2 或者通过Windows服务控制面板。在启动Apache服务之前,你应当使用下面的命令检查一下配置文件的正确性:

    httpd -n "服务名" -t

    你可以通过命令行开关来控制Apache服务。要启动一个已经安装的Apache服务,可以使用:

    httpd -k start

    要停止一个已经安装的Apache服务,可以使用:

    httpd -k stop

    httpd -k shutdown

    要重启一个运行中的Apache服务,强制它重新读取配置文件,可以使用:

    httpd -k restart

    默认情况下,Apache服务将被注册为以本地系统用户(LocalSystem 帐号)身份运行。LocalSystem 帐号没有网络权限,不能通过任何Windows安全机制访问网络,包括文件系统、命名管道、DCOM或secure RPC ,但是它对于本地资源却拥有广泛的特权。

    永远不要把网络权限授予LocalSystem 帐号!如果你需要Apache能够访问网络资源,最好按照下述方法为Apache另外建立一个单独的帐号。

    你应该建立一个单独的帐号来运行Apache服务。特别是在必须通过Apache访问网络资源的时候,我们更加强烈建议你这样做。

    1. 创建一个普通域用户帐号,并牢记对应的密码。
    2. 授予这个新建的帐号作为服务登陆作为操作系统一部分运行 权限。在Windows 2000/XP/2003上你可以使用"组策略"或通过"本地安全策略"的MMC接口来完成这个操作。
    3. 确认新建的帐号是Users组的一个成员。
    4. 确认新建的帐号具有读取和执行(RX)所有文档和脚本目录(例如:htdocscgi-bin )的权限。
    5. 确认新建的帐号对Apache的logs 目录具有读/写/删除(RWD)的权限。
    6. 确认新建的帐号对httpd.exe 二进制文件具有读取和执行(RX)的权限。
    一个很好的实践经验是赋予运行Apache服务的用户读取和执行(RX)整个Apache2.2目录的权限,并且对logs 子目录具有读/写/删除(RWD)的权限。

    如果你允许使用这个帐号作为一个用户和服务登录,你就可以用这个帐号登录上去测试执行脚本、读取web页的权限,还可以通过控制台窗口启动Apache 。如果这样工作正常,你又执行了上述的操作,那么Apache就能够正常地作为服务运行了。

    错误代码2186 是一个很好的提示,说明你需要检查"登陆为"选项,因为服务器不能访问必要的网络资源。

    当启动Apache服务时你可能会遇到一个来自Windows服务管理器的错误信息。 例如,如果你想使用控制面板中的服务小程序启动Apache,可能会得到下面这条信息:

    Could not start the Apache2.2 service on //COMPUTER
    Error 1067; The process terminated unexpectedly.

    只要启动Apache出错你就会得到这个错误信息。为了弄清是什么引起了错误, 你应该遵循作为控制台程序运行Apache 中的建议。

    对于让Apache在Windows 9x下以类似Windows NT服务的方式运行有一些支持。都是高度试验性 的,即使能够工作,Apache软件基金会将不会证实其可靠性和未来的支持。继续进行你自己的冒险吧!

    这两种"服务"有相当大的区别:

    如果你输入下列命令,Apache会尝试启动,如果成功他将在后台运行:

    httpd -n "服务名" -k start

    例如,通过桌面的快捷方式运行,如果服务启动成功一个控制台窗口会快速闪过并立刻消失。如果启动时Apache检测到比如httpd.conf 文件中有不正确的设置这样的问题,则控制台窗口会保持可见。这样将显示一个有助于追踪错误原因的错误信息。

    Windows 9x不支持NET START 或者NET STOP 命令,因此你在命令中必须使用Apache的服务控制选项。你可能希望为每个命令设置一个快捷方式以便你能够只需要从开始菜单或者桌面一点就能执行所需的操作。

    Apache和Windows 9x没有提供让Apache服务以特定的具有网络权限的用户身份运行的支持。实际上,Windows 9x在本地机器上根本没有提供安全性。这就是Apache软件基金会从不支持使用Windows 9x作为公用httpd服务器的原因。这个便利存在的唯一目的是协助用户开发web内容和学习Apache服务器,或者也许在一个安全的、私有的网络上充 当intranet服务器。

    top

    作为控制台程序运行Apache

    虽然通常推荐将Apache作为服务来运行,但是在某些情况下从命令行运行反而更加容易。在Windows 9x上,从命令行运行Apache是推荐的方法,因为这些系统中缺乏可靠的服务支持。

    可以使用下列命令将Apache作为控制台程序从命令行运行:

    httpd

    Apache将会一直保持运行,直到被Ctl+C组合键中断。

    你还可以在安装后通过 开始按钮 --> 程序 --> Apache HTTP Server 2.2.xx --> Control Apache Server 在控制台中运行Apache 。这将会打开一个控制台窗口并在其中启动Apache 。如果你没有将Apache安装为服务,该窗口将一直保持打开,直到被Ctl+C组合键中断,并在几秒钟后退出。如果你已经将Apache安装为服务,那 么那个快捷方式将会启动服务,如果Apache服务已经启动了,则什么也不做。

    你可以在另外一个控制台窗口中输入以下命令停止正在运行的Apache服务:

    httpd -k shutdown

    这种方法比使用Ctl+C组合键更好,因为它可以让Apache完成所有当前的操作并且优雅的清理所占用的资源。

    Apache可以被重新启动,这将导致它重新读取配置文件,重启前所有正在进行的操作都将不被打断的完成。可以使用下面的命令重启Apache :

    httpd -k restart

    请熟悉Unix版本Apache的用户注意,这些命令对应于Unix命令 kill -TERM pid kill -USR1 pid 。命令中之所以使用 -k 选项,就是为了提醒用户这是源自Unix下的kill 命令。

    如果Apache控制台窗口在启动后出乎意料的立即关闭,请打开一个新的控制台窗口,切换到Apache的安装目录下bin子目录中,运行httpd 命令并读取错误信息。然后再到日志目录中查看error.log 文件以寻找可能的配置错误。如果你的Apache采用的是默认安装,这些命令应当是:

    c:
    cd "/Program Files/Apache Software Foundation/Apache2.2/bin"
    httpd

    等候Apache停止,或者使用Ctl+C组合键,然后输入下列内容:

    cd ../logs
    more < error.log

    可以在命令行中为Apache指定一个配置文件,有两种方法可以在命令行中指定配置文件:

    • -f 可以指定一个绝对路径或相对路径的配置文件:

      httpd -f "c:/my server files/anotherconfig.conf"

      httpd -f files/anotherconfig.conf

    • -n 可以指定已安装的Apache服务所使用的配置文件:

      httpd -n "服务名"

    在这两种情况下,必须在配置文件中设置正确的ServerRoot 值。

    如果你没有使用 -f-n 指定配置文件的路径,Apache将会使用硬编码在服务器内的路径,比如:conf/httpd.conf 。这个内置的路径是相对于安装目录的,要想检查这个内置的路径,你可以通过 -V 开关调用Apache ,查看名为SERVER_CONFIG_FILE 的变量值:

    httpd -V

    Apache将会按照下列顺序检查ServerRoot 值:

    1. 通过 -C 命令行开关指定的ServerRoot 值。
    2. 通过 -d 命令行开关指定的值。
    3. 当前工作目录。
    4. 安装二进制文件时在注册表中登记的项目。
    5. 编译进二进制文件的值,该值默认为:/apache ,你可以使用 httpd -V 命令查看显示出来的HTTPD_ROOT 变量的值。

    在安装过程中,将会在注册表中新建一个版本特定的注册表键。这个键的位置取决于安装类型。如果你选择的是"for all users",那么将位于HKEY_LOCAL_MACHINE 分支下,如下所示:

    HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Apache/2.2.4

    如果你选择的是"for the current user only",那么将位于HKEY_CURRENT_USER 分支下,其中的内容取决于当前登陆的用户,如下所示:

    HKEY_CURRENT_USER/SOFTWARE/Apache Software Foundation/Apache/2.2.4

    这个键已经被编译进了服务器,使得你可以测试新版本而又不影响老版本。当然,你必须注意不要在同一个目录中安装两个不同的版本。

    如果你没有使用二进制安装,在某些情况下Apache将会抱怨注册表键丢失。如果在这种情况下服务器仍然可以找到正确的配置文件,那么就可以安全的忽略它。

    这个注册表键其实就是包含conf 子目录的ServerRoot 目录。Apache将要从中读取httpd.conf 文件。如果该配置文件中又包含了一个ServerRoot 指令,并且指向的目录与注册表中登记的不同,Apache将以配置文件中的指令为准。如果你复制了配置文件或者整个Apache目录到一个新的位置,你要千万记得修改httpd.conf 中的ServerRoot 指令,使其指向正确的位置。

    top

    安装的测试

    启动Apache运行以后(不管是控制台窗口还是作为服务), 它会在80端口上进行监听(除非你改变了配置文件中的Listen 指令。 要连接到服务器访问默认页面,启动一个浏览器并输入下列URL :

    http://localhost/

    应该出现一个欢迎页面,并且页面上有到Apache用户手册的链接。 如果什么都没有发生或是得到了一个错误,检查logs 子文件夹中的 error.log 文件。如果你的主机没有联网或者DNS配置有严重问题,你也许需要输入这样的URL :

    http://127.0.0.1/

    如果你将Apache配置为在非80端口监听(比如:8080),你应当使用下面的URL明确指定端口:

    http://127.0.0.1:8080/

    一旦你的基本配置可以工作了,你应该编辑conf 目录下的文件来恰当地配置Apache 。 此外,如果你改变了作为NT服务运行的Apache的配置,你应该首先尝试从命令行启动来保证能够正确地启动Apache服务。

    因为Apache不能 与其他TCP/IP应用程序共享同一端口,你可能需要先停止或者卸载或者重新配置 某些特定的服务。这包括(但不限于)别的web服务器和BlackIce那样的防火墙。如果你只能在禁止其他服务的情况下启动Apache ,那么需要重新配置Apache或者其他程序使它们不监听同一个TCP/IP端口。

    展开全文
  • 一、js数据格式(后台给前台返回数据) xml:树形结构文档(配置文件)。 json:Java给前端返回数据类型大多json类型。 json数据类型为数组型+对象型。 枚举对象使用(对象.属性) 单个json:数组型...
  • 本文目的为了解决在使用CloudStack(CloudPlatform)时,基于KVM虚拟化平台,Windows虚拟机性能低下问题。 此性能,主要磁盘IO和网卡性能。 相关文档 由于CS文档中,只强调了PV这个概念,...
  • 官网设置 Click Tools > Fiddler Options >... Click the Decrypt HTTPS Traffic box.按照上述要求,我设置这样: ...点击图红色箭头所指的选项,会提示官网文档的弹窗: 然鹅并没有,我得到...
  • 基于 Windows 软件逆向破解入门篇

    千次阅读 2018-11-26 13:59:52
    是指从可运行程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品源代码、设计原理、结构、算法、处理过程、运行方法及...
  • Windows开发基础知识

    2020-08-11 15:30:14
    Windows 开发指的是Windows API(WinAPI)进行在Windows平台上开发 参考资料 来自微软官网关于Windows开发文档 微软针对Windows进行开发开发相关信息 Windows 开发代码规范约定 在Windows开发经常会遇到一些...
  • 来自:LinuxSir.Org 简介:本文只是讲一讲我们最常用Linux与Windows共享文件,主要为新手指一指路。如何建立最简单Samba服务器,并讲述遇到问题应该从何处寻找解决方案;正在更新之,希望您...
  • Standalone,我一眼看下去理解就是PC机平台,官方文档中说该平台指的是Mac、Windows和Linux。   这篇文章主要讲的是Standalone平台下设置,通过点击菜单栏File -> Build Settings -> [切换到Standalone] ...
  • 本游戏采用的是基于J2SE标准平台java编程技术,在Windows 7操作系统使用Eclipse软件进行代码编译,通过方法Graphics()来进行游戏地图界面绘制,使用了接口技术使一个类能够实现多个接口,使用套接字Socket来...
  • ComponentOne Doc-To-Help 6.5重新设计了“万项归一”界面,间移动之间便可拥有使用众多功能,而无须到大量对话框一一索取。 完全的Windows XP 和Office XP支持 快速地构建 无需重新购建整个项目,只需...
  • 多选 多选答案 C....图形界面 Windows 98 / 95基本元素包括 务栏中间部分显示是 当任务栏被隐藏时用户可以按 来启动开始菜单答案 在 Windows中桌面是指CD#切单选答案 电脑台 B.活动窗口 C. 任务栏
  • MongoDB是文档数据库,存储的是文档(集合)为单位,使用BSON(类JSON)作为其数据结构模型,其结构面向对象{key:value}而不是二维表,这样数据模型,使得MongoDB能在生产环境提供高读写能力,吞吐量较于...
  • 快速阅读:滚动的补遗 近来计算机的显示器已经变得大多了,但同时它们显示的网页与文件也愈来愈大。...(拇指状物在滚动栏中的位置反映了你在整个窗口或文档中的相应位置。)你可以按住滚动栏上的鼠标按钮把拇指...
  • 僵尸网络文档介绍

    2020-05-19 09:59:38
    僵尸网络 Botnet 是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成一个可一对多控制网络攻击者通过各种途径传播僵尸程序感染互联网上大量主机,而被...
  • 全文搜索是对非结构化数据一种搜索方式,所谓非结构化数据是指相对于结构化数据(如数据库)来说长度不固定或无固定格式数据,例如文档、邮件等。 对非结构化数据搜索最常见方式是顺序扫描法,即对整个文档...
  • windows域控服务器部署

    2018-08-16 21:42:09
    域控制器的作用就是组成活动目录Active Directory,承担域中的各种管理角色及管理任务,向域中的所有用户提供资源共享服务,并以域为安全边界维持活动目录的安全。这种集中管理的模式,极大降低了管理成本,减少网络...
  • API函数是指Windows提供给应用程序编程接口。  SDK(软件开发包):包括了API函数,帮助文档,辅助开发工具。  在Windows应用程序,窗口是通过窗口句柄(HWND)来标识。若要对某个窗口进行操作,首先要得到这...
  • windows操作系统知识点

    千次阅读 2020-08-08 18:26:32
    2)计算机软件是指程序和与程序相关的文档的集合 3)按功能可把软件分为“系统软件”和“应用软件”两部分 系统软件:操作系统语言处理程序,数据库管理系统 应用软件:各种管理软件,用于工程计算的软件包,辅助...
  • 所谓schema free指没有太多约束,我们知道在关系型数据库有很多约束和范式,在MongoDB就没有,所以这里schema free是指这个;mongodb支持海量数据,支持osx,linux,windows,solaris32位和64位系统,基
  • 软件工程需求文档

    2015-11-01 00:05:13
    3.4. 输入输出要求 ..................................................................................................... 13 3.5. 数据管理能力要求 .......................................................
  • 共享打印是指打印机通过数据线连接某一台电脑(主机)设置共享后,局域网中的其他电脑(客户机)就可以使用此打印机。 共享打印和共享文件相同,是Windows系统提供的一项服务,配置共享打印需要两台电脑能够相互...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 357
精华内容 142
关键字:

windows中的文档是指