admin 管理员组

文章数量: 887021


2024年1月17日发(作者:gitlab持续集成)

nginx systemd service 写法

如何编写nginx的systemd服务。

第一步:创建服务文件

在系统的`/etc/systemd/system/`目录下,创建一个以`.service`为后缀的文件,例如`e`。这个文件将用来定义nginx的systemd服务。

第二步:编辑服务文件

打开刚创建的`e`文件,并按照以下格式填写内容:

[Unit]

Description=Nginx HTTP Server

After=

[Service]

ExecStart=/usr/sbin/nginx -g 'daemon off;'

ExecReload=/usr/sbin/nginx -s reload

ExecStop=/usr/sbin/nginx -s quit

PrivateTmp=true

[Install]

WantedBy=

这里我们使用了默认nginx二进制文件的路径`/usr/sbin/nginx`,根据你的实际安装路径进行修改。

在`[Unit]`段落中,我们定义了服务的描述和它应该在网络启动之后进行启动。`[Service]`段落包含了服务的启动、重新加载和停止命

令,以及设置私有临时文件系统的选项。最后,`[Install]`段落定义了服务的启动级别。

保存并退出编辑器。

第三步:启用和启动服务

通过以下命令,使系统加载你的新服务:

sudo systemctl daemon-reload

然后通过以下命令启用nginx服务:

sudo systemctl enable nginx

最后,通过以下命令启动nginx服务:

sudo systemctl start nginx

验证nginx服务是否成功启动:

sudo systemctl status nginx

如果服务成功启动,你应该会看到类似以下输出:

e - Nginx HTTP Server

Loaded: loaded (/etc/systemd/system/e;

enabled; vendor preset: enabled)

Active: active (running) since Thu 2022-01-01 00:00:00

UTC; 1h ago

Process: 1234 ExecStart=/usr/sbin/nginx -g 'daemon

off;' (code=exited, status=0/SUCCESS)

Main PID: 1234 (nginx)

Tasks: 2 (limit: 11223)

CGroup: //e

1234 nginx: master process /usr/sbin/nginx -g

daemon off;

5678 nginx: worker process

恭喜!你已经成功编写了nginx的systemd服务。

附加步骤:服务管理

可以使用`systemctl`命令来管理nginx服务。一些常用的命令包括:

启动服务:

sudo systemctl start nginx

停止服务:

sudo systemctl stop nginx

重新加载服务配置:

sudo systemctl reload nginx

这将重新加载nginx的配置文件,而不需要重启整个服务。

查看服务状态:

sudo systemctl status nginx

禁用服务自启动:

sudo systemctl disable nginx

删除服务:

sudo systemctl disable nginx

sudo rm /etc/systemd/system/e

sudo systemctl daemon-reload

总结:通过按照以上步骤创建和管理nginx的systemd服务,你可以更方便地控制nginx的启动、停止和重新加载等操作。同时,systemd提供的服务管理功能也可使系统管理员更好地监控和管理服务。希望本文能对你有所帮助!


本文标签: 服务 启动 管理 文件 加载