VM 与Linux的安装

  • 按照教程视频一步步安装即可
  • 设置屏幕分辨率 默认1080*768
    • 虚拟机右上角 —-> 系统 —-> 首选项 —-> 显示

Linux目录结构

主要的结构:

  • /home
    • 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /etc
    • 所有的系统管理所需要的配置文件和子目录
  • /mnt
    • 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在 mnt 上,然后进入该目录就可以查看里的内容
  • /opt
    • 这是给主机额外安装软件所摆放的目录。比如你安装一个mysql 数据库则就可以放到这个目录下。默认是空的。
  • /usr
    • 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录
  • /root
    • 该目录为系统管理员,也称作超级权限者的用户主目录。

Linux 命令

  • 切换目录 cd
  • 新建文件 touch test.txt
  • 编辑文件 vi test.txt

一般模式

基础语法:

  • yy (功能描述:复制光标当前一行)
  • y数字y` (功能描述:复制一段(从第几行到第几行))
  • p (功能描述:箭头移动到目的行粘贴)
  • u (功能描述:撤销上一步
  • dd (功能描述:删除光标当前行)
  • d数字d (功能描述:删除光标(含)后多少行)
  • x (功能描述:删除一个字母,相当于del)
  • X (功能描述:删除一个字母,相当于Backspace)
  • yw (功能描述:复制一个词)
  • dw (功能描述:删除一个词)
  • shift+^ (功能描述:移动到行头
  • shift+$ (功能描述:移动到行尾
  • 1+shift+g (功能描述:移动到页头,数字)
  • shift+g (功能描述:移动到页尾
  • 数字N+shift+g (功能描述:移动到目标行

编辑模式

常用语法:

  • 进入编辑 模式
    • i 当前光标前
    • a 当前光标后
    • o 当前光标行的下一行
    • I 当前行最前
    • A 当前行最后
    • O 当前光标行的上一行
  • 退出编辑 ESC

指令模式

常用语法:

  • : 选项
    • set nu 显示行号
    • w 写入
    • q 退出
    • ! 感叹号强制执行
  • / 查找
    • 查找,/被查找词,n是查找下一个,shift+n是往上查找
  • 查找
    • 查找,/被查找词,n是查找下一个,shift+n是往上查找
  • :noh
    • 取消查找后的高亮显示
  • ZZ 保存退出
    • 没有修改文件直接退出,修改的文件保存退出

网络配置和系统管理操作

远程登录

  • 注册机信息保存(这个每次都不一样的)
  1. Name: ygeR
  2. Company: TEAM ZWT
  3. Serial Number: 03-97-205480
  4. Issue Date: 05-08-2019
  5. License Key: ADDPU9 JRZFYH CPE8GJ 1NN4MD ADXNYY UH53Z5 9FK9YW 9251D5
  • 安装SecureCRT
  • SecureCRT鼠标右键粘贴
  • SecureCRT中文乱码解决

常用基本命令(重要)

帮助命令

  • 帮助指令
    • man ls 功能描述:获得帮助信息
    • help cd 功能描述:获得shell内置命令的帮助信息
  • 常用快捷键
    • Ctrl + c 停止进程
    • Ctrl + l 清屏;彻底清屏是:reset
    • Ctrl + q 退出
    • 善于用tab键 — 提示(更重要的是可以防止敲错)
    • 上下键 — 查找执行过的命令
    • Ctrl + Alt Linux和Windows之间切换

文件目录类

  • cd 切换目录
    • 全称 cd:Change Directory 切换路径
    • cd 绝对路径 —- 切换路径
    • cd 相对路径 —- 切换路径
    • cd ~或者cd —- 回到自己的家目录
    • cd - —- 回到上一次所在目录
    • cd .. —- 回到当前目录的上一级目录
    • cd -P —- 跳转到实际物理路径,而非快捷方式路径
  • pwd —- 显示当前工作目录的绝对路径
  • 全称 pwd: print working directory 打印工作目录
  • ls —- 列出目录内容
    • 全称 ls:list 列出目录内容
    • ls -a 全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
    • ls -l 长数据串列出,包含文件的属性与权限等等数据;(常用)
      • 简写 ll
  • mkdir 创建一个新目录
    • mkdir: Make directory 建立目录
    • mkdir 目录名 只能创建一级目录
    • mkdir -p 目录名 创建多级目录
  • rmdir 删除一个空的目录
    • rmdir: Remove directory 删除目录
    • rmdir 目录名 删除一个空的目录
  • touch 创建空文件
  • touch 文件名 创建空文件(不校验后缀,但一般要加上)
  • cp 复制文件或目录
    • cp [选项] source dest(功能描述:复制source文件到dest文件)
    • cp -r sourceFolder targetFolder 递归复制整个文件夹
    • \cp 强制覆盖不提示的方法
  • rm 移除文件或目录
    • rm -r deleteFile 递归删除目录中所有内容
    • rm -rf deleteFile 强制执行删除操作,而不提示用于进行确认(慎用 强制删除而且不提示)
    • rm -v deleteFile 显示指令的详细执行过程
  • mv 移动文件与目录(剪切)或重命名
    • mv oldNameFile newNameFile (功能描述:重命名)
    • mv /temp/movefile /targetFolder (功能描述:递归移动文件)
  • cat 查看文件内容,从第一行开始显示
    • cat fileName 要查看的文件的内容
    • cat [选项] 要查看的文件
      • -n 显示所有行的行号,包括空行
      • -A 相当于 -vET 的整合选项,可以列出一些特殊字符而不是空白而已;
      • -b 列出行号,仅针对非空白做行号显示,空白行不标行号
      • -E 将结尾的断行字节$显示出来
      • -T[Tab]按键以^|显示出来
      • -v 列出一些看不出来的特殊字符
    • 经验技巧:一般查看比较小的文件,一屏幕能显示全的。
  • tac 查看文件内容,从最后一行开始显示
  • more 文件内容分屏查看器
    • more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容
    • more fileName 查看文件内容,一屏
    • 选项:
      • Enter 按键 代表向下翻『一行』
      • 空格键(space) 按键 代表向下翻『一页』
      • Ctrl + F 按键 向下滚动一屏
      • Ctrl + B 按键 返回上一屏
      • q 按键 代表立刻离开 more ,不再显示该文件内容
      • = 按键 输出当前行的行号
      • :f 按键 输出文件名和当前行的行号
  • less 分屏显示文件内容
    • less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
    • less fileName 查看文件内容,一屏
    • 选项:
      • 空格键(space) 按键 代表向下翻『一页』
      • pageDown 按键 向下翻动一页
      • pageUp 按键 向上翻动一页
      • /字符串 向下搜寻『字串』的功能;n:向下查找;N:向上查找;
      • ?字符串 向上搜寻『字串』的功能;n:向下查找;N:向上查找;
      • q 按键 代表离开less这个程序
  • head 显示文件头部内容
  • head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
  • head 文件名 查看文件头10行内容
  • head -n 5 文件名 查看文件头5行内容,5可以是任意行数
  • tail 输出文件尾部内容
    • tail 文件 查看文件尾部10行内容
    • tail -n 5 文件 查看文件尾部5行内容,5可以是任意行数
    • tail -f 文件 实时追踪该文档的所有更新
  • > 输出重定向和 >> 追加
    • ls -l > 文件名 列表的内容写入文件a.txt中(覆盖写
    • ls -al >> 文件名 列表的内容追加到文件aa.txt的末尾
    • cat 文件1 > 文件2 将文件1的内容覆盖到文件2
  • echo 输出内容到控制台
    • echo [选项] [输出内容]
    • echo 要显示的内容 >> 存储内容的文件 将要显示的内容存储到文件中
      • echo 变量 显示变量的值
    • 选项说明:
      • -e 支持反斜线控制的字符转换
      • \\ 输出反斜线\本身
      • \n 换行符
      • \t 制表符,也就是Tab键
  • ln 软连接
    • 软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径
    • ln -s [原文件或目录] [软链接名] 给原文件创建一个软链接
    • 删除软链接:
      • rm -rf 软链接名: 而不是 rm -rf 软链接名/
      • 查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向
  • history 查看已经执行过历史命令
    • history 查看已经执行过历史命令

时间日期类

  • date [OPTION]... [+FORMAT 基本语法
  • 显示当前时间
    • date 当前时间
    • date +%Y 显示当前年份
    • date +%m 显示当前月份
    • date +%d 显示当前是哪一天
    • date +%D 显示当前年月日(05/12/19)
    • date +%H 显示当前的小时
    • date +%M 显示当前的小时分钟
    • date +%S 显示当前的秒数
    • date +%s 显示当前举例1970年1月1日的秒数
    • date "+%Y-%m-%d %H:%M:%S" 显示年月日时分秒
  • 显示非当前时间
    • date -d '1 days ago' 当前时间前一天
    • date -d yesterday 当前时间前一天
    • date -d next-day 当前时间后一天(明天)
    • date -d 'next monday' 当前时间后的下一个周一
  • 设置系统时间
    • date -s 字符串时间
    • 举例:date -s "2019-05-11 20:52:18"
  • cal 查看日历
    • cal [选项] 不加选项,显示本月日历
    • cal 2019 显示这一年的日历
    • cal -3 显示当前月为中心前后三个月的日历

用户管理命令

  • useradd 添加新用户
    • useradd 用户名 添加新用户
    • useradd -g 组名 用户名 添加新用户到某个组
  • passwd 设置用户密码
    • passwd 用户名 设置用户密码
  • id 查看用户是否存在
  • id 用户名 查看用户是否存在
  • su 切换用户
  • su: swith user 切换用户
  • su 用户名称 切换用户,只能获得用户的执行权限,不能获得环境变量
  • su - 用户名称 切换到用户并获得该用户的环境变量及执行权限
  • exit 退出登录用户到root用户
  • userdel 删除用户
    • userdel 用户名 删除用户但保存用户主目录
    • userdel -r 用户名 用户和用户主目录,都删除
  • who 查看登录用户信息
    • who 看当前有哪些用户登录到了本台机器上
    • whoami 显示自身用户名称
    • who am i 显示登录用户的用户名(以谁的账号作为登录账号的,登录的用户)
  • sudo 设置普通用户具有root权限

    1. 1.添加atguigu用户,并对其设置密码。
    2. [root@hadoop101 ~]#useradd atguigu
    3. [root@hadoop101 ~]#passwd atguigu
    4. 2.修改配置文件
    5. [root@hadoop101 ~]#vi /etc/sudoers
    6. 修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:
    7. 跳转指令 91 + shift + g
    8. ## Allow root to run any commands anywhere
    9. root ALL=(ALL) ALL
    10. atguigu ALL=(ALL) ALL
    11. 或者配置成采用sudo命令时,不需要输入密码
    12. ## Allow root to run any commands anywhere
    13. root ALL=(ALL) ALL
    14. atguigu ALL=(ALL) NOPASSWD:ALL
    15. 修改完毕,现在可以用atguigu帐号登录,然后用命令 sudo ,即可获得root权限进行操作。
    • 操作经验
      • 要对普通用户提升权限的时候
      • 第一步:将用户添加的配置文件中,如上提示
      • 第二步:执行增删改命令前先要输入 sudo
    • 演示添加文件夹
      1. // 在/opt中创建software文件夹(以atguigu账号)
      2. su atguigu
      3. cd /opt/
      4. sudo mkdir software
      5. // 创建成功啦 ll 可以查看
  • cat /etc/passwd 查看创建了哪些用户

  • usermod 修改用户
    • usermod -g 用户组 用户名 修改用户的初始登录组,给定的组必须存在。默认组id是1。

用户组管理命令

  • 每个用户都有一个用户组, 系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
  • 用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
  • cat /etc/group 查看创建了哪些组
  • groupadd 组名 新增组
  • groupdel 组名 删除组
  • groupmod 修改组
    • groupmod -n 新组名 老组名
    • -n <新组名> 指定工作组的新组名
  • usermod -g 用户组 用户名 把用户添加到某个用户组中

文件权限类

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用 ll 或者 ls -l 命令来显示一个文件的属性以及文件所属的用户和组。

  • 文件属性 ```

    举例

    -rw-r—r—. 1 root root 9154 5月 4 19:22 install.log.syslog lrwxrwxrwx. 1 root root 18 5月 12 00:26 marlon -> /wuzhishan/marlon/ drwxr-xr-x. 3 root root 4096 5月 12 00:25 wuzhishan

