Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux命令 > 网络通讯 > » 正文

linux apachectl命令参数及用法详解--Apache HTTP服务器控制接口

来源: 未知 分享至:

apachectl(Apache control interface)


功能说明:可用来控制Apache HTTP服务器的程序。

语  法:apachectl [configtest][fullstatus][graceful][help][restart][start][status][stop]

补充说明:

apachectl是Apache超文本传输协议服务器的前端程序。 其设计意图是帮助管理员控制Apachehttpd后台的功能。

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,删除<IfDefine>段,使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 files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.

Server www.linuxso.com:443 (RSA)
Enter pass phrase:

OK: Pass Phrase Dialog successful.
发现原来是要输入pass phrase的原因

解决方案有2种
1:去掉/usr/local/bin/apachectl startssl启动的pass phrase,用空pass phrase启动apache
(while preserving the original file):
$ cp server.key server.key.org
$ openssl rsa -in server.key.org -out server.key

确认server.key 文件为root可读
$ chmod 400 server.key

2:编辑
vi /usr/local/apache2/conf/extra/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]#

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

 


最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史