启动/停止和重新启动 Apache 2 Web 服务器命令
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 是的 |
要求 | Linux 或 Unix 终端 |
类别 | 流程管理 |
先决条件 | Apache 2.x/2.4 |
操作系统兼容性 | BSD • Linux • macOS • Unix • WSL |
预计阅读时间 | 4 分钟 |
首先,如果服务器不在您的本地数据中心,请使用 ssh 客户端登录到您的 Web 服务器: 登录后,根据您的 Linux 或 Unix 版本输入以下命令。有关更多信息,请参阅如何查找 Linux 发行版名称并使用 CLI 检查您的 Linux 版本。
$ ssh root@your-server-com #Linode box
$ ssh ec2-user@aws-ip-here # AWS
$ ssh vivek@192.168.2.100 # My home dev server
Debian/Ubuntu Linux 启动/停止/重启 Apache 的特定命令
您可以在Debian Linux 版本 7.x 或 Ubuntu Linux 版本 Ubuntu 14.10 或更早版本上使用服务或 /etc/init.d/ 命令,如下所示:
重新启动 Apache 2 Web 服务器,输入:
# /etc/init.d/apache2 restart
或
$ sudo /etc/init.d/apache2 restart
或
$ sudo service apache2 restart
要停止 Apache 2 Web 服务器,请输入:
# /etc/init.d/apache2 stop
或
$ sudo /etc/init.d/apache2 stop
或
$ sudo service apache2 stop
要启动 Apache 2 Web 服务器,请输入:
# /etc/init.d/apache2 start
或
$ sudo /etc/init.d/apache2 start
或
$ sudo service apache2 start
关于Debian/Ubuntu Linux systemd用户的说明
在Debian Linux 版本 8.x+ 或 Ubuntu Linux 版本 Ubuntu 15.04+或更高版本上使用以下 systemctl 命令:
我们可以使用以下命令查看状态:输出:
## Start command ##
$ sudo systemctl start apache2.service
## Stop command ##
$ sudo systemctl stop apache2.service
## Restart command ##
$ sudo systemctl restart apache2.service
$ sudo systemctl status apache2.service
● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-02-24 20:39:39 UTC; 5 days ago Docs: https://httpd.apache.org/docs/2.4/ Process: 115 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Process: 15247 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Main PID: 128 (apache2) Tasks: 6 (limit: 4672) Memory: 16.4M CGroup: /system.slice/apache2.service ├─ 128 /usr/sbin/apache2 -k start ├─15254 /usr/sbin/apache2 -k start ├─15255 /usr/sbin/apache2 -k start ├─15256 /usr/sbin/apache2 -k start ├─15257 /usr/sbin/apache2 -k start └─15258 /usr/sbin/apache2 -k start Feb 27 00:00:23 ubuntu-db-mgmnt systemd[1]: Reloaded The Apache HTTP Server. Feb 28 00:00:23 ubuntu-db-mgmnt systemd[1]: Reloading The Apache HTTP Server.
CentOS/RHEL (Red Hat) Linux 版本 4.x/5.x/6.x 或更早版本特定命令
使用服务命令:
## Start ##
# service httpd start
## Stop ##
# service httpd stop
## Restart ##
# service httpd restart
CentOS/Fedora/RHEL (Red Hat) Linux 版本 7.x 或更新版本特定命令
大多数现代基于 RHEL 的发行版现在使用 systemd,因此您需要使用以下 systemctl 命令:
上述命令适用于 RHEL、CentOS、RockyLinux、Fedora 和 AlmaLinux。
## Start command ##
$ sudo systemctl start httpd.service
## Stop command ##
$ sudo systemctl stop httpd.service
## Restart command ##
$ sudo systemctl restart httpd.service
Alpine Linux 使用 openrc 启动/停止/重启 Apache 2
我们需要以root用户身份使用服务命令:会话:
# service apache2 start
# service apache2 stop
# service apache2 status
# service apache2 restart
* Stopping apache2 ... * Starting apache2
FreeBSD Unix 用户
FreeBSD 用户可以按如下方式重新启动 Apache:
最新版本的 FreeBSD 13 附带 apache24,因此命令如下:
# /usr/local/etc/rc.d/apache22 restart
# service restart apache22
# service stop apache22
# service start apache22
# /usr/local/etc/rc.d/apache24 restart
# service restart apache24
# service stop apache24
# service start apache24
在 Linux/Unix/*BSD 机器上启动/停止/重启 Apache 的通用方法
首先,使用 type 命令或 command 命令找到 apachectl 或 apachectl2 路径:
来自 Ubuntu Linux 20.04 LTS 服务器的输出:
type -a apachectl
type -a apache2ctl
apachectl is /usr/sbin/apachectl apachectl is /sbin/apachectl
然后使用语法如下(必须以 root 用户身份运行):
apachectl/apache2ctl 是 Apache HTTP 服务器控制接口。其他选项如下:
## stop it ##
# apachectl -k stop
## restart it ##
# apachectl -k restart
## graceful restart it ##
# apachectl -k graceful
## Start it ##
# apachectl -f /path/to/your/httpd.conf
# apachectl -f /usr/local/apache2/conf/httpd.conf
启动 Apache 守护程序
# apachectl start
# OR #
# apache2ctl start
停止 Apache 守护进程
# apachectl stop
# OR #
# apache2ctl stop
通过发送 SIGHUP 来重新启动 Apache 守护进程
# apachectl restart
# OR #
# apache2ctl restart
显示来自 mod_status 的完整状态报告
# apachectl fullstatus
# OR #
# apache2ctl fullstatus
显示简要状态报告
# apachectl status
# OR #
# apache2ctl status
通过发送 SIGUSR1 来正常重启 Apache 守护进程
# apachectl graceful
# OR #
# apache2ctl graceful
我们也可以优雅地停止 Apache httpd 守护进程吗?尝试:
# apachectl graceful-stop
# OR #
# apache2ctl graceful-stop
运行配置文件语法测试
# apachectl configtest
# OR #
# apache2ctl configtest
总结
您学习了如何通过基于 ssh 的会话使用命令行启动、停止或重新启动 Apache 2 Web 服务器。使用 man 命令或 help 命令阅读以下手册页:
$ man service
$ man systemctl
$ man httpd
$ httpd --help
$ man apachectl