Linux软件服务管理
学习该课程之前先学习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]#
接下来我们讲解rpm包如何实现重启电脑之后服务能够自动启动
有下面的三种方式

[root@weiyuan weiyuan]# chkconfig --level 2345 httpd on
[root@weiyuan weiyuan]# chkconfig --list | grep httpd
httpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@weiyuan weiyuan]#
chkconfig --level 2345 httpd on这个命令重启电脑之后就能够保证httpd能够自启动
chkconfig 默认只对rpm安装的服务有效果,对二进制安装包没有效果
第二种方式:电脑重启之后每次都会读取/etc/rc.d/rc.local里面的任何命令,所以我们可以把启动httpd的命令放在该文件下面
[root@weiyuan rc.d]# vim rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff. touch /var/lock/subsys/local
/etc/init.d/httpd start
注意第一种方法和第二种方法只能二选一,否则httpd要被自启动两次,最好选择第二种方法,第二种方法对源代码安装的服务自启动是有效的 第三种:
[root@weiyuan rc.d]# vim ntsysv 会弹出图形化窗口开启rpm对应的服务,这种方式只有redhat的rpm有效,其他操作系统无效一定要注意

上面讲解了rpm包的服务管理,下面我们重点分析下源码包的服务管理的方法

上面这几个命令默认情况是不能管理源代码的安装服务的,默认管理的是rpm包的,因为rpm包默认安装在/etc/init.d目录下,而源码包不是安装在/etc/init.d目录下

[root@weiyuan rc.d]# /usr/local/apache2/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 183.221.250.11. Set the 'ServerName' directive globally to suppress this message 上面这个命令就是源码包启动服务的命令
如何让源码包服务自启动了
接下来我们如何让service命令能够启动源码包的服务了,因为我们知道service 启动服务的时候,是去查找/etc/init.d下面的文件进行启动,我们可以把/usr/local/apache2/bin/
apachectl 复制到/etc/init.d目录下,也可以使用下面的软连接
[root@weiyuan rc.d]# ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache
[root@weiyuan rc.d]# service apache start
Linux软件服务管理的更多相关文章
- linux的服务管理(centos6和Centos7)和网络管理(网卡配置),计划服务cron
服务和网络 管理 init ifcfg ens33 1.服务: Linux系统中提供的功能,统称为服务,如:at服务.cron服务.web服务.FTP服务.sshd服务等. 服务是由已经在运行的进程 ...
- Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)
apt list *python* Nosee123关注赞赏支持 Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件 ...
- Linux软件安装管理之——dpkg与apt-*详解
Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件安装管理之--源码安装详解> - -<Linux软件安装管 ...
- Linux软件安装管理
1.软件包管理简介 1.软件包分类 源码包 脚本安装包 二进制包(RPM包.系统默认包) 2.源码包 源码包的优点是: 开源,如果有足够的能力,可以修改源代码 可以自由选择所需要的功能 软件设计编译安 ...
- Linux软件安装管理 - CentOS (三)
1. 软件包管理简介 2. rpm命令管理(Redhat Package Manager) 3. yum在线安装 4. 源码包管理 4.1 源码包和RPM包的区别 4.1.1 区别 安装前:概念上的区 ...
- Linux系列教程(二十三)——Linux的服务管理
前面我们讲解Linux软件包管理之源码包.脚本安装包时,我们介绍了rpm包和源码包由于安装位置的不同,会对服务的启动造成影响,具体是什么,本篇博客我们来详细介绍. 1.Linux服务管理总览 我们可以 ...
- Linux之服务管理
一.计划任务 1) Crontab简介 1.Crontab是一个用于设置周期性被执行任务的工具: 2.被周期性执行的任务我们称为Cron Job: 3.周期性执行的任务列表我们称为Cron Table ...
- Linux软件安装管理 - CentOS (二)
1. 软件包管理简介 2. rpm命令管理(Redhat Package Manager) 3. yum在线安装 3.1 yum源文件 vi /etc/yum.repos.d/CentOS-Base. ...
- Linux学习 -- 服务管理
1 服务分类 服务管理内容 启动 自启动 查询已安装的服务 RPM包安装的服务 自启动的 chkconfig --list 2345中如果是启用,代表下次开机会自启动 正在运行的服务 p ...
随机推荐
- 设计Weekday类 代码参考
#include <iostream> using namespace std; class Weekday { private: int num; public: void SetDay ...
- 01 . Memcached简介及部署
Memcached简介 memcached是一个自由开源,高性能,分布式内存对象存储系统 基于内存的key-valued存储,用来存储小块的任意数据(字符串,对象) 他是一个简洁的key-value存 ...
- 「MoreThanJava」一文了解二进制和CPU工作原理
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- Rocket - decode - Simplify
https://mp.weixin.qq.com/s/YWXYNaRU-DbLOMxpzF2bpQ 介绍Simplify如何简化解码逻辑. 1. 使用 Simplify在DecodeL ...
- Java实现 LeetCode 378 有序矩阵中第K小的元素
378. 有序矩阵中第K小的元素 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素. 请注意,它是排序后的第k小元素,而不是第k个元素. 示例: matrix = [ ...
- Java实现 LeetCode 134 加油站
134. 加油站 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升 ...
- Java实现第九届蓝桥杯耐摔指数
耐摔指数 题目描述 x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机. 各大厂商也就纷纷推出各种耐摔型手机.x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后 ...
- java实现第九届蓝桥杯整理玩具
整理玩具 小明有一套玩具,一共包含NxM个部件.这些部件摆放在一个包含NxM个小格子的玩具盒中,每个小格子中恰好摆放一个部件. 每一个部件上标记有一个0~9的整数,有可能有多个部件标记相同的整数. 小 ...
- python——公司年会抽奖小程序
张三科技有限公司有300名员工,开年会抽奖,奖项如下一等奖3名 : 泰国五日游二等奖6名 :iphone手机三等奖30名 :避孕套一盒规则:1.一共抽3次,第一次抽3等奖,第二次抽2等奖,第三次压轴抽 ...
- Django如何上传图片并对上传图片进行访问
通过一个示例的完整演示过程,来学习django如何上传图片,以及对于media文件夹中的上传图片进行请求: 1.配置settings.py MEDIA_URL = '/media/' MEDIA_RO ...


