Linux设置服务自启动

服务自启动

systemctl 命令介绍

  • Linux服务管理两种方式service和systemctl

  • systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。

  • systemd对应的进程管理命令是systemctl

systemctl命令兼容了service

常用命令:

systemctl [command] [unit]
# 查看状态
systemctl status 服务名
# 启动
systemctl start 服务名
# 停止
systemctl stop 服务名
# 重启
systemctl restart 服务名
# 设置开机自启动
systemctl enable 服务名
# 设置开机不启动
systemctl disable 服务名

参考链接:
https://blog.csdn.net/weixin_39963341/article/details/111107237

服务器启动jar包

首先进入到/etc/systemd/system目录下

cd /etc/systemd/system

新建服务文件

vim yourProjectName.service

服务文件内容

[Unit] 
Description=data hub service	#描述
After=syslog.target				#依赖
[Service]
ExecStart=/bin/sh -c "exec /usr/bin/java -jar /home/yunhe/service/yunhe-maquan.jar>>/home/yunhe/log.log 2>&1"
[Install]
WantedBy=multi-user.target

修改配置文件后需要通过命令systemctl daemon-reload重新加载配置文件

systemctl enable 服务名 设置开机自启

systemctl start 服务名 启动服务

systemctl stop 服务名 停止服务

postgresql开机启动

通过rpm包安装的postgresql是有自动注册服务的。

以postgresql-11为例

查看状态
systemctl status postgresql-11
启动
systemctl start postgresql-11
重启
systemctl restart postgresql-11

通过查看状态发现postgresql-11是开机自启的;如果状态不对通过systemctl enable postgresql-11设置即可
请添加图片描述

nginx开机自启

通过rpm安装的nginx

  • 首先可通过systemctl status nginx查看安装nginx是否已注册服务

  • 通过systemctl start nginx启动服务时报错
    请添加图片描述

  • 而我们通过ps -ef|grep nginx命令查到nginx是在启动的。

  • 通过pkill -9 nginx杀死nginx进程

  • 再次启动启动成功

  • 再通过systemctl enable nginx设置开机自启

参考链接:

https://blog.csdn.net/fuck487/article/details/106440943

https://blog.csdn.net/sinat_22387459/article/details/115007510

Redis 开机自启

通过rpm包进行安装redis

  • 编辑 redis.conf配置文件,设置后台启动redis服务

vim /etc/redis.conf

把文件中的daemonize属性改为yes(表明需要在后台运行)

(如需设置密码和远程访问自行设置)

  • 在根目录下查找通过find -name 文件名 查找redis启动文件
    请添加图片描述

  • 再通过命令./usr/bin/redis-server /etc/redis.conf 启动redis

    可通过查看 redis 进程,或 redis-cli 连接 redis 确认是否启动成功

  • rpm包安装redis已自动注册服务,通过 systemctl status redis 查看服务状态

  • 停止 redis 进程再通过 systemctl start redis 启动 redis 服务,启动失败;通过 journalctl -xe 查看服务日志
    请添加图片描述

  • 通过 chmod 777 /var/log/redis/redis.log 命令修改文件权限,再通过systemctl start redis 启动redis,启动成功

  • systemctl enable redis 设置开机自启。

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux设置服务开机自启动,可以按照以下步骤进行操作: 1. 打开终端,使用root用户登录系统。 2. 找到需要设置开机自启动服务,可以使用以下命令查看系统中已安装的服务: systemctl list-unit-files --type=service 3. 找到需要设置开机自启动服务后,使用以下命令开启服务自启动: systemctl enable 服务名称 例如,要设置Apache服务开机自启动,可以使用以下命令: systemctl enable httpd.service 4. 确认服务已经成功设置为开机自启动,可以使用以下命令查看服务状态: systemctl status 服务名称 例如,查看Apache服务状态可以使用以下命令: systemctl status httpd.service 如果服务已经成功设置为开机自启动,状态应该显示为“active (running)”。 以上就是在Linux设置服务开机自启动的步骤。 ### 回答2: Linux作为一种开源操作系统,使用广泛,拥有许多强大的功能。其中一个重要的功能就是它可以方便地设置服务开机自启动服务是一种在系统启动时自动后台运行的程序,而对于许多关键服务来说,它们应该保持随时运行以确保系统正常工作。 在Linux设置服务开机自启动可以分为两部分,第一步是安装需要自启动服务程序,第二步是设置服务开机自启动。 首先,安装需要自启动服务程序。这可以通过软件包管理器来完成。以Ubuntu为例,可以使用以下命令来安装Apache服务器: sudo apt-get install apache2 完成安装后,可以使用以下命令来检查服务是否启动。 systemctl status apache2 如果服务已经启动,系统将返回一个带有“Active: active (running)”的状态消息。 接下来,让这个服务在每次系统启动时自动运行。这可以通过“systemd”服务管理器来实现。以Ubuntu为例,可以使用以下命令来启用Apache服务器的自启动: sudo systemctl enable apache2 这将在系统启动时自动启动Apache服务器。您可以使用以下命令来检查服务是否已经设置自启动: sudo systemctl is-enabled apache2 如果服务已经设置自启动,系统将返回一个带有“enabled”的状态消息。 总之,Linux是一种功能强大的操作系统,可以方便地设置服务开机自启动。使用上述步骤,您可以轻松地安装并设置需要自启动服务,并确保它们在系统启动后始终运行,从而确保系统的正常工作。 ### 回答3: 在Linux中,服务是常驻进程,它可以在系统启动时自动启动,从而确保其始终运行。为了设置服务的开机自启动,我们需要执行以下步骤: 第一步:确定服务名 在设置服务的开机自启动之前,我们需要确保知道该服务的名称。以Nginx为例,我们可以使用以下命令来确定它的服务名称: ``` systemctl list-units | grep nginx ``` 我们可以看到Nginx服务的名称为`nginx.service`。 第二步:将服务添加到自启动列表中 为了将服务添加到开机自启动列表中,我们需要使用`systemctl enable`命令,像这样: ``` sudo systemctl enable nginx.service ``` 这个命令将在`/etc/systemd/system/`目录中创建一个符号链接以启用服务,并在系统启动时自动启动该服务。 如果我们想禁用服务的开机自启动,我们可以使用`systemctl disable`命令: ``` sudo systemctl disable nginx.service ``` 第三步:重新启动系统 为了确认服务是否已成功地自动启动,我们可以重新启动系统并检查服务是否已经启动: ``` sudo reboot sudo systemctl status nginx.service ``` 执行这个命令,如果服务已成功启动并运行,我们应该看到服务状态为“active (running)”状态。 除此之外,我们还可以使用systemd-tmpfiles命令定期清理/tmp和/var/tmp目录,用于系统运行期间建立及临时调整文件使用,使用以下命令实现: ``` sudo systemctl edit systemd-tmpfiles-clean.timer ``` 打开编辑器,输入以下内容保存: ``` [Timer] OnBootSec=30s OnUnitActiveSec=1days ``` 使用该命令实现SYSTEMD-TMPFILES-CLEAN服务的刷新: ``` sudo systemctl daemon-reload ``` 最后重启服务: ``` sudo systemctl --now enable systemd-tmpfiles-clean.timer ``` 现在,我们已经成功地将服务添加到了Linux系统的开机自启动列表中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值