Linux中,配置systemctl操作Nginx

  最近在通过Linux系统学一些技术,但是在启动Nginx时,总是需要执行其安装路径下的脚本文件,要么我们需要先进入其安装路径,要么我们每次执行命令直接拼上Nginx的完整目录,如启动时命令为/usr/local/nginx/sbin/nginx。

  可以看到这样在进行Nginx操作时稍比较繁琐,还需记住Nginx的安装路径,但是我了解到通过systemctl命令可以对系统服务进行管理,那是否可以将Nginx配置一下,使用systemctl命令启动呢?

  答案是,当然可以!

  在 Linux 系统中,一些服务可能已经集成了 systemd 单元(units),因此可以直接通过 systemctl 命令来管理,包括启动、停止、重启等操作。而另一些服务可能还未提供 systemd 单元,此时可能需要通过执行脚本来启动、停止服务。

  对于 Nginx 这样的常见服务,通常都可以通过 systemctl 来管理。如果你的系统没有提供 Nginx 的 systemd 单元,你可以手动创建一个 systemd 单元文件来实现通过 systemctl 来管理 Nginx 服务。

  以下是具体步骤:

1、sudo su提权,确保当前用户有权限编辑文件

2、进入配置文件目录,创建一个新的 systemd 单元文件,如/usr/lib/systemd/system/nginx.service

3、编辑nginx.service

[Unit]

Description=Nginx Web Server

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s stop

KillMode=process

Restart=on-failure

RestartSec=5s

[Install]
WantedBy=multi-user.target

解释各个配置项的含义:

[Unit] 部分是对服务单元的描述。

  • Description:描述服务的简短说明。
  • After:指定服务单元依赖的其他单元,在本例中表示 Nginx 服务应该在网络服务启动后启动。

[Service] 部分是指定服务的具体执行细节。

  • Type:指定服务的启动类型,这里是 forking,表示启动服务时会派生出一个子进程。
  • ExecStart:指定启动 Nginx 服务的命令;路径应为自己Nginx的安装路径。
  • ExecReload:指定重新加载 Nginx 配置的命令;路径应为自己Nginx的安装路径。
  • ExecStop:指定停止 Nginx 服务的命令;路径应为自己Nginx的安装路径。
  • KillMode:指定终止模式,这里是 process,表示通过向进程发送信号终止服务。
  • Restart:指定在失败时是否重新启动服务,这里是 on-failure,表示只有在服务失败时才重新启动。
  • RestartSec:指定重新启动服务的时间间隔,这里是 5 秒。

[Install] 部分是指定服务的安装信息。

  • WantedBy:指定服务的启动级别,这里是 multi-user.target,表示服务将在多用户环境下启动。

4、创建完成后,重新加载 systemd 配置:

systemctl daemon-reload

5、以上步骤完成后就可以使用systemctl命令对nginx服务进行相关操作了

  • 启动 Nginx 服务:
systemctl start nginx
  • 查看 Nginx 服务状态:
systemctl status nginx

  • 停止 Nginx 服务:
systemctl stop nginx

  • 重启服务:
systemctl restart nginx

  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值