Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29150
  • 博文数量: 9
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 92
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-15 11:07
文章分类

全部博文(9)

文章存档

2014年(1)

2013年(8)

我的朋友

分类: 系统运维

2013-11-15 15:08:32

1.1 Httpd命令

当我们安装好apache服务器后通常会在Serverroot/bin/目录形成一些相关的执行命令,其中httpd文件是apache服务器的主程序。其被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池Apache服务器的所有相关操作都可以通过httpd命令进行完成,但是通常情况下我们并不建议这么做,而是通过同一目录下的apachectl命令通过调用httpd命令的方式来完成对服务器的开启,关闭等相关的操作的。 

我们可以通过httpd -h命令查看httpd相关的语法,如下图所示:

点击(此处)折叠或打开

  1. [root@localhost bin]# httpd -h
  2. Usage: httpd [-D name] [-d directory] [-f file]
  3.              [-C "directive"] [-c "directive"]
  4.              [-k start|restart|graceful|graceful-stop|stop]
  5.              [-v] [-V] [-h] [-l] [-L] [-t] [-S]
  6. Options:
  7.   -D name : define a name for use in <IfDefine name> directives
  8.   -d directory : specify an alternate initial ServerRoot
  9.   -f file : specify an alternate ServerConfigFile
  10.   -C "directive" : process directive before reading config files
  11.   -c "directive" : process directive after reading config files
  12.   -e level : show startup errors of level (see LogLevel)
  13.   -E file : log startup errors to file
  14.   -v : show version number
  15.   -V : show compile settings
  16.   -h : list available command line options (this page)
  17.   -l : list compiled in modules
  18.   -L : list available configuration directives
  19.   -t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings)
  20.   -S : a synonym for -t -D DUMP_VHOSTS
  21.   -t -D DUMP_MODULES : show all loaded modules
  22.   -M : a synonym for -t -D DUMP_MODULES
  23.   -t : run syntax check for config files
  24. 1.1 httpd语法选项

    -D parameter

    设置参数parameter ,它配合配置文件中的段,用于在服务器启动和重新启动时,有条件地跳过或处理某些命令。

    -d serverroot

    -f config

    在启动中使用config作为配置文件。如果config不以"/"开头,则它是相对于的路径。其默认值是conf/httpd.conf 

    -C directive

    在读取配置文件之前,先处理directive的配置指令。

    -c directive

    在读取配置文件之后,再处理directive的配置指令。

    -e level

    在服务器启动时,设置level 。它用于在启动时,临时增加出错信息的详细程度,以帮助排错。

    -E file

    将服务器启动过程中的出错信息发送到文件file 

    -v

    显示httpd的版本,然后退出。

    -V

    显示httpd的版本和编译参数,然后退出。

    -h

    输出一个可用的命令行选项的简要说明。

    -l

    输出一个静态编译在服务器中的模块的列表。它不会列出使用指令动态加载的模块。

    -L

    输出一个指令的列表,并包含了各指令的有效参数和使用区域。

    -t

    仅对配置文件执行语法检查。程序在语法解析检查结束后立即退出,或者返回"0"(OK),或者返回非0的值(Error)。如果还指定了"-D DUMP_VHOSTS",则会显示虚拟主机配置的详细信息。

    -S

    显示从配置文件中读取并解析的设置结果(目前仅显示虚拟主机的设置)

    -M

    输出一个已经启用的模块列表,包括静态编译在服务器中的模块和作为DSO动态加载的模块。

    1.2 通过Httpd命令对apache服务器进行启动等操作。

    我们可以通过httpd  -k  start|restart|graceful|graceful-stop|stop命令对apache服务器进行关闭,开启,重启等操作。

    l Start:用于启动apache服务器,首先检查apache的配置文件是否有误,如果没误这启动apache服务器,如果有误则输出错误信心。

    l Stop:用语停止apache服务器,如果已经停止了apache服务器则会报错。

    l Restart:重新启动apache服务器,如果apache没有启动则启动他。

    l Gracefulstart参数一样,区别在于它不会中断正在处理的连接,也不会关闭日志。推荐使用。

    l Granceful-stop:和stop参数一样,区别在于它不会中断正在处理的连接,也不会关闭日志。推荐使用。

    其实则只是一种方式对apache进行操作,其实还有其他多种方式对apache进行类似的操作,相关内容请参考其他相关文档。

    1.3 Apachectl命令

     其实apachectl文件就是一个脚本文件通过调用httpd命令文件进行apache的相关操作。如果学习过shell的话就很容易看懂apachectl文件里的内容了,如下图所示:


