Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1890222
  • 博文数量: 496
  • 博客积分: 12043
  • 博客等级: 上将
  • 技术积分: 4778
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-27 14:26
文章分类

全部博文(496)

文章存档

2014年(8)

2013年(4)

2012年(181)

2011年(303)

2010年(3)

分类: 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,删除段,使SSL始终有效。

扩展知识: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]#

然后从起服务器,就可以运行了

 

阅读(991) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~