zoukankan      html  css  js  c++  java
  • Apache 2 : starting apache

    Apache HTTP server 如何启动?

    如果Listen directive 在conf文件中指定为默认的80端口(或者小于1024的其他端口),则需要root权限来启动HTTPD进程。当HTTP Server启动之后,并且完成了一些初始化的动作,如打开Apache的日志文件, Apache HTTPD进程会启动一定数量的child processes, 这些child process用来监听端口,或者响应请求。但是这些child process会以稍低的优先级来启动(非root用户权限)。而这些行为是由Multi-Processing Module来配置的。

    运行httpd可执行程序的推荐使用apachectl(apache2ctl)控制脚本。这个脚本会设置httpd启动时在不同的OS下正常运行所需要的环境变量。你也可以编辑apachectl脚本,通过修改HTTPD变量来指定httpd可执行程序正确的位置,并且指定httpd启动时你希望指定的命令行参数。

    httpd可执行程序运行时的第一件事是定位其配置文件httpd.conf。配置文件也可以在compile阶段指定,查看编译阶段所使用的参数可以通过:

    bl25p-6:/etc/apache2# apache2ctl -V
    Server version: Apache/2.2.9 (Debian)
    Server built:   Apr 20 2010 15:42:00
    Server's Module Magic Number: 20051115:15
    Server loaded:  APR 1.2.12, APR-Util 1.2.12
    Compiled using: APR 1.2.12, APR-Util 1.2.12
    Architecture:   64-bit
    Server MPM:     Worker
      threaded:     yes (fixed thread count)
        forked:     yes (variable process count)
    Server compiled with....
    -D APACHE_MPM_DIR="server/mpm/worker"
    -D APR_HAS_SENDFILE
    -D APR_HAS_MMAP
    -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
    -D APR_USE_SYSVSEM_SERIALIZE
    -D APR_USE_PTHREAD_SERIALIZE
    -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
    -D APR_HAS_OTHER_CHILD
    -D AP_HAVE_RELIABLE_PIPED_LOGS
    -D DYNAMIC_MODULE_LIMIT=128
    -D HTTPD_ROOT=""
    -D SUEXEC_BIN="/usr/lib/apache2/suexec"
    -D DEFAULT_PIDLOG="/var/run/apache2.pid"
    -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
    -D DEFAULT_ERRORLOG="logs/error_log"
    -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
    -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"

    或者在运行apache2ctl的时候指定, apache2ctl –f /usr/local/apache2/conf/httpd.conf。

    如果启动阶段一切正常, server进程会从terminal分离, 命令行会提示你输入其它的命令。这时候,就意味着apache httpd server已经正常启动了。然后就可以使用你最常用的浏览器,来访问apache server的测试页面,其位置默认由DocumentRoot指定。

    在OS启动阶段启动Apache Http Server

    如果你希望在启动操作系统的时候自动启动Apache Http Server, 你需要在系统的startup 文件当中增加对apache2ctl的调用(通常情况下系统的startup文件为rc.local或者在rc.N下的某个文件)。但是之前请确保你的 Apache HTTP server 已经被正确配置了。

    此为,apache2ctl按照System V init的脚本接口规范设计,所以它可以接受start,stop,restart等参数,并且将他们转化成适当的信号发送给httpd deamon process。所以,通常你也可以简单的在系统的init.d目录下建立指向apacha2ctl的符合链接。

  • 相关阅读:
    冒泡排序
    数据结构和算法关系
    js获取ifram对象
    java STL
    bufferedReader 乱码问题
    css animation让图标不断旋转
    apply通过实例理解
    jquery.ajaxfileupload.js
    JDBC getMetaData将结果集组装到List
    Android开发之使用BaseAdapter的notifyDataSetChanged()无法更新列表
  • 原文地址:https://www.cnblogs.com/yuboyue/p/2109869.html
Copyright © 2011-2022 走看看