点击(此处)折叠或打开

  1. #!/bin/sh
  2. ARGV="$@"
  3. HTTPD='/usr/local/apache2/bin/httpd'
  4. if test -f /usr/local/apache2/bin/envvars; then
  5.   . /usr/local/apache2/bin/envvars
  6. fi
  7. LYNX="lynx -dump"
  8. STATUSURL=""
  9. ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"

  10. if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then
  11.     $ULIMIT_MAX_FILES
  12. fi

  13. ERROR=0
  14. if [ "x$ARGV" = "x" ] ; then
  15.     ARGV="-h"
  16. fi

  17. case $ARGV in
  18. start|stop|restart|graceful|graceful-stop)
  19.     $HTTPD -k $ARGV
  20.     ERROR=$?
  21.     ;;
  22. startssl|sslstart|start-SSL)
  23.     echo The startssl option is no longer supported.
  24.     echo Please edit httpd.conf to include the SSL configuration settings
  25.     echo and then use "apachectl start".
  26.     ERROR=2
  27.     ;;
  28. configtest)
  29.     $HTTPD -t
  30.     ERROR=$?
  31.     ;;
  32. status)
  33.     $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } '
  34.     ;;
  35. fullstatus)
  36.     $LYNX $STATUSURL
  37.     ;;
  38. *)
  39.     $HTTPD $ARGV
  40.     ERROR=$?
  41. esac

  42. exit $ERROR

l Start启动Apache 后台守护进程。如果已经启动,则产生一个错误。它等价于 apachectl -k start 

l Stop停止Apache 后台守护进程。它等价于 apachectl -k stop 

l Restart重新启动Apache 后台守护进程。如果守护进程尚未运行,则启动它。在重新启动守护进程之前,此命令会使用configtest自动检查配置文件,以确保Apache不会死掉。它等价于 apachectl -k restart 

l Fullstatus显示由提供的完整的状态报告。要使用这个功能,需要启用服务器上的模块,并且系统中有一个基于文本的浏览器,如lynx 。修改脚本中的STATUSURL变量,可以修改访问状态报告的URL 

l Status显示一个简要的状态报告。它类似于fullstatus选项,但是省略了正在处理的请求的列表。

l Graceful优雅地重新启动Apache 后台守护进程。如果守护进程尚未启动,则启动它。它和标准重新启动的不同之处在于:不会中断当前已经打开的连接,也不会立即关闭日志。这意味着,如果在日志滚动脚本使用它,则在处理日志之前必须加入一个实实在在的延迟,以确保老的日志文件在被处理前已经关闭。在重新启动守护进程之前,此命令会使用configtest自动检查配置文件,以确保Apache不会死掉。它等价于 apachectl -k graceful 

l graceful-stop优雅地停止Apache 后台守护进程。它和标准停止的不同之处在于:不会中断当前已经打开的连接,也不会立即关闭日志。它等价于 apachectl -k graceful-stop 

l Configtest执行一次配置文件语法检查。它解析配置文件,并报告 Syntax Ok 或者是特定的语法错误详细信息。它等价于 apachectl -t 

 下列选项仅在早期版本中使用,现在已经被废弃了。

l Startssl以支持SSL的方式启动 ,你应当编辑配置文件,并在其中包含与SSL支持相关的指令,然后使用 apachectl start 启动服务器

这里大家会发现和httpd命令的用法是一样的,同样apachectl命令也可以使用上节所讲的相关参数选项。



阅读(4963) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Apache配置文件

给主人留下些什么吧!~~