Linux软件服务管理

时间:2021-03-29 16:25:10

学习该课程之前先学习linux的软件安装管理

1、linux的运行级别有下面几种类型

 

Linux软件服务管理

 在后面的服务启动管理之中会被使用到

Linux软件服务管理

[root@weiyuan httpd-2.4.20]# runlevel
N 5

 

 如果使用 init 0 就会让电脑关机,但是不一定可靠,最好使用shutdown -r now命令

linux的服务管理分为下面的两种形式

Linux软件服务管理

基于rpm默认安装的的服务管理

基于源代码安装的服务管理

Linux软件服务管理

[weiyuan@weiyuan 下载]$ chkconfig --list 是不能查看源码包的安装的服务的
Linux软件服务管理

 

 

 Linux软件服务管理

[weiyuan@weiyuan 下载]$ netstat -tlunp
(No info could be read for "-p": geteuid()=500 but you should be root.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:10000               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:36763               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 :::111                      :::*                        LISTEN      -                   
tcp        0      0 :::59892                    :::*                        LISTEN      -                   
tcp        0      0 :::22                       :::*                        LISTEN      -                   
tcp        0      0 ::1:631                     :::*                        LISTEN      -                   
tcp        0      0 ::1:25                      :::*                        LISTEN      -                   
udp        0      0 0.0.0.0:10000               0.0.0.0:*                               -                   
udp        0      0 0.0.0.0:685                 0.0.0.0:*                               -                   
udp        0      0 0.0.0.0:958                 0.0.0.0:*                               -                   
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               -                   
udp        0      0 0.0.0.0:34886               0.0.0.0:*                               -                   
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               -                   
udp        0      0 0.0.0.0:631                 0.0.0.0:*                               -                   
udp        0      0 :::50442                    :::*                                    -                   
udp        0      0 :::958                      :::*                                    -                   
udp        0      0 :::111                      :::*                                    -                   
[weiyuan@weiyuan 下载]$

 

接下来重点讲解下rpm包安装的服务如何启动和重启电脑之后自启动

rpm安装的软件服务可以使用下面的命令来进行启动

Linux软件服务管理

[weiyuan@weiyuan 下载]$ cd /etc/rc.d/init.d/
[weiyuan@weiyuan init.d]$ ls
abrt-ccpp         dnsmasq       lvm2-monitor    postfix      single
abrtd             firstboot     mdmonitor       psacct       smartd
abrt-oops         functions     messagebus      quota_nld    snmpd
acpid             haldaemon     netconsole      rdisc        snmptrapd
atd               halt          netfs           restorecond  spice-vdagentd
auditd            htcacheclean  network         rngd         sshd
autofs            httpd         NetworkManager  rpcbind      sssd
blk-availability  ip6tables     nfs             rpcgssd      sysstat
bluetooth         iptables      nfslock         rpcidmapd    udev-post
certmonger        irqbalance    ntpd            rpcsvcgssd   wdaemon
cpuspeed          kdump         ntpdate         rsyslog      winbind
crond             killall       oddjobd         sandbox      wpa_supplicant
cups              lvm2-lvmetad  portreserve     saslauthd    ypbind
[weiyuan@weiyuan init.d]$ 

 

[weiyuan@weiyuan init.d]$ cd /etc/init.d/
[weiyuan@weiyuan init.d]$ ls
abrt-ccpp         dnsmasq       lvm2-monitor    postfix      single
abrtd             firstboot     mdmonitor       psacct       smartd
abrt-oops         functions     messagebus      quota_nld    snmpd
acpid             haldaemon     netconsole      rdisc        snmptrapd
atd               halt          netfs           restorecond  spice-vdagentd
auditd            htcacheclean  network         rngd         sshd
autofs            httpd         NetworkManager  rpcbind      sssd
blk-availability  ip6tables     nfs             rpcgssd      sysstat
bluetooth         iptables      nfslock         rpcidmapd    udev-post
certmonger        irqbalance    ntpd            rpcsvcgssd   wdaemon
cpuspeed          kdump         ntpdate         rsyslog      winbind
crond             killall       oddjobd         sandbox      wpa_supplicant
cups              lvm2-lvmetad  portreserve     saslauthd    ypbind
[weiyuan@weiyuan init.d]$

 

我们可以看到

/etc/rc.d/init.d/ 和/etc/init.d/ 内容都是一样,使用了软连接的方式我们启动httpd apache服务
使用命令
[root@weiyuan init.d]# /etc/rc.d/init.d/httpd start
正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using 183.221.250.11 for ServerName
                                                           [确定]
[root@weiyuan init.d]# /etc/init.d/httpd start
正在启动 httpd:

 

两种方式启动httpd是一样的
第三种方式也可以使用,但是主要service不是linxu的常用命令,只有redhat相关的操作系统采可以使用service启动服务,需要注意,所以最好情况下使用上面的绝对路径来启动服务,使用serive命令启动服务的时候
实际上执行的也是 /etc/rc.d/init.d/路径下的文件,源码包的默认情况下都是安装在/usr/local/下的,所以service是无法启动源码包安装的,如果要让service启动源码包的,例如httpd源码包安装在
/usr/local/apache2/bin/apactrl1 start启动,如果将/usr/local/apache2/bin/apactrl1复制到/etc/rc.d/init.d/路径下,也可以使用service管理源码包
 
[root@weiyuan init.d]# service httpd start
正在启动 httpd:

查看服务运行的状态
[root@weiyuan init.d]# service httpd status
httpd (pid  2361) 正在运行...
[root@weiyuan init.d]#