服务自启动设置_服务器设置启动项

服务自启动设置_服务器设置启动项一、linux下的服务分类RPM包默认安装的服务这些服务是通过RPM包安装的,可以被服务管理命令识别。又分为两种子分类:1)独立的服务:就是独立启动的意思,这类型的服务可以自行启动,而不

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、linux下的服务分类

服务自启动设置_服务器设置启动项

RPM 包默认安装的服务

这些服务是通过 RPM 包安装的,可以被服务管理命令识别。又分为两种子分类:

  • 1)独立的服务:
    就是独立启动的意思,这类型的服务可以自行启动,而不用依赖其他的管理服务。不依赖其他管理服务,那么当客户端请求访问时,独立的服务响应请求更快速。 Linux 中目前大多数服务都是独立的服务,比如 apache 服务,FTP 服务,Samba 服务等。
  • 2)基于 xinetd 的服务:
    这种服务就不能独立启动了,而是要依靠管理服务来调用这种服务。这个负责管理的服务就是 xinetd 服务,xinetd 服务是系统的超级守护进程。xinetd 服务的作用就是管理不能独立启动的服务,当有客户端请求时,先请求 xinetd 服务, 由 xinetd 服务去唤醒相对应的服务。当客户端请求结束后,被唤醒的服务会关闭并释放资源。这样做的好处是只需要持续启动 xinetd 服务,而其他基于 xinetd 的服务只有在需要时才启动,不会占用过的的服务器资源。但是这种服务由于在有客户端请求时才会被唤醒,所以相应时间相对较慢。
源码包安装的服务

不能直接通过系统命令启动,但可以进行配置实现系统命令启动。

二、RPM 包默认安装的服务管理

1、独立服务管理
独立服务的启动管理

(我们使用yum安装的apache服务进行演示)

  • 使用/etc/init.d/目录中的启动脚本启动服务
[root@centos ~]# /etc/init.d/httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed for centos
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]

  • 使用 service 命令来启动独立的服务
[root@centos ~]# service  独立服务名  start|stop|restart|…
独立服务的自启动管理
  • 使用 chkconfig 服务自启动管理命令
[root@centos ~]# chkconfig [--level 运行级别] [独立服务名] [on|off] 
#选项:  
--level: 
设定在哪个运行级别中开机自启动(on),或是关闭自启动(off) 
[root@centos ~]# chkconfig --level 2345 httpd on 
  • 修改/etc/rc.d/rc.local 文件,设置服务自启动
[root@centos ~]# vi /etc/rc.d/rc.local  
 
touch /var/lock/subsys/local /etc/rc.d/init.d/httpd start 
  • 使用 ntsysv 命令管理自启动,ntsysv是一个图形界面。
    服务自启动设置_服务器设置启动项
[root@centos ~]# ntsysv 
上下键:在不同服务之间移动
空格键:选定或取消服务的自启动。
tab 键:在不同项目间切换
F1 键:显示服务的说明
2、基于 xinetd 服务的管理
基于 xinetd 服务的启动

我们使用 telnet 服务来举例,telnet 服务是用来进程系统远程管理的,端口 23。不过需要注意的是 telnet 的远程管理数据在网络当中是明文传输,非常不安全。在实际生产环境中,不会使用,我们这里只是举例而已。

[root@centos ~]# yum install telnet -y
[root@centos ~]# vim /etc/xinetd.d/telnet

service telnet
{
        flags           = REUSE   标志为REUSE,代表tcp/ip socket 可重用
        socket_type     = stream  使用tcp协议数据包
        wait            = no      允许多个连接同时连接
        user            = root     启动服务的用户为 root
        server          = /usr/sbin/in.telnetd   启动脚本
        log_on_failure  += USERID     登陆失败后,记录用户id
        disable         = yes      默认服务不使用,我们如果要使用的话,需要将yes改为no  
}


#启动telnet服务,使用chkconfig --list 查看
[root@centos ~]# chkconfig --list
....
xinetd based services:
	chargen-dgram: 	off
	chargen-stream:	off
	daytime-dgram: 	off
	daytime-stream:	off
	discard-dgram: 	off
	discard-stream:	off
	echo-dgram:    	off
	echo-stream:   	off
	rsync:         	off
	tcpmux-server: 	off
	telnet:        	on
	time-dgram:    	off
	time-stream:   	off

基于 xientd 服务的自启动
  • 使用 chkconfig 命令管理自启动
  • 使用 ntsysv 命令管理自启动
[root@centos ~]# chkconfig 服务名 on|off 
[root@centos ~]# chkconfig telnet on
telnet 是基于 xinetd 的服务,没有自己的运行级别,是依靠 xinetd 服务的运行级别,所以不能添加 --level 参数

三、源码包安装的服务管理

1、源码包服务的启动管理
[root@centos ~]# /usr/local/apache/bin/apachectl start|stop|restart|… # 源码包服务启动管理 
2、源码包服务的自启动管理
root@centos ~]# vi /etc/rc.d/rc.local # 修改自启动文件 
touch /var/lock/subsys/local 
/usr/local/apache/bin/apachectl start 
3、让源码包服务被服务管理命令识别

1)安装源码包的 apache 服务

