0

0

Linux如何启动和停止指定服务

P粉602998670

P粉602998670

发布时间:2025-09-14 12:10:01

|

1080人浏览过

|

来源于php中文网

原创

答案是使用systemctl命令管理服务。启动服务用sudo systemctl start 服务名称;停止服务用sudo systemctl stop 服务名称;重启服务用sudo systemctl restart 服务名称,会中断服务;重载配置用sudo systemctl reload 服务名称,不中断连接;查看状态用systemctl status 服务名称,可显示运行状态和日志;设置开机自启用sudo systemctl enable 服务名称,禁用则用disable;查看是否启用开机启动用systemctl is-enabled 服务名称;查看详细日志用sudo journalctl -u 服务名称,支持-f实时跟踪、--since时间过滤、-p级别筛选。restart先停再启,导致中断;reload发送sighup信号重载配置,保持服务连续性,但并非所有服务都支持。优先尝试reload以减少影响。

linux如何启动和停止指定服务

在Linux系统里,启动和停止指定服务通常通过

systemctl
命令来完成,它是管理Systemd系统和服务的核心工具。对于一些老旧的系统或者特定的服务,你可能还会遇到
service
命令或者直接运行
/etc/init.d/
目录下的脚本。但现在,
systemctl
几乎是所有主流Linux发行版的首选,它功能更强大,也更统一。

解决方案

要启动、停止或管理一个Linux服务,最直接的方式就是使用

systemctl
。我个人觉得,掌握它能解决你90%的服务管理问题。

  • 启动服务:

    sudo systemctl start <服务名称>

    比如,你要启动Nginx,就是

    sudo systemctl start nginx
    。这会立即让服务跑起来。

  • 停止服务:

    sudo systemctl stop <服务名称>

    如果你想让Nginx停下来,就用

    sudo systemctl stop nginx

  • 重启服务:

    sudo systemctl restart <服务名称>

    这其实是先停止再启动,通常用于配置更改后需要完全刷新服务状态的情况。

  • 重载服务:

    sudo systemctl reload <服务名称>

    这个命令很有用,它会告诉服务重新加载其配置文件,而不会中断当前正在处理的连接或任务。并不是所有服务都支持

    reload
    ,如果不支持,
    systemctl
    通常会退回到
    restart

  • 查看服务状态:

    systemctl status <服务名称>

    这是我最常用的命令之一。它能告诉你服务是否正在运行、PID、内存占用,以及最近的几行日志,对于快速排查问题简直是神器。

  • 启用服务(开机自启动):

    sudo systemctl enable <服务名称>

    这个命令会创建一个符号链接,确保服务在系统启动时自动运行。

  • 禁用服务(取消开机自启动):

    sudo systemctl disable <服务名称>

    如果你不希望某个服务随系统启动,就用这个。

记住,这些操作大多需要

sudo
权限,因为它们涉及到系统级别的更改。

Linux如何启动和停止指定服务

如何让Linux服务开机自动启动?

让服务开机自启动,这是个非常常见的需求,也是服务管理中一个关键的环节。你总不希望每次服务器重启后,还得手动去启动Nginx、MySQL或者你自己的应用吧?老实说,我见过不少新手因为忘记设置这个,导致服务器重启后服务“失踪”的尴尬场面。

要实现开机自启动,

systemctl enable
命令就是你的答案。当你运行
sudo systemctl enable <服务名称>
时,Systemd会在
/etc/systemd/system/multi-user.target.wants/
目录下为你的服务单元文件创建一个符号链接。
multi-user.target
是Systemd在系统启动时进入的默认运行级别之一,它表示一个多用户、非图形化的环境,大多数后台服务都会在这个阶段启动。

良精Wap企业网站管理系统 1.2
良精Wap企业网站管理系统 1.2

什么是企业WAP网站,企业3G网站 企业WAP网站一般是指展示企业形象,介绍企业产品的WAP手机网站或者3G手机网站,让客户可以通过手机就能了解一个企业的大体情况和产品内容,从而更广泛的宣传企业,赢得更多的客户关注度!一般企业WAP网站包括:公司介绍,产品介绍,企业新闻动态,服务范围介绍,留言板,企业招聘信息等内容,如果有特殊要求,我们也会按照客户的要求定做。 企业为何要建设手机WAP网站,3

下载

举个例子,如果你安装了Apache HTTP服务器,想让它开机自启动:

sudo systemctl enable apache2  # Debian/Ubuntu
sudo systemctl enable httpd    # CentOS/RHEL

执行后,系统会告诉你创建了一个符号链接,这表示设置成功了。下次系统启动时,Apache服务就会自动加载并运行。

如果你想确认某个服务是否已经设置为开机自启动,可以这样查看:

systemctl is-enabled <服务名称>

它会返回

enabled
disabled