说明: 0 首位表示类型 —- 在Linux中第一个字符代表这个文件是目录、文件或链接文件等等

  1. - 代表文件
  2. l 代表软连接(link file
  3. d 代表目录(文件夹)

第1-3位 确定属主(该文件的所有者)拥有该文件的权限 —-User 第4-6位 确定属组(所有者的同组用户)拥有该文件的权限 —-Group 第7-9位 确定其他用户拥有该文件的权限 —-Other

1 1 3 表示:如果是文件夹代表其下的子目录个数 如果是文件代表其中的硬链接数目 如果查看到是文件:链接数指的是硬链接个数。创建硬链接方法 创建硬链接方法 ln [原文件] [目标文件]

  1. 如果查看的是文件夹:链接数指的是子文件夹个数

root 第一个代表所属用户 root 第二个代表所属用户组

  1. - `rxw` 作用文件和目录的不同解释
  2. - 作用到文件:

[ r ] 代表可读(read): 可以读取,查看 [ w ] 代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件. [ x ] 代表可执行(execute):可以被系统执行

  1. - 作用到目录:

[ r ] 代表可读(read): 可以读取,ls查看目录内容 [ w ] 代表可写(write): 可以修改,目录内创建+删除+重命名目录 [ x ] 代表可执行(execute):可以进入该目录

  1. - 如果没有权限,就会出现减号`[ - ]`而已
  2. - `chmod` 改变权限
  3. - 第一种方式变更权限
  4. - `chmod [{ugoa}{+-=}{rwx}] 文件或目录`
  5. - 第二种方式变更权限
  6. - `chmod [mode=421] [文件或目录]`
  7. - 经验技巧

u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和) r=4 w=2 x=1 rwx=4+2+1=7

  1. - `chown` 改变所有者
  2. - `chown [选项] [最终用户] [文件或目录]` 改变文件或者目录的所有者
  3. - 选项 `-R` 递归操作
  4. - `chown -R atguigu:atguigu wuzhishan/` (用户:[用户组])
  5. - `chgrp` 改变所属组
  6. - `chgrp [最终用户组] [文件或目录]` 改变文件或者目录的所属组
  7. - `chgrp root wuzhishan/`
  8. 哈哈哈你说什么
  9. <a name="26679843"></a>
  10. ### 磁盘分区类
  11. - `df` **查看磁盘空间使用情况**
  12. - `df: disk free` 空余硬盘
  13. - 列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况
  14. - `df 选项` **列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况**
  15. - 选项 `-h` 以人们较易阅读的 `GBytes, MBytes, KBytes`等格式自行显示;
  16. - `df -h`
  17. - `fdisk` 查看分区
  18. - `fdisk -l` 列出所有信息
  19. - 该命令必须在root用户下才能使用
  20. - `mount/umount` 挂载/卸载
  21. - 挂载设备
  22. - `mount [-t vfstype] [-o options] device dir` 挂载设备
  23. - `-t vfstype`
  24. - 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。
  25. - 常用类型有:

