《前端运维》一、Linux基础--11服务
首先服务的概念,对于linux服务器来说,其中大多数的软件都算是服务,比如nginx、mysql、Jenkins等等。下面我们就来学习一下linux中有关服务的一些内容。
一、服务简介和分类
1、运行级别
运行的级别有以下几种分类:
| 运行级别 | 含义 |
|---|---|
| 0 | 关机 |
| 1 | 单用户,类似于Window的安全模式,主要用于系统修复 |
| 2 | 不完全多用户,类似于字符界面,但不包含NFS(Linux和Window进行文件共享)服务 |
| 3 | 完整的命令行模式,就是标准的字符界面 |
| 4 | 系统保留未使用 |
| 5 | 图形界面 |
| 6 | 重启 |
- runlevel,查看当前的运行级别。
- init [运行级别],切换运行级别。
- 设置默认运行级别,vi /etc/inittab然后添加,id:3:initdefault:。即可设置默认运行级别。
2、服务的分类
首先,系统开启的服务越少,那么服务器就会更加稳定和安全。服务的安装方式不同,启动的方式也有差异。通常服务的管理方式有两种:
RPM包安装的服务,由软件包作者指定安装位置,独立的服务,绝大多数服务都是独立运行在内存中的,可以直接响应客户端的请求源码包安装的服务,由我们用户决定安装位置
然后,我们可以通过不同的方式查看包安装的位置:
- 查看RPM包安装的位置,可以通过chkconfig --list命令列出所有服务的情况,当然chkconfig的用处可不仅仅如此。
- 源码包的安装,默认自定义的安装位置为
/usr/local,可以查看该文件获取源码包的信息。
3、服务与端口
- ps -aux,查看系统中正在运行的进程
- cat /etc/services,查看常见服务端口
- netstat -tulnp,查看系统中监听的端口
- -t,列出tcp数据
- -u,列出udp数据
- -l,列出正在监听的网络服务
- -n,用端口号来显示服务,而不是服务名
- -p,列出该服务的进程id
二、RPM包服务管理
RMP 是 LINUX 下的一种软件的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。
RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。就是类似于node中的npm咯。
rpm的常用命令如下:
- rpm -ivh [rpm包名],安装软件,其中
i表示安装install,v表示显示安装过程verbose,h表示显示进度。 - rpm -Uvh [rpm包名],升级软件,U表示update。
- rpm -e [rpm包名],反安装。
- rpm -qpi [rpm包名],查询软件包的详细信息。
- rpm -qf [rpm包名],查询某个文件是属于哪个rpm包的。
- rpm -qpl [rpm包名],查该软件包会向系统里面写入哪些文件。
另外要说一下的是repo这个东西,
- repo文件是yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用
- 服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
- 客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。
我们可以通过下面的命令来查看repo相关的信息:
cat /etc/yum.conf
/etc/yum.repos.d
/etc/yum.repos.d/nginx.repo
另外,我们来看看RPM包相关的一些文件:
| 文件 | 含义 |
|---|---|
| /etc | 配置文件位置 |
| /etc/init.d | 启动脚本位置 |
| /etc/sysconfig | 初始化环境配置文件位置 |
| /var/lib | 服务产生的数据放在这里 |
| /var/log | 日志 |
最后,
- systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动
- systemd对应的进程管理命令是
systemctl
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum info nginx
yum install -y nginx
systemctl start nginx.service
netstat -ltun | grep 80
curl http://localhost
三、源码包服务管理
我们要知道源码包安装的时候需要使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不一样,要通过阅读源码包安装说明的方式来查看启动的方法。
下面我们来看下,通过源码包的方式,如何安装nginx。
首先,我们要安装一下源码包服务的一些依赖:
yum install gcc gcc-c++ perl -y
成功之后呢,会提示一个:

就安装成功啦。然后,我们来建个文件夹,用来存储稍后我们要下载下来的源码包:

我是在根目录建的,理论上讲,随便你保存在哪里都行,但是要注意各根文件的具体意义,不要放的太随便,然后,我们进入到刚才我们创建的文件夹中。
然后我们通过命令,安装以下四个源码包:
- PCRE,wget https://sourceforge.net/projects/pcre/files/pcre/8.44/pcre-8.44.tar.gz。
- zlib,wge thttps://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz。
- openssl,wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2n.tar.gz。
- nginx,wget https://nginx.org/download/nginx-1.10.3.tar.gz。
当然,以上只是具体的版本,其他的版本可以去对应的官网找,这里就不多说了。
下载完后,我们的目录里面是这样的:

然后,我们要把这些压缩包全部解压:
tar -zxvf nginx-1.10.3.tar.gz
tar -zxvf openssl-1.0.2n.tar.gz
tar -zxvf pcre-8.44.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
挨个执行吧。解压之后呢,我们的目录就是这样的了:

