gpt4 book ai didi

nginx - 使用命令 "nginx"、 "service start nginx"和 "systemctl nginx start"启动 nginx 有什么区别?

转载 作者:行者123 更新时间:2023-12-04 01:49:18 35 4
gpt4 key购买 nike

我注意到,当我使用 ubuntu 命令“nginx”启动 nginx 并执行 systemctl status nginx 时。它表明 systemctl 已禁用。此外,如果我首先使用命令 systemctl start nginx 启动 nginx,然后尝试使用命令 nginx 启动 nginx,它会检查端口的可用性,然后说 nginx:[emerg] 仍然无法绑定(bind)()。所以我认为必须有一个differene和他们的目的。当我使用命令 nginx strt nginx 时,停止 nginx 的唯一方法是使用 killlall nginx 或 kill -9 (进程 ID)强制或清除端口。所以我很确定它们之间存在一些差异。

最佳答案

您提供的示例之间的区别在于流程的启动方式。

运行命令nginx将启动应用程序并等待您的用户操作停止它。
systemctlservice命令几乎是一样的,并且正在运行 service nginx startsystemctl start nginx将在后台启动一个运行 Nginx 守护进程的服务。

你也可以用它来做 service nginx restartsystemctl restart nginx重新启动服务,甚至是 service nginx reload/systemctl reload nginx在不完全停止 Nginx 服务器的情况下重新加载配置。

不能两者兼得的原因nginxsystemctl start nginx是由于nginx配置已经监听了80端口,不能同时监听一个IP地址的同一个端口。

您还可以通过运行 systemctl enable nginx 强制 nginx 服务在启动时启动。这就是为什么您的systemctl status nginx返回“禁用”。

希望这是有道理的。

关于nginx - 使用命令 "nginx"、 "service start nginx"和 "systemctl nginx start"启动 nginx 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54017277/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com