光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Windows 9x fat32文件系统:vfat Windows NT ntfs文件系统:ntfs Mount Windows文件网络共享:smbfs UNIX(LINUX) 文件网络共享:nfs

  1. - `-o options`
  2. - 主要用来描述设备或档案的挂接方式。
  3. - 常用的参数有:

loop:用来把一个文件当成硬盘分区挂接上系统 ro:采用只读方式挂接设备 rw:采用读写方式挂接设备 iocharset:指定访问文件系统所用字符集

  1. - `device`
  2. - 要挂接(mount)的设备
  3. - `dir`
  4. - 设备在系统上的挂接点(mount point)
  5. - `umount 设备文件名或挂载点` 卸载设备
  6. <a name="2d9ee05f"></a>
  7. ### 搜索查找类
  8. - `find` 查找文件或者目录
  9. - find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
  10. - `find [搜索范围] [选项]`
  11. - 选项说明:

-name<查询方式> 按照指定的文件名查找模式查找文件 -user<用户名> 查找属于指定用户名所有文件 -size<文件大小> 按照指定的文件大小查找文件。

  1. - 实例操作
  • 按文件名:根据名称查找/目录下的filename.txt文件。 [root@hadoop101 ~]# find xiyou/ -name *.txt
  • 按拥有者:查找/opt目录下,用户名称为-user的文件 [root@hadoop101 ~]# find xiyou/ -user atguigu
  • 按文件大小:在/home目录下查找大于200M的文件(+n 大于 -n小于 n等于) [root@hadoop101 ~]find /home -size +204800 ```
  • locate 快速定位文件路径

    • locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
    • locate 搜索文件
    • 经验技巧:

      1. 由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
    • 案例实操:

      1. 查询文件夹
      2. [root@hadoop101 ~]# updatedb
      3. [root@hadoop101 ~]# locate tmp
  • grep 过滤查找及“|”管道符

    • 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
    • 基本语法:

      • grep 选项 查找内容 源文件
      • 选项说明
        1. -n 显示匹配行及行号
    • 案例实操: ``` 查找某文件在第几行