首先,我们进入到nginx-1.10.1的源码目录里,然后执行下面的配置代码:
./configure --prefix=/usr/local/nginx \
--pid-path=/usr/local/nginx/nginx.pid \
--error-log-path=/usr/local/nginx/error.log \
--http-log-path=/usr/local/nginx/access.log \
--with-http_ssl_module \
--with-mail --with-mail_ssl_module \
--with-stream --with-threads \
--user=comex --group=comexgroup \
--with-pcre=/nginx-package/pcre-8.44 \
--with-zlib=/nginx-package/zlib-1.2.11 \
--with-openssl=/nginx-package/openssl-1.0.2n
然后通过make命令,把c或c++的代码,编译成我们可以使用的样子。要编译一段时间。
安装完成后执行nginx命令,发现找不到nginx命令,这是因为我们没有配置相关的命令,需要我们手动去配置。那我们来搞一下吧:
后续需要配置对应的命令,并授权给用户,就可以启动nginx了。
《前端运维》一、Linux基础--11服务的更多相关文章
- 运维之linux基础知识(一)
运维之linux基础知识(一) 1.GUI:Graphic User Interface 图形用户界面 2.CLI:Command line Interface 命令行界面 3 dll:Dynamic ...
- 运维之Linux基础(二)
运维之Linux基础(二) 1. file 命令基期用法 2. 文件系统 Linux的文件系统结构是树状结构,所有的文件都在/root跟目录下 /boot:系统启动相关的文件, 如:内核.initrd ...
- 运维之Linux基础知识(三)
运维之Linux基础知识(三) 1. 查看文本 cat tac more less head tail 1.1 cat 连接并显示文件 cat -n:在显示的时候,将每一行编号 -E:显示结束符$ - ...
- IT运维的五大基础知识
IT运维的五大基础知识 | 浏览:331 | 更新:2014-09-25 11:36 IT运维对于很多企业都很重要,接下来运维的一些基础知识天天客服IT运维总监龙少文,就给大家介绍下IT运维的基础知识 ...
- 自动化运维工具-Ansible基础
目录 自动化运维工具-Ansible基础 什么是Ansible 同类型软件对比 Ansible的功能及优点 Ansible的架构 Ansible的执行流程 安装Ansible ansible配置文件 ...
- 【Linux 运维】Linux 目录
目录 [Linux 运维]Centos7初始化网络配置 [Linux 运维]linux系统修改主机名 [Linux 运维]linux系统关机.重启.注销命令 [Linux 运维]linux系统查看版本 ...
- 运维 07 Linux系统基础优化及常用命令
Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令 ...
- 论Linux运维的一些基础安全知识和简单办法
不知不觉本人来北京也已经第三个年头了,从一个Linux小小鸟,开始,2012年我参加了第一份工作,其实现在想想其实我是幸运的,本来求学的时候,就没好好的学Linux,我认为有Cisco知识从上wind ...
- 北京智和信通IT运维管理系统二次开发服务提供商
随着云计算.大数据.物联网.移动互联网.人工智能.5G等高新技术的快速发展,数据中心及网络基础设施呈现出井喷式的增长模式,对设备商来说,多.快.好.省的实现定制化网络管理开发,可极大的扩充设备适用范围 ...
- 《Python自动化运维之路》 业务服务监控(二)
文件内容差异对比方法 使用diffie模块实现文件内容差异对比.dmib作为 Python的标准库模块,无需安装,作用是对比文本之间的差异,且支持输出可读性比较强的HTML文档,与 Linux下的di ...
随机推荐
- FFmpeg开发笔记(五十四)使用EasyPusher实现移动端的RTSP直播
之前的文章<利用RTMP协议构建电脑与手机的直播Demo>介绍了如何使用RTMP Streamer实现完整的RTMP直播流程,另一篇文章<利用SRT协议构建手机APP的直播Demo ...
- Vue3——Pinia+Pinia持久化
Pinia 安装 Pinia npm install pinia 创建一个 pinia 实例 (根 store) 并将其传递给应用 // store/index.ts // 仓库大仓库 import ...
- Java实现随机抽奖的方法有哪些
在Java中实现随机抽奖的方法,通常我们会使用java.util.Random类来生成随机数,然后基于这些随机数来选择中奖者.以下将给出几种常见的随机抽奖实现方式,包括从数组中抽取.从列表中抽取以及基 ...
- 五行八字在线排盘api接口免费版_json数据格式奥顺互联内部接口
「八字在线排盘」谁都想知道自己一生中的事业.财运.婚姻.功名.健康.性格.流年运程将是怎样,通过八字排盘,四柱八字排盘会有你想知道的答案.一个人出生的年月时天干地支的排列组合(即八字)就是命.不过仅凭 ...
- ChallengeMobile
解题思路 获取到输入的字符串保存到s,调用Jformat方法对s进行验证,返回true则代表输入字符串正确反之错误. Jformat方法分析: 首先看到使用了LoadData加载了"ming ...
- problemmatcher 引用无效: $esbuild-watch vscode插件报错
vscode 插件 esbuild类型提示报错 最近在上手开发vscode插件,demo阶段就遇到了一个小问题. 搜索引擎没有特别好的回答, 记录一下,以供查漏补缺. vscode插件开发 做为一统前 ...
- Linux的Terminal调用不出来,一直转圈圈
后来发现是环境变量的问题 [oracle@ora19rac01 ~]$ cat .bash_profile # .bash_profile # Get the aliases and function ...
- 在 K8s 中快速部署使用 GitLab 并构建 DevOps 项目
作者:张海立,KubeSphere 社区 Ambassador.Talented Speaker,社区用户委员会上海站副站长 原文链接:https://kubesphere.com.cn/blogs/ ...
- PHP将整形数字转为Excel下标
1.背景 这两天在接到一个需求,需要导出一个班级所有学员的所有成绩,在最后excel表处理的时候发现导出的列超过了26列,后面会出现AA之类的下标,所以写了一个函数把数字整型转为Excel对应的下标. ...
- C#/.NET/.NET Core技术前沿周刊 | 第 10 期(2024年10.14-10.20)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...