当然,如果你想取消一个服务的开机自启动,对应的命令就是

sudo systemctl disable <服务名称>
。它会移除那个符号链接,让服务不再随系统启动。这在测试或者临时禁用某个服务时非常有用。

Linux如何启动和停止指定服务

如何查看Linux服务的运行状态和日志?

服务跑起来了,但它真的在正常工作吗?有没有报错?这是我们作为管理员最关心的问题之一。我个人觉得,

systemctl status
journalctl
是排查服务问题时,你最应该先想到的两个工具。它们能帮你快速定位问题,避免大海捞针。

首先是

systemctl status <服务名称>
。这个命令提供了服务状态的概览,非常直观:

systemctl status nginx

输出会告诉你:

  • Active: 服务是否正在运行(active (running)),或者停止了(inactive (dead)),或者启动失败了(failed)。
  • Loaded: 服务单元文件是否被Systemd加载。
  • PID: 服务的进程ID。
  • Memory: 服务占用的内存。
  • CGroup: 服务所属的控制组信息。
  • Latest Logs: 最关键的是,它会显示服务最近的几行日志输出。这些日志往往能直接指出服务启动失败的原因,比如端口冲突、配置文件错误等等。

如果

status
命令给出的日志不够详细,或者你需要查看更早的日志,那么
journalctl
就派上用场了。
journalctl
是Systemd的日志管理工具,它能聚合所有Systemd单元的日志。

要查看特定服务的完整日志,你可以这样:

sudo journalctl -u <服务名称>

比如,查看Nginx的日志:

sudo journalctl -u nginx

这个命令会显示Nginx服务的所有历史日志。你可能需要用到一些参数来过滤日志:

  • sudo journalctl -u nginx -f
    :实时跟踪Nginx的最新日志输出,就像
    tail -f
    一样。这在调试服务启动问题时特别有用。
  • sudo journalctl -u nginx --since "2 hours ago"
    :查看过去两小时内的Nginx日志。
  • sudo journalctl -u nginx -p err
    :只显示Nginx服务的错误日志。

通过这两个命令的配合使用,你基本上能掌握服务的运行状况,并且在遇到问题时,能够迅速找到线索。

Linux如何启动和停止指定服务

服务管理中,重启和重载有什么不同?

systemctl restart
systemctl reload
这两个命令,在日常服务管理中经常用到,但它们之间有着本质的区别,理解这一点对于维护服务的稳定性和可用性至关重要。我见过不少人,一遇到配置更改就直接
restart
,虽然多数时候没问题,但在生产环境,这可能会导致不必要的服务中断。

说白了:

  • systemctl restart <服务名称>
    这个命令的操作逻辑是:先完全停止服务,然后再重新启动服务。 当一个服务被
    restart
    时,它会终止所有当前正在运行的进程,释放所有占用的资源(比如端口、内存),然后从头开始启动一个新的服务实例。 优点: 确保服务的所有状态都被完全重置,新的配置或代码改动能彻底生效。 缺点: 服务在停止和重新启动的短暂时间内是不可用的,这会导致服务中断。对于高并发或要求高可用的服务来说,这种中断是需要尽量避免的。

  • systemctl reload <服务名称>
    这个命令的操作逻辑是:通知服务重新加载其配置文件,而不会停止服务的运行。 当一个服务被
    reload
    时,Systemd会向服务进程发送一个特定的信号(通常是
    SIGHUP
    ),告诉它“嘿,你的配置文件变了,去重新读取一下吧!”服务进程在收到这个信号后,会在不中断现有连接或任务的情况下,加载新的配置。 优点: 服务不会中断,保持了高可用性。用户或客户端不会察觉到服务的中断。 缺点: 并不是所有服务都支持
    reload
    。如果一个服务的设计不支持这种“热重载”机制,或者你修改的配置项过于底层,需要完全重新初始化服务才能生效,那么
    reload
    可能就无法达到预期效果,甚至
    systemctl
    会自动回退到
    restart

什么时候用哪个?

  • restart

    • 当你对服务的核心代码或依赖库进行了升级。
    • 当你修改了服务的关键配置,这些配置需要服务完全重新初始化才能生效(例如,改变了监听的端口、数据库连接池大小等)。
    • 服务出现异常,需要彻底重置其状态以尝试恢复。
  • reload

    • 当你只修改了服务的非核心配置,比如Nginx的虚拟主机配置、Apache的目录权限设置等,这些更改可以在不中断服务的情况下生效。
    • 你希望在不影响用户体验的前提下,更新服务的某些参数。

在实际工作中,我通常会优先尝试

reload
,如果发现配置没有生效,或者服务行为不符合预期,才会考虑
restart
。这样能最大限度地减少对生产环境的影响。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

686

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

513

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

287

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

519

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

267

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

392

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

542

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

666

2023.08.14

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 2.5万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 846人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号