关于linux服务的管理方法
来源:互联网 发布:五五开拉黑淘宝权 编辑:程序博客网 时间:2024/05/21 06:29
linux作为服务器,最重要的一点就是服务器的优化,优化的过程就是让只需要的服务启动,不需要的服务关闭,这样就能尽可能的减少了服务器系统负载。就像windows下的服务管理一样,在运行中输入service.msc
, 就会打开一个本地服务的管理页面,如下
我们可以看到,每一个服务都有自己的属性,例如 :描述、 状态、启动类型、登录地址;在linux中,同样描述服务的也需要这些属性。
首先在这里先区分一下两个概念:启动和自启动
启动:系统当前本地服务并没有开启,当执行这条命令时才开启。自启动:系统开机时自动启动。
了解了这两个概念,接下来,就围绕这两个作区分来对linux服务管理进行分类详解:
在linux中,一个服务的运行级别分为6级,其中0级为立即关机,6级为自动重启,其实0级(init 0 )就相当于halt命令,6级(init 6)相当于 reboot命令,3级为纯字符界面(也就是命令行),5级为界面模式。
运行级别的原理:1。在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)2。在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别3。rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。4。系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件 对于以K开头的文件,系统将终止对应的服务 对于以S开头的文件,系统将启动对应的服务5。查看运行级别用:runlevel6。进入其它运行级别用:init N7。另外init0为关机,init 6为重启系统
查看已经安装的服务:
chkconfig --list 查看所有的服务启动级别以及状态chkconfig --list httpdchkconfig –list |grep httpd
这里的级别只是系统开机启动时候,根据系统所指定的级别来运行了。
源码包:
在 /usr/local
下看到的服务包
ps aux 查看系统运行的进程
netstat -tulnp(看启动)根据端口看开启了哪些服务 t tcp l listen u udp n 端口号而不是服务名 p pid
linux中标准的启动只有一种,就是根据绝对路径去寻找相应的服务启动,rpm包启动路径存放在 /etc/init.d/目录下,在该目录下,能够看到所有的rpm包启动名称(以下只是举例):
使用 vi /etc/init.d/httpd
打开文件,我们看到一些 关于 start stop restart...
的一些函数 ,当使用/etc/init.d/httpd start
就会将这些命令当做函数变量传递进来,执行方法。
echo $"Usage: $prog {start|stop|restart|condrestart|try-restart|force-reload|reload|status|fullstatus|graceful|help|configtest}"
以上,所有在 /etc/init.d/
目录下可看到的服务,均可使用 service [服务名] start | stop | restart
执行服务。
说明:使用 /etc/init.d/httpd status
看到的状态
与chkconfig --list httpd
看到的启动级别不一样
[root@bogon init.d]# /etc/init.d/httpd statushttpd 已停
[root@bogon init.d]# chkconfig --list httpdhttpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭chkconfig命令看到的 是下次系统启动时,服务将要执行的级别。
接下来,开机自启动:
开机自启动,有两种方式:一种是使用chkconfig
开启服务级别
[root@bogon ~]# chkconfig --level 2345 httpd on[root@bogon ~]# chkconfig --list | grep httpdhttpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭这样,linux下次启动时,httpd服务就会跟随启动。即使这样,当前系统下,httpd服务也是没有开启的。不信,请看:[root@bogon ~]# service httpd statushttpd 已停
当然,还有第二种开机自启服务的方法,通过修改配置文件,当我们打开/etc/rc.d/rc.local文件时,我们看到:
在这个文件中的命令,在系统启动的时候,首先会读取并执行(以前,这个文件是十分重要的,通过查看注释可以发现),自启动的方式,只需在文件中添加可执行的命令 ,比如/etc/init.d/httpd start
,当系统启动时,就会启动该服务。
通过 service httpd status 可以看到:
[root@bogon ~]# service httpd statushttpd (pid 2327) 正在运行...
但并不是说,chkconfig 查看的启动级别就是启用,可能还是关闭的,比如,我当前的,如下:
[root@bogon ~]# chkconfig --list | grep httpd httpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
但是以及可以访问80端口:
如果访问不了,请关闭linux防火墙,或者查看
linux下安装tomcat以及开放端口8080
还有一个命令 ntsysv
,ntsysv
命令执行后会进入一个图像化的界面,其本质和 chkconfig --level 2345 on/off
上一样的。
源码包的自启动
源码包的自启动
比较简单的,是通过 追加 /etc/rc.d/rc.local
文件,中写入 手动启动的命令
。
第二种,是通过ln -s 软链接
的方式,将源码包服务链接到 /etc/init.d/目录下,这样,就可以使用 redhat特有的命令(也就是service [服务] start|stop)去执行服务:
但是,让源码包能被chkconfig命令
与ntsysv命令管理自启动
稍微复杂,需要实现如图的步骤。
linux基本命令:点这里
linux最小服务以及每个服务的作用:点这里
- 关于linux服务的管理方法
- Linux的服务管理
- linux 服务的管理命令
- Linux学习笔记-----Linux服务管理----RPM服务管理---基于xinetd服务的服务管理
- Linux服务管理-rpm的 xinet管理
- Linux服务管理-源码包的管理
- Linux服务管理/rpm的独立服务管理
- Window环境的服务管理方法总结
- Linux的服务端口的分类、管理
- linux添加服务的方法
- 关于linux的进程管理
- 关于linux内存的管理
- NetSnake的Linux服务管理实践
- NetSnake的Linux服务管理实践
- linux CVS服务的用户管理
- linux 服务的启动和管理
- linux 下的系统服务管理
- Linux操作系统的服务管理笔记
- 如何使用腾讯云快速开发一款 AR 应用
- UVA 10129 Play on Words 欧拉回路(dfs)
- STM32 FSMC 详解
- java注解详解和自定义注解
- 从setPhoneState的调用过程中学习C++版Binder的用法
- 关于linux服务的管理方法
- hdu 5900 QSC and Master 区间dp
- Oracle自学笔记
- 解决ScrollView中嵌套EditText无法滑动的问题
- [Mahout]--SVD Recommender
- 设置Tomcat的UTF-8编码
- 第三周 项目4 顺序表应用
- 如何获取Android设备唯一识别码
- hdoj-2084-数塔