[root@centos ~]# tar -zxvf httpd-2.4.41.tar.gz
[root@centos ~]# cd httpd-2.4.41
#先安装依赖
yum install pcre  gcc gcc-c++ expat-devel zlib
#源码包 2.4.*版本中默认没有集成 apr 的依赖包,所以需要提前解决依赖问题,直接下载就行 
cp -a apr-1.7.0/ /root/httpd-2.4.41/srclib/apr
cp -a apr-util-1.6.1 /root/httpd-2.4.41/srclib/apr-util
[root@centos httpd-2.4.41]# ./configure --prefix=/usr/local/apache --sysconfdir=/usr/local/apache/etc --with-included-apr
make && make install

2)启动apache服务

[root@centos ~]# /usr/local/apache/bin/apachectl start
[root@centos ~]# netstat -tlunp | grep 80
tcp        0      0 :::80                       :::*                        LISTEN      45839/httpd 
# 启动源码包的 apache ,查看端口确定已经启动 

3)、让源码包的 apache 服务能被 service 命令管理启动

[root@centos ~]# ln -s /usr/local/apache/bin/apachectl  /etc/init.d/apache
#service 命令其实只是在 /etc/init.d/ 目录中查找是否有服务的启动脚本,所以我们只需要做个软链接把源码包的启动脚本链接到 /etc/init.d/ 目录中,就能被 service 命令管理了。我把软链接文件起名为 apache ,不过注意这不是 RPM 包的 apache。

[root@centos rc.d]# service apache stop
# 虽然 RPM 包的 apache 被卸载,但是 service 命令也能够生效。 

4)、让源码包的 apache 服务能被 chkconfig 命令管理自启动

[root@localhost ~]# vim /etc/init.d/apache
在其中添加如下两行
# chkconfig: 2345 88 88
           启动级别  启动顺序   关闭顺序  #任意,不与其他服务冲突就行
# description:  apache  chkconfig script
   描述信息         #任意
[root@centos rc.d]# chkconfig --add apache  
# 让 chkconfig 命令能够管理源码包安装的 apache  
[root@centos rc.d]# chkconfig --list | grep apache apache 
[root@centos rc.d]# chkconfig --list |grep apache
apache         	0:off	1:off	2:on	3:on	4:on	5:on	6:off

此时,已经可以使用chkconfig,管理apache自启动,并且启动级别,就是我们所写的。

5)、让 ntsysv 命令可以管理源码包 apache
ntsysv 命令其实是和 chkconfig 命令使用同样的管理机制,也就是说 ntsysv 已经可以 进行源码包 apache 的自启动管理了。
服务自启动设置_服务器设置启动项

6)chkconfig 添加与删除服务

chkconfig [选项] [服务名] 选项:  
--add: 把服务加入 chkconfig 命令的管理  
--del: 把服务从 chkconfig 命令的管理中删除 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168419.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 深度学习 pytorch cifar10数据集训练「建议收藏」

    深度学习 pytorch cifar10数据集训练「建议收藏」1.加载数据集,并对数据集进行增强,类型转换官网cifar10数据集附链接:https://www.cs.toronto.edu/~kriz/cifar.html读取数据过程中,可以改变batch_size和num_workers来加快训练速度transform=transforms.Compose([#图像增强transforms.Resize(120),transforms.RandomHorizontalFlip(),

    2022年6月22日
    22
  • Ant Design A-table 表格 后端 排序问题

    Ant Design A-table 表格 后端 排序问题

    2020年11月9日
    285
  • radius认证服务器ip该怎么填_radius认证服务器拒绝原因

    radius认证服务器ip该怎么填_radius认证服务器拒绝原因1.AAA和Radius概述  AAA是验证授权和记账Authentication,Authorization,andAccounting的简称。它是运行于NAS上的客户端程序,它提供了一个用来对验证、授权和记账这三种安全功能进行配置的一致的框架。AAA的配置实际上是对网络安全的一种管理,这里的网络安全主要指访问控制,包括哪些用户可以访问网络服务器,具有访问权的用户可以得到哪些服务,如何

    2022年10月24日
    0
  • Ubuntu20.04的主题美化

    Ubuntu20.04的主题美化  在正式开始之前先放一下效果图,当然,这里的主题是模仿了mac,网上有各式各样的主题,可以根据自己的喜好来进行设置

    2022年9月15日
    0
  • DLL注入原理分析

    DLL注入原理分析所谓DLL注入就是将一个DLL放进某个进程的地址空间里,让它成为那个进程的一部分。要实现DLL注入,首先需要打开目标进程。1、附加到目标/远程进程hRemoteProcess=OpenProcess(PROCESS_CREATE_THREAD|//允许远程创建线程PROCESS_VM_OPERATION |//允许远程VM操作PROCESS_VM_WRITE, //允许…

    2022年5月16日
    43
  • Python 从菜鸟到大咖的必经之路「建议收藏」

    目录一、模块和包1.1模块的基础知识1.2模块的导入1.3使用第三方模块1.4包二、文件和目录操作2.1open()函数——打开文件并返回文件对象2.2文件操作的常用方法2.3应用三、面向对象3.1面向对象基础语法3.2初始化方法__init__3.3属性查找与绑定方法3.4案例3.4.1跑步案例3.4.2家具案例3.5私有属性3.6继承3.6.1面向对象的三大特性3.6.2单继承3.6.2.1继承的概念3.6.2.2继承的语法3.6.2.3方法的重写3.6.2.4

    2022年4月11日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号