【Apache】apachectl和httpd

个人笔记。

apachectl命令和httpd之间的区别。

用apachectl启动

apachectl – Apache HTTP服务器控制接口

启动选项可以使用 start 或 -k start 两种。

$ sudo apachectl start

我将检查进程。

我不太了解如何查看ps aux的信息……

$ ps aux|grep httpd
yuki             31467   0.0  0.0  4267932    608 s001  R+    3:17PM   0:00.00 grep httpd
_www             31464   0.0  0.0  4315324    980   ??  S     3:17PM   0:00.00 /usr/local/opt/httpd/bin/httpd -k start
_www             31463   0.0  0.0  4315324   1008   ??  S     3:17PM   0:00.00 /usr/local/opt/httpd/bin/httpd -k start
_www             31462   0.0  0.0  4315324    948   ??  S     3:17PM   0:00.00 /usr/local/opt/httpd/bin/httpd -k start
_www             31461   0.0  0.0  4315324    924   ??  S     3:17PM   0:00.00 /usr/local/opt/httpd/bin/httpd -k start
_www             31460   0.0  0.0  4315324    968   ??  S     3:17PM   0:00.00 /usr/local/opt/httpd/bin/httpd -k start
root             31459   0.0  0.1  4315304   6544   ??  Ss    3:17PM   0:00.07 /usr/local/opt/httpd/bin/httpd -k start

使用这个命令也可以得到相同的结果。

$ which apachectl
/usr/local/bin/apachectl
$ sudo /usr/local/bin/apachectl start

在`ps aux`命令的输出中也显示了。

$ sudo /usr/local/opt/httpd/bin/httpd -k start

用httpd启动

httpd – Apache HTTP 服务器

$ sudo httpd -k start
$ ps aux|grep httpd
yuki             33071   0.0  0.0  4268040    788 s001  S+    4:46PM   0:00.00 grep httpd
_www             33068   0.0  0.0  4315324    996   ??  S     4:46PM   0:00.00 httpd -k start
_www             33067   0.0  0.0  4315324    968   ??  S     4:46PM   0:00.00 httpd -k start
_www             33066   0.0  0.0  4315324    948   ??  S     4:46PM   0:00.00 httpd -k start
_www             33065   0.0  0.0  4315324   1004   ??  S     4:46PM   0:00.00 httpd -k start
_www             33064   0.0  0.0  4315324   1012   ??  S     4:46PM   0:00.00 httpd -k start
root             33063   0.0  0.1  4315348   6584   ??  Ss    4:46PM   0:00.07 httpd -k start
$ which httpd
/usr/local/bin/httpd
$ sudo /usr/local/bin/httpd -k start
$ ps aux|grep httpd
yuki             33113   0.0  0.0  4268040    780 s001  S+    4:47PM   0:00.00 grep httpd
_www             33110   0.0  0.0  4306108   1004   ??  S     4:47PM   0:00.00 /usr/local/bin/httpd -k start
_www             33109   0.0  0.0  4306108    964   ??  S     4:47PM   0:00.00 /usr/local/bin/httpd -k start
_www             33108   0.0  0.0  4306108   1004   ??  S     4:47PM   0:00.00 /usr/local/bin/httpd -k start
_www             33107   0.0  0.0  4314300   1020   ??  S     4:47PM   0:00.00 /usr/local/bin/httpd -k start
_www             33106   0.0  0.0  4306108   1028   ??  S     4:47PM   0:00.00 /usr/local/bin/httpd -k start
root             33105   0.0  0.1  4306132   6556   ??  Ss    4:47PM   0:00.07 /usr/local/bin/httpd -k start

确认启动

开始-k

就我所知,根据确认”k start”,apachectl和httpd似乎不被视为分别启动。

当尝试在apachectl启动过程中启动httpd时,会显示已经在运行中的消息。

$ httpd -k start
httpd (pid 31717) already running

服务

在我的设备上无法使用该服务,无法确认……
更重要的是,启动脚本init.d 甚至都不存在……

你的行为有点异常吗?
还需确认参考来源。

apachectl启动和httpd启动有不同的工作方式吗?

如果不使用service而是使用init.d进行服务重启,可能会发生问题。

httpd.conf可以进行重写

需要确认httpd.conf文件的位置。

httpd.conf配置文件的位置