分类: LINUX
2012-04-17 16:38:21
(Apache conol interface)
功能说明:可用来控制Apache HTTP服务器的程序。
语 法:apachectl [configtest][fultatus][graceful][help][restart][start][us][stop]
补充说明:
apachectl是Apache超文本传输协议服务器的前端程序。 其设计意图是帮助管理员控制Apache后台的功能。
apachectl脚本有两种操作模式。 首先,它可以作为简单的httpd的 前端程序, 设置所有必要的环境变量,而后启动httpd,并传送所有的命令行参数。 其次,apachectl可以作为SysV init脚本,接受一个单词的参数,如 start, restart, and stop, 并把他们转译为适当的信号发送给httpd.
如果你的Apache安装在非标准的路径中, 你需要修改apachectl脚本使其中的路径正确地指向httpd程序。 此外,还可以指定任何必要的httpd命令行中参数。 细节可以参见脚本中的注解。
apachectl脚本如果执行成功,则返回0;如果出错,则其返回值>0 。 更多细节可以参见脚本中的注解。
参 数:
下列仅说明了SysV init类型的选项,其他参数的说明见httpd手册页。
start
启动Apache httpd后台。如果已经启动,则产生一个错误。 它等价于apachectl -k start.
stop
停止Apache httpd后台。它等价于apachectl -k stop.
restart
重新启动Apache httpd后台。如果后台尚未运行,则启动后台。 在重新启动后台之前,此命令会按configtest自动检查配置文件, 以确保后台没有死锁。它等价于apachectl -k restart.
fullstatus
显示由mod_status提供的完整的状态报告。 要使用这个功能,需要启用服务器上的mod_status, 并且,系统中由一个基于文本的浏览器,如lynx。 修改脚本中的STATUSURL变量,可以修改访问状态报告的URL。
status
显示一个简要的状态报告。它类似于fullstatus选项, 但是,其中省略了正在处理的请求的列表。
graceful
温和地重新启动Apache httpd后台。 如果后台尚未启动,则启动后台。它和标准的重新启动的不同在于,不会中断当前已经打开的连接。
这意味着,如果使用了日志回卷脚本,则在处理日志之前由必要加入一个实实在在的延迟,
以确保老的日志文件被关闭。在重新启动后台之前,此命令会按configtest自动检查配置文件, 以确保后台没有死锁。它等价于apachectl
-k graceful.
configtest
执行一个配置文件语法检查. 它解析配置文件,并报告Syntax Ok, 或者是特定语法错误的详细信息。它等价于apachectl -t.
以下是附加的选项,但不推荐使用。
startssl
它等价于apachectl -k start -DSSL. 我们推荐你显式地使用此命令,或者调整httpd.conf,删除
扩展知识:apachectl startssl启动apache自动运行输入密码
安装了一台服务器,只开放了https,没有开放http
把启动命令/usr/local/bin/apachectl startssl写到/etc/rc.local里,重启服务器。
发现apache并没有自动运行。
手动运行
[root@localhost]# /usr/local/bin/apachectl restart
httpd not running, trying to start
Apache/2.2.0 mod_ssl/2.2.0 (Pass Phrase Dialog)
Some of your private key s are erypted for security reasons.
In order to read them you have to prove the pass phrases.
Server (RSA)
Enter pass phrase:
OK: Pass Phrase Dialog ccessful.
发现原来是要输入pass phrase的原因
解决方案有2种
1:去掉/usr/local/bin/apachectl startssl启动的pass phrase,用空pass phrase启动apache
(while preserving the original file):
$ server.key server.key.org
$ openssl rsa -in server.key.org -out server.key
确认server.key 文件为root可读
$ 400 server.key
2:编辑
vi /usr/local/apache2/conf/tra/httpd-ssl.conf
注释SSLPassPhraseDialog builtin
在后添加
SSLPassPhraseDialog exec:/usr/local/apache2/conf/apache_pass.sh
vi /usr/local/apache2/conf/apache_pass.sh
#!/bin/sh
echo "密码"
chmod +x /usr/local/apache2/conf/apache_pass.sh
然后重启apache
[root@localhost conf]# /home/apache2/bin/apachectl start
[root@localhost conf]#
然后从起服务器,就可以运行了