[root@hadoop101 ~]# ls | grep -n test

  1. <a name="93e63c17"></a>
  2. ### 压缩和解压类
  3. - `gzip/gunzip` 压缩
  4. - 基本语法:

gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件) gunzip 文件.gz (功能描述:解压缩文件命令)

  1. - 经验技巧
  2. - **只能压缩文件不能压缩目录***
  3. - **不保留原来的文件**
  4. - 案例实操

(1)gzip压缩 [root@hadoop101 ~]# gzip houge.txt [root@hadoop101 ~]# ls houge.txt.gz (2)gunzip解压缩文件 [root@hadoop101 ~]# gunzip houge.txt.gz [root@hadoop101 ~]# ls houge.txt

  1. - `zip/unzip` 压缩
  2. - 基本语法:

zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令) unzip [选项] XXX.zip (功能描述:解压缩文件)

  1. - 选项说明:

zip选项 -r 压缩目录 unzip选项 -d<目录> 指定解压后文件的存放目录

  1. - 经验技巧
  2. - zip 压缩命令在 `window/linux` 都通用,**可以压缩目录且保留源文件**。
  3. - 实例操作

(1)压缩 1.txt 和 2.txt,压缩后的名称为mypackage.zip [root@hadoop101 opt]# touch bailongma.txt [root@hadoop101 ~]# zip houma.zip houge.txt bailongma.txt adding: houge.txt (stored 0%) adding: bailongma.txt (stored 0%) [root@hadoop101 opt]# ls houge.txt bailongma.txt houma.zip

(2)解压 mypackage.zip [root@hadoop101 ~]# unzip houma.zip Archive: houma.zip extracting: houge.txt
extracting: bailongma.txt
[root@hadoop101 ~]# ls houge.txt bailongma.txt houma.zip

(3)解压mypackage.zip到指定目录-d [root@hadoop101 ~]# unzip houma.zip -d /opt [root@hadoop101 ~]# ls /opt/

  1. - `tar` 打包
  2. - 基本语法
  3. - `tar [选项] XXX.tar.gz 将要打包进去的内容`
  4. - 功能描述:打包目录,压缩后的文件格式 `.tar.gz`
  5. - **重要:解压命令一定要掌握**
  6. - 选项说明

-c 产生.tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 -x 解包.tar文件

  1. - **解压**指令 `tar -zxvf houma.tar.gz -C 解压到地址`
  2. - **压缩**指令 `tar -zcvf 1.txt 2.txt`
  3. - 实例操作

压缩多个文件 [root@hadoop101 opt]# tar -zcvf houma.tar.gz houge.txt bailongma.txt houge.txt bailongma.txt [root@hadoop101 opt]# ls houma.tar.gz houge.txt bailongma.txt 压缩目录 [root@hadoop101 ~]# tar -zcvf xiyou.tar.gz xiyou/ xiyou/ xiyou/mingjie/ xiyou/dssz/ xiyou/dssz/houge.txt

  1. 解压到当前目录<br />[root[@hadoop101 ](/hadoop101 ) ~]# tar -zxvf houma.tar.gz <br />解压到指定目录<br />[root[@hadoop101 ](/hadoop101 ) ~]# tar -zxvf xiyou.tar.gz -C /opt <br />[root[@hadoop101 ](/hadoop101 ) ~]# ll /opt/
  2. <a name="5cf75d75"></a>
  3. ### 进程线程类
  4. 进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
  5. - `ps` 查看当前系统进程状态
  6. - `ps: process status 进程状态`
  7. - 基本语法

ps aux | grep xxx (功能描述:查看系统中所有进程) ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)

-a 选择所有进程 -u 显示所有用户的所有进程 -x 显示没有终端的进程

  1. - 功能说明:

ps aux显示信息说明 USER:该进程是由哪个用户产生的 PID:进程的ID号 %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源; %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源; VSZ:该进程占用虚拟内存的大小,单位KB; RSS:该进程占用实际物理内存的大小,单位KB; TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。 STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台 START:该进程的启动时间 TIME:该进程占用CPU的运算时间,注意不是系统时间 COMMAND:产生此进程的命令名

ps -ef 显示信息说明 UID:用户ID PID:进程ID PPID:父进程ID C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高 STIME:进程启动的时间 TTY:完整的终端名称 TIME:CPU时间 CMD:启动进程所用的命令和参数

  1. - 经验技巧
  2. - 如果想查看进程的CPU占用率和内存占用率,可以使用 `ps aux`
  3. - 如果想查看进程的父进程ID,可以使用 `ps ef`
  4. - `top` 查看系统健康状态
  5. - 基本用法:

top [选项] 选项说明: -d 秒数 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令: -i 使top不显示任何闲置或者僵死进程。 -p 通过指定监控进程ID来仅仅监控某个进程的状态。

  1. - 基本操作:

P 以CPU使用率排序,默认就是此项 M 以内存的使用率排序 N 以PID排序 q 退出top

执行上述命令后,可以按P、M、N按键对查询出的进程结果进行排序。

  1. - 查询结果字段解释:

第一行信息为任务队列信息 top: 12:26:46
系统当前时间 up 1 day, 13:32
系统的运行时间,本机已经运行1天13小时32分钟 2 users
当前登录了两个用户 load average: 0.00, 0.00, 0.00
系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。

第二行为进程信息 Tasks:
95 total 系统中的进程总数 1 running 正在运行的进程数 94 sleeping 睡眠的进程 0 stopped 正在停止的进程 0 zombie 僵尸进程。如果不是0,需要手工检查僵尸进程

