欢迎访问宙启技术站
智能推送

编译安装的服务,用systemctl 进行管理

发布时间:2023-05-18 20:50:04

随着互联网的发展,很多应用程序需要建立一个服务来保持程序经常运行,对于一些常驻的后台程序,我们需要把它作为一个系统服务,随系统自启动,并能够通过systemctl管理。

编译安装的服务就是指我们自行下载源代码,然后对其进行手动编译,并将其安装在我们的服务器上。下面我将介绍如何安装编译安装的服务,并用systemctl进行管理。

步:下载源代码

首先,我们需要到官网下载自己需要的服务的源代码。这里需要注意的是,不同服务的源代码下载地址是不同的,需根据所需服务的官网获取地址。

第二步:编译源代码

下载好源代码之后,我们需要开始编译。对于一些较为简单的服务,我们可以直接使用make命令进行编译,如果需要进行复杂的配置和安装,可以使用以下命令:

./configure

make

make install

这里的configure命令是用来配置编译环境的,make是用来进行编译的,make install是将编译后的程序安装到系统中。

第三步:创建systemd文件

我们需要在/etc/systemd/system目录中创建一个服务文件,这里以nginx为例,具体的文件名可以是任何字符串,但是建议和服务的名称相同,比如nginx.service。

在nginx.service文件中输入以下内容:

[Unit]

Description=nginx - high performance web server

After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/var/run/nginx.pid

ExecStartPre=/usr/local/nginx/nginx/sbin/nginx -t -c /usr/local/nginx/nginx/conf/nginx.conf

ExecStart=/usr/local/nginx/nginx/sbin/nginx -c /usr/local/nginx/nginx/conf/nginx.conf

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target

这里的内容中,Description为该服务介绍,type选项可以设置三种类型,分别是simple、forking、notify,这里nginx选择的是forking类型,PIDFile为pid文件的路径,以便systemd能够跟踪系统中nginx的进程。

第四步:启动和管理服务

在完成上述配置后,我们就可以使用systemctl进行NGINX服务的启动和管理了。具体的命令包括:

启动服务:systemctl start nginx

停止服务:systemctl stop nginx

重启服务:systemctl restart nginx

查看服务状态:systemctl status nginx

启动服务开机自启:systemctl enable nginx

禁止服务开机自启:systemctl disable nginx

总结

以上就是关于使用systemctl进行编译安装服务的方法,对于一些后台程序的安装和管理,我们一定要注意,只有正确的安装和管理,服务才能够经常运行,并保证系统的稳定性和安全性。