学习该课程之前先学习linux的软件安装管理
1、linux的运行级别有下面几种类型
在后面的服务启动管理之中会被使用到
[root@weiyuan httpd-2.4.20]# runlevel
N 5
如果使用 init 0 就会让电脑关机,但是不一定可靠,最好使用shutdown -r now命令
linux的服务管理分为下面的两种形式
基于rpm默认安装的的服务管理
基于源代码安装的服务管理
[weiyuan@weiyuan 下载]$ chkconfig --list 是不能查看源码包的安装的服务的
[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安装的软件服务可以使用下面的命令来进行启动
[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]#