第三行为CPU信息 Cpu(s):
0.1%us 用户模式占用的CPU百分比 0.1%sy 系统模式占用的CPU百分比 0.0%ni 改变过优先级的用户进程占用的CPU百分比 99.7%id 空闲CPU的CPU百分比 0.1%wa 等待输入/输出的进程的占用CPU百分比 0.0%hi 硬中断请求服务占用的CPU百分比 0.1%si 软中断请求服务占用的CPU百分比 0.0%st st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。

第四行为物理内存信息 Mem:
625344k total 物理内存的总量,单位KB 571504k used 已经使用的物理内存数量 53840k free 空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了 65800k buffers 作为缓冲的内存数量

第五行为交换分区(swap)信息 Swap:
524280k total 交换分区(虚拟内存)的总大小 0k used 已经使用的交互分区的大小 524280k free 空闲交换分区的大小 409280k cached 作为缓存的交互分区的大小

  1. - `pstree` 查看进程树

基本语法 pstree [选项] 选项说明 -p 显示进程的PID -u 显示进程的所属用户

  1. - `kill` 终止进程
  2. - 基本语法

kill [选项] 进程号 通过进程号杀死进程 killall 进程名称 通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用

选项说明 -9 表示强迫进程立即停止

  1. - 案例实操

杀死浏览器进程 [root@hadoop101 桌面]# kill -9 5102 通过进程名称杀死进程 [root@hadoop101 桌面]# killall firefox

  1. - `netstat` 显示网络统计信息和端口占用情况
  2. - 基本语法

netstat -anp | grep 进程号 (功能描述:查看该进程网络信息) netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)

选项说明 -n 拒绝显示别名,能显示数字的全部转化成数字 -l 仅列出有在listen(监听)的服务状态 -p 表示显示哪个进程在调用

  1. - 实例说明

通过进程号查看该进程的网络信息 [root@hadoop101~]# netstat -anp | grep 火狐浏览器进程号

查看某端口号是否被占用 [root@hadoop101~]# netstat -nlp | grep 20670

  1. <a name="602406c0"></a>
  2. ### 后台服务管理类
  3. - service 后台服务管理
  4. - 查看指定服务的状态 `service network status`
  5. - 停止指定服务 `service network stop`
  6. - 启动指定服务 `service network start`
  7. - 重启指定服务 `service network restart`
  8. - 查看系统中所有的后台服务 `service --status-all`
  9. - `chkconfig` 设置后台服务的自启配置
  10. - 查看所有服务器的自启配置 `chkconfig`
  11. - 关掉指定服务的自动启动 `chkconfig iptables off`
  12. - 开启指定服务的自动启动 `chkconfig iptables on`
  13. <a name="073aeae3"></a>
  14. ### crond 系统定时任务
  15. - `crond 服务管理`

重新启动crond服务 [root@hadoop101 ~]# service crond restart

  1. - `crontab 定时任务设置`
  2. - 基本语法

基本语法 crontab [选项] 选项说明 -e 编辑crontab定时任务 -l 查询crontab任务 -r 删除当前用户所有的crontab任务

  1. - 参数说明

[root@hadoop101 ~]# crontab -e

(1)进入crontab编辑界面。会打开vim编辑你的工作。

  1. * * * * * 执行的任务
  2. 项目 含义 范围
  3. 第一个“*” 一小时当中的第几分钟 0-59
  4. 第二个“*” 一天当中的第几小时 0-23
  5. 第三个“*” 一个月当中的第几天 1-31
  6. 第四个“*” 一年当中的第几月 1-12
  7. 第五个“*” 一周当中的星期几 0-707都代表星期日)

(2)特殊符号 特殊符号 含义

  1. * 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
  2. 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的80分,120分,160分都执行一次命令
  3. - 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨50分执行命令
  4. */n 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令

(3)特定时间执行命令 时间 含义 45 22 命令 在22点45分执行命令 0 17 1 命令 每周1 的17点0分执行命令 0 5 1,15 命令 每月1号和15号的凌晨5点0分执行命令 40 4 1-5 命令 每周一到周五的凌晨4点40分执行命令 /10 4 命令 每天的凌晨4点,每隔10分钟执行一次命令 0 0 1,15 1 命令 每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。

  1. - 案例实操

每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字 /1 * /bin/echo ”11” >> /root/bailongma.txt

  1. <a name="6eb29e65"></a>
  2. ## 软件包管理
  3. <a name="RPM"></a>
  4. ### RPM
  5. - 概述
  6. RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe
  7. 是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。

RPM包的名称格式 Apache-1.3.23-11.i386.rpm

  1. - apache 软件名称
  2. - 1.3.23-11”软件的版本号,主版本和此版本
  3. - i386”是软件所运行的硬件平台,Intel 32位微处理器的统称
  4. - rpm”文件扩展名,代表RPM
  1. - RPM查询命令 `rpm -qa`
  2. - 基本语法<br />`rpm -qa 查询所安装的所有rpm软件包`
  3. - 经验技巧<br />由于软件包比较多,一般都会采取过滤。<br />`rpm -qa | grep rpm软件包`
  4. - 案例实操

查询firefox软件安装情况 [root@hadoop101 Packages]# rpm -qa |grep firefox firefox-45.0.1-1.el6.centos.x86_64

  1. - RPM卸载命令 `rpm -e`
  2. - 基本语法

rpm -e RPM软件包
rpm -e —nodeps 软件包

选项说明 -e 卸载软件包 —nodeps 卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。

  1. - 案例实操

卸载firefox软件 [root@hadoop101 Packages]# rpm -e firefox-45.0.1-1.el6.centos.x86_64

  1. - RPM安装命令 `rpm -ivh`
  2. - 基本语法

rpm -ivh RPM包全名 选项说明 -i -i=install,安装 -v -v=verbose,显示详细信息 -h -h=hash,进度条 —nodeps —nodeps,不检测依赖进度

  1. - 案例实操(查看当节教程 安装之前要先挂载)

安装firefox软件 [root@hadoop101 Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm warning: firefox-45.0.1-1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing… ########################################### [100%] 1:firefox ########################################### [100%]

  1. <a name="9f4fac93"></a>
  2. ## YUM仓库配置
  3. <a name="1d73ab04"></a>
  4. ### YUM概述
  5. YUM(全称为 Yellow dog Updater, Modified)是一个在`Fedora和RedHat以及CentOS中的Shell前端`**软件包管理器**。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以**自动处理依赖性关系**,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
  6. <a name="7cb37844"></a>
  7. ### 为什么要制作本地YUM源
  8. - YUM源虽然可以简化我们在Linux上安装软件的过程,但是生产环境通常无法上网,不能连接外网的YUM源,所有无法使用yum命令安装软件。为了在内网中也可以使用yum安装相关的软件,就要配置yum源。
  9. - YUM源其实就是一个保存了多个RPM包的服务器,可以通过httpd的方式来检索、下载并安装相关的RPM包。
  10. <a name="5d6ebe2b"></a>
  11. ### YUM的常用命令
  12. - 基本语法:

基本语法 yum [选项] [参数] 选项说明 -y 对所有提问都回答“yes”

  1. 参数说明
  2. install 安装rpm软件包
  3. update 更新rpm软件包
  4. check-update 检查是否有可用的更新rpm软件包
  5. remove 删除指定的rpm软件包
  6. list 显示软件包信息
  7. clean 清理yum过期的缓存
  8. deplist 显示yum软件包的所有依赖关系
  1. - 常用命令
  2. - `yum install -y rpm包` 安装httpd并确认安装
  3. - `yum list` 列出所有可用的packagepackage
  4. - `yum clean all` 清除所有缓存数据
  5. - `yum deplist rpm包` 列出一个包的所有依赖包
  6. - `yum remove rpm包` 删除httpd
  7. - 案例实操实操

采用yum方式安装firefox [root@hadoop101 ~]# yum -y install firefox.x86_64

  1. <a name="3be409d7"></a>
  2. ### 关联网络YUM源
  3. - 默认的系统YUM源,需要连接国外apache网站,网速比较慢,可以修改关联的网络YUM源为国内镜像的网站,比如网易163。
  4. - 前期文件准备
  5. - 前提条件linux系统必须可以联网
  6. - 在Linux环境中访问该网络地址:[http://mirrors.163.com/.help/centos.html](http://mirrors.163.com/.help/centos.html),在使用说明中点击CentOS6 ---> 再点击保存
  7. - 打开文件地址

打开终端 在打开的终端中输入如下命令,就可以找到文件的保存位置。 [root@hadoop101 下载]$ pwd /root/下载

  1. - **替换本地yum文件:**

把下载的文件移动到/etc/yum.repos.d/目录 [root@hadoop101 下载]# mv CentOS6-Base-163.repo /etc/yum.repos.d/

进入到/etc/yum.repos.d/目录(ll 查看这下边有哪些文件) [root@hadoop101 yum.repos.d]# pwd /etc/yum.repos.d

备份一下原来的CentOS-Base.repo [root@hadoop101 yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

用CentOS6-Base-163.repo替换(修改名字)CentOS-Base.repo [root@hadoop101 yum.repos.d]# mv CentOS6-Base-163.repo CentOS-Base.repo

安装命令 [root@hadoop101 yum.repos.d]# yum clean all [root@hadoop101 yum.repos.d]# yum makecache yum makecache就是把服务器的包信息下载到本地电脑缓存起来 [root@hadoop101 yum.repos.d]# yum install -y createrepo 安装createrepo命令,制作本地yum源 查看createrepo版本。# createrepo —version

文件以树状结构查看 [root@hadoop101 yum.repos.d]# yum install -y tree [root@hadoop101 yum.repos.d]# tree
当前目录下的文件结构就以tree的方式展示出来,作用类似于 ll ,相对更加直观

测试 [root@hadoop101 yum.repos.d]# yum list | grep firefox [root@hadoop101 ~]# yum -y install firefox.x86_64

  1. <a name="2ac0b39c"></a>
  2. ### 制作本地YUM源(单机版)
  3. - 准备版本

CentOS-6.8-x86_64-bin-DVD1.iso

// 个人笔记本地址 C:\CentOS

  1. - 操作流程

虚拟机设置 虚拟机右键 —》 设置 —》硬件 —》CD/DVD(IDE) 选择ISO镜像文件(M) 同时 设备状态 勾选 已连接 和 启动时连接(O)

挂载(挂载之前先检查是否挂载了ios镜像) —— 取消挂载 umount /mnt/cdrom/ mkdir /mnt/cdrom/(注意文件的路径地址) cd /mnt/cdrom/ (此时 ll 查看内部为空0) [root@hadoop101 mnt]# mount -t iso9660 /dev/cdrom /mnt/cdrom/

  1. # (注释)挂载成功的提示 mount: block device /dev/sr0 is write-protected, mounting read-only
  2. cd cdrom/ 进入目录检查是否挂载成功(检查有没有Packages/包)

将挂载文件中的Packages包内容都拷贝到目录/var/www/html/Packages/中 直接把Packages文件夹复制到 /var/www/html/文件夹下就可以 [root@hadoop101 cdrom]# cp -r Packages/ /var/www/html/ 等待,文件比较大,时间比较长的。。。。。

  1. 进入这个目录检查一下是否复制成功了
  2. [root@hadoop101 cdrom]# cd /var/www/html/
  3. [root@hadoop101 html]# ll

创建仓库 createrepo ./ (Packages目录下) [root@hadoop101 yum.repos.d]# cd /var/www/html/Packages/ [root@hadoop101 Packages]# createrepo ./ 等待时间有点久的(创建索引的过程) (等待信息 Spawning worker 0 with 3206 pkgs)

修改配置指向地址(进入到/etc/yum.repos.d/目录) [root@hadoop101 html]# cd /etc/yum.repos.d/ [root@hadoop101 html]# ll

  1. 备份一下修改的CentOS-Base.repo (这个使用的是163镜像目前)
  2. [root@hadoop101 yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.net
  3. 复制原来的CentOS-Base.repo.bak 改名字 CentOS-Base.repo
  4. [root@hadoop101 yum.repos.d]# cp CentOS-Base.repo.bak CentOS-Base.repo
  5. 修改CentOS-Base.repo 中的指向地址
  6. [root@hadoop101 yum.repos.d]# vi CentOS-Base.repo
  7. 要修改的信息
  8. [Base]
  9. name=CentOS-Local
  10. mirrorlist 这个注释掉 (最前边加#)
  11. baserurl打开修改指向
  12. baseurl=file:///var/www/html/Packages
  13. gpgcheck=0 (原来为1,修改为0,不进行校验)
  14. enabled=1 (#增加改行,使能)
  15. 保存上述信心 :wq

清除yum缓存 [root@hadoop101 yum.repos.d]# yum clean all [root@hadoop101 yum.repos.d]# yum makecache

列出可用的yum仓库(查看) [root@hadoop101 yum.repos.d]# yum repolist

  1. - 操作实例

// 卸载firefox并重装 进入 Packages [root@hadoop101 yum.repos.d]# cd /var/www/html/Packages 查看firefox [root@hadoop101 Packages]# rpm -qa |grep firefox firefox-45.0.1-1.el6.centos.x86_64 卸载firefox [root@hadoop101 Packages]# rpm -e firefox-45.0.1-1.el6.centos.x86_64 重装firefox [root@hadoop101 Packages]# yum install -y firefox-45.0.1-1.el6.centos.x86_64

  1. - 安装软件(对外提供yum源)

[root@hadoop101 桌面]# cd /etc/yum.repos.d/ (非必须的!) [root@hadoop101 yum.repos.d]# yum install -y httpd

开启服务

[root@hadoop101 桌面]# service httpd start

关闭服务

[root@hadoop101 桌面]# service httpd stop

  1. <a name="b2d5fc5f"></a>
  2. ### 制作其主机可以访问的YUM源(多机版本)
  3. - 1 . 让其他需要安装rpm包的服务器指向本机的这个YUM源,准备一台新的服务器(最便捷的是克隆当前虚拟机)
  4. - 删除或者备份原来的YUM源配置

切换目录

[root@hadoop102 /]# cd /etc/yum.repos.d/

备份

  1. [root@hadoop102 yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.local

复制

  1. [root@hadoop102 yum.repos.d]# cp CentOS-Base.repo.bak CentOS-Base.repo
  1. - 编辑 CentOS-Base.repo

[root@hadoop102 yum.repos.d]# vi CentOS-Base.repo

  1. [base]
  2. name=CentOS-hadoop101(修改一下)
  3. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
  4. baseurl=http://192.168.38.101/Packages(指向地址)

退出保存

  1. - 指令(前提101服务器要开着)

经验:检查其他主机的yum源是否开发 浏览器打开访问 http://192.168.38.101/Packages

指向yum指令

清除缓存

[root@hadoop102 yum.repos.d]# yum clean all [root@hadoop102 yum.repos.d]# yum makecache

列出可用的yum仓库(查看)

[root@hadoop102 yum.repos.d]# yum repolist

安装httpd(好像是快一些)

[root@hadoop102 yum.repos.d]# yum install -y httpd

  1. <a name="57303bcd"></a>
  2. ## 克隆虚拟机
  3. - 1.关闭要被克隆的虚拟机
  4. - 2.找到克隆选项

点击虚拟机,右键 —-》 点击管理 —-》点击克隆

欢迎页,下一步,选择“虚拟机中的当前的状态”(默认选中的),下一步,选择“设置创建完整克隆”,下一步,设置克隆的虚拟机名称和存储位置(修改虚拟机的名称和自定义虚拟机的位置)。点击完成,等待正在克隆。

点击关闭,完成克隆。

  1. - 3 . 修改克隆后虚拟机的ip

第一步: [root@hadoop101 /]# vim /etc/udev/rules.d/70-persistent-net.rules 进入如下页面,删除eth0该行; 将eth1修改为eth0,同时复制物理ip地址 最后的NAME 改为 eth0 00:0c:29:6f:9a:15

第二步:修改IP地址 [root@hadoop101 /]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 (1)把复制的物理ip地址更新 HWADDR=00:0c:29:6f:9a:15 #MAC地址 (2)修改成你想要的ip IPADDR=192.168.38.102 #IP地址

第三步:修改主机名称

  1. 修改linux的主机映射文件(hosts文件) (1)通过hostname命令查看
    1. [root@hadoop101 /]# hostname
    (2)修改主机名。通过编辑/etc/sysconfig/network文件
    1. [root@hadoop101 /]# vi /etc/sysconfig/network
    2. HOSTNAME= hadoop102
    3. 注意:主机名称不要有“_”下划线
    (3)保存退出。 (4)打开/etc/hosts (这一步可以省去的。。。。。)
    1. [root@hadoop101 /]# vim /etc/hosts
    2. 添加如下内容
    3. 192.168.38.100 hadoop100
    4. 192.168.38.101 hadoop101
    5. 192.168.38.102 hadoop102
    6. 192.168.38.103 hadoop103
    7. 192.168.38.104 hadoop104
    8. 192.168.38.105 hadoop105
    9. 192.168.38.106 hadoop106
    10. 192.168.38.107 hadoop107
    11. 192.168.38.108 hadoop108
    (5)并重启设备,重启后,查看主机名,已经修改成功 ```
  • 重新启动服务器。
    • 检查是否配置正确,网络是否可用。

补充知识Nginx

nginx学习笔记

  1. https://jspang.com/posts/2018/10/05/nginx.html

用yum进行安装必要程序

如果你Linux用的很熟练的话,我想这些程序你一定已经用yum安装过了,但是如果你还不熟悉Linux,你可以直接用yum进行安装就可以了。(然后自己百度一下这些东西的用处,这里不做过多的介绍了,只要照做就可以了)

  1. yum -y install gcc gcc-c++ autoconf pcre-devel make automake
  2. yum -y install wget httpd-tools vim

查看Nginx的安装目录

在使用yum安装完Nginx后,需要知道系统中多了那些文件,它们都安装到了那里。可以使用下面的命令进行查看:

  1. rpm -ql nginx
  2. // rpm 是linux的rpm包管理工具,-q 代表询问模式,-l 代表返回列表,这样我们就可以找到nginx的所有安装位置了

nginx文件配置目录

  1. cd /etc/nginx
  2. vim nginx.conf

nginx.conf文件解读**

  1. #运行用户,默认即是nginx,可以不进行设置
  2. user nginx;
  3. #Nginx进程,一般设置为和CPU核数一样
  4. worker_processes 1;
  5. #错误日志存放目录
  6. error_log /var/log/nginx/error.log warn;
  7. #进程pid存放位置
  8. pid /var/run/nginx.pid;
  9. events {
  10. worker_connections 1024; # 单个后台进程的最大并发数
  11. }
  12. http {
  13. include /etc/nginx/mime.types; #文件扩展名与类型映射表
  14. default_type application/octet-stream; #默认文件类型
  15. #设置日志模式
  16. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  17. '$status $body_bytes_sent "$http_referer" '
  18. '"$http_user_agent" "$http_x_forwarded_for"';
  19. access_log /var/log/nginx/access.log main; #nginx访问日志存放位置
  20. sendfile on; #开启高效传输模式
  21. #tcp_nopush on; #减少网络报文段的数量
  22. keepalive_timeout 65; #保持连接的时间,也叫超时时间
  23. #gzip on; #开启gzip压缩
  24. include /etc/nginx/conf.d/*.conf; #包含的子配置项位置和文件

default.conf 配置项讲解

上述nginx.conf最后一个子文件的配置项,那我们打开这个include子文件配置项看一下里边都有些什么内容。

进入conf.d目录,然后使用vim default.conf进行查看

  1. server {
  2. listen 80; #配置监听端口
  3. server_name localhost; //配置域名
  4. #charset koi8-r;
  5. #access_log /var/log/nginx/host.access.log main;
  6. location / {
  7. root /usr/share/nginx/html; #服务默认启动目录
  8. index index.html index.htm; #默认访问文件
  9. }
  10. #error_page 404 /404.html; # 配置404页面
  11. # redirect server error pages to the static page /50x.html
  12. #
  13. error_page 500 502 503 504 /50x.html; #错误状态码的显示页面,配置后需要重启
  14. location = /50x.html {
  15. root /usr/share/nginx/html;
  16. }
  17. # proxy the PHP scripts to Apache listening on 127.0.0.1:80
  18. #
  19. #location ~ \.php$ {
  20. # proxy_pass http://127.0.0.1;
  21. #}
  22. # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  23. #
  24. #location ~ \.php$ {
  25. # root html;
  26. # fastcgi_pass 127.0.0.1:9000;
  27. # fastcgi_index index.php;
  28. # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
  29. # include fastcgi_params;
  30. #}
  31. # deny access to .htaccess files, if Apache's document root
  32. # concurs with nginx's one
  33. #
  34. #location ~ /\.ht {
  35. # deny all;
  36. #}
  37. }

Nginx服务启动、停止、重启

  • 启动Nginx服务 ```

    nginx直接启动

    在CentOS7.4版本里(低版本是不行的),是可以直接直接使用nginx启动服务的。 nginx

使用systemctl命令启动

  1. 还可以使用个Linux的命令进行启动,我一般都是采用这种方法进行使用。因为这种方法无论启动什么服务,都是一样的,只是换一下服务的名字(不用增加额外的记忆点)。
  2. systemctl start nginx.service

输入命令后,没有任何提示,那我们如何知道Nginx服务已经启动了哪?可以使用Linux的组合命令,进行查询服务的运行状况。

  1. ps aux | grep nginx
  1. - **停止Nginx服务**

立即停止服务

  1. nginx -s stop
  2. 这种方法比较强硬,无论进程是否在工作,都直接停止进程。

从容停止服务

  1. nginx -s quit
  2. 这种方法较stop相比就比较温和一些了,需要进程完成当前工作后再停止。

killall 方法杀死进程

  1. killall nginx
  2. 这种方法也是比较野蛮的,我们直接杀死进程,但是在上面使用没有效果时,我们用这种方法还是比较好的。

systemctl 停止

  1. systemctl stop nginx.service
  1. - **重启nginx服务**

有时候我们需要重启Nginx服务,这时候可以使用下面的命令。

  1. systemctl restart nginx.service
  1. - **重新载入配置文件**

在重新编写或者修改Nginx的配置文件后,都需要作一下重新载入,这时候可以用Nginx给的命令。

  1. nginx -s reload
  1. - **查看端口号**

在默认情况下,Nginx启动后会监听80端口,从而提供HTTP访问,如果80端口已经被占用则会启动失败。我么可以使用netstat -tlnp命令查看端口号的占用情况。

  1. netstat -tlnp

```

自定义错误页和访问设置