Linux基础命令(二)

Linux基础

1 网络管理

1.1 网卡命名

1.1.1 传统网卡命名机制

传统命名:
以太网eth[0,1,2,…]
wlan[0,1,2,…]

1.1.2 回归传统命名

//修改网卡配置文件
[root@syb ~]# cd /etc/sysconfig/network-scripts/
[root@syb network-scripts]# ls
ifcfg-ens160
[root@syb network-scripts]# mv ifcfg-ens160 ifcfg-eth0
[root@syb network-scripts]# vim ifcfg-eth0 
TYPE="Ethernet"
BOOTPROTO="static"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR=192.168.200.152
PREFIX=24
GATEWAY=192.168.200.2
DNS1=114.114.114.114
/编辑/etc/default/grub配置文件,在以GRUB_CMDLINE_LINUX开头的行内rhgb的前面加上net.ifnames=0 biosdevname=0 
[root@syb ~]# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap net.ifnames=0 biosdevname=0 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
//为grub2生成其配置文件
[root@syb ~]# grub2-mkconfig -o /etc/grub2.cfg
Generating grub configuration file ...
done
//重启系统
[root@syb ~]# reboot


1.2 网络管理常用常用命令

1.2.1 ifconfig命令

ifconfig命令,查看当前处于活动状态的所有网络接口(网卡)的信息,也可以临时修改网络接口(网卡)的配置。

//查看当前处于活动状态的所有网络接口
[root@syb ~]# ifconfig 
eth0: flags=4163  mtu 1500
        inet 192.168.200.152  netmask 255.255.255.0  broadcast 192.168.200.255
        inet6 fe80::20c:29ff:fe0e:69ba  prefixlen 64  scopeid 0x20
        ether 00:0c:29:0e:69:ba  txqueuelen 1000  (Ethernet)
        RX packets 4449  bytes 369986 (361.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6693  bytes 1392503 (1.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

//仅查看eth0网卡状态
[root@syb ~]# ifconfig  eth0
eth0: flags=4163  mtu 1500
        inet 192.168.200.152  netmask 255.255.255.0  broadcast 192.168.200.255
        inet6 fe80::20c:29ff:fe0e:69ba  prefixlen 64  scopeid 0x20
        ether 00:0c:29:0e:69:ba  txqueuelen 1000  (Ethernet)
        RX packets 5892  bytes 488710 (477.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8900  bytes 1841929 (1.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

//关闭网卡
[root@syb ~]# ifconfig lo down
[root@syb ~]# ifconfig 
eth0: flags=4163  mtu 1500
        inet 192.168.200.152  netmask 255.255.255.0  broadcast 192.168.200.255
        inet6 fe80::20c:29ff:fe0e:69ba  prefixlen 64  scopeid 0x20
        ether 00:0c:29:0e:69:ba  txqueuelen 1000  (Ethernet)
        RX packets 6789  bytes 562242 (549.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10255  bytes 2104639 (2.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

//开启网卡
[root@syb ~]# ifconfig lo up
[root@syb ~]# ifconfig 
eth0: flags=4163  mtu 1500
        inet 192.168.200.152  netmask 255.255.255.0  broadcast 192.168.200.255
        inet6 fe80::20c:29ff:fe0e:69ba  prefixlen 64  scopeid 0x20
        ether 00:0c:29:0e:69:ba  txqueuelen 1000  (Ethernet)
        RX packets 7325  bytes 606810 (592.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11036  bytes 2260053 (2.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

//查看所有网卡状态信息, 包括禁用和启用
[root@syb ~]# ifconfig -a
eth0: flags=4163  mtu 1500
        inet 192.168.200.152  netmask 255.255.255.0  broadcast 192.168.200.255
        inet6 fe80::20c:29ff:fe0e:69ba  prefixlen 64  scopeid 0x20
        ether 00:0c:29:0e:69:ba  txqueuelen 1000  (Ethernet)
        RX packets 8617  bytes 713569 (696.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 12990  bytes 2644421 (2.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

1.2.2 ip命令

ip命令,查看所有网络接口的信息,也可临时修改网卡配置。

//语法:ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT:

link 网络设备

addr 协议地址(IPv4/IPv6)

route 路由表

OPTIONS

-s 查看详细信息

COMMAND

show 显示信息

set 设置

add 添加

del 删除

ip link show
//查看网络设备属性
[root@syb ~]# ip link show
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:  mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:0e:69:ba brd ff:ff:ff:ff:ff:ff

//显示报文统计信息
[root@syb ~]# ip -s link show
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast   
    0          0        0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    0          0        0       0       0       0       
2: eth0:  mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:0e:69:ba brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    1714673    20728    0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    6316469    31376    0       0       0       0     
**ip link set **
//启用或禁用网络设备
[root@syb ~]# ip link set lo down
[root@syb ~]# ip link set lo up
ip addr show
//查看网络接口协议地址(IPv4/IPv6)信息
[root@syb ~]# ip addr show
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:0e:69:ba brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.152/24 brd 192.168.200.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe0e:69ba/64 scope link 
       valid_lft forever preferred_lft forever
ip addr add
//给网卡添加IP地址
[root@syb ~]# ip addr add 192.168.200.153/24 dev eth0
[root@syb ~]# ip addr show
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:0e:69:ba brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.152/24 brd 192.168.200.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet 192.168.200.153/24 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe0e:69ba/64 scope link 
       valid_lft forever preferred_lft forever
ip addr del
//删除网卡的IP地址
[root@syb ~]# ip addr del 192.168.200.153/24 dev eth0
[root@syb ~]# ip addr show
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:0e:69:ba brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.152/24 brd 192.168.200.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe0e:69ba/64 scope link 
       valid_lft forever preferred_lft forever

1.2.3 ss命令

ss是一种网络状态查看工具,取代netstat。

//语法:ss [options]
//常用的options:
    -n:数字格式
    -t:tcp协议相关
    -u:udp协议相关
    -l:listen状态的连接
    -p:相关的程序及pid
    -a:所有

//常见的state:
    //tcp finite state machine:有限状态机
        LISTENING:监听
        ESTABLISHED:已建立的连接
//以数字格式查看tcp相关信息
[root@syb ~]# ss -ant
State                 Recv-Q                Send-Q                                 Local Address:Port                                 Peer Address:Port                 
LISTEN                0                     128                                          0.0.0.0:22                                        0.0.0.0:*                    
ESTAB                 0                     52                                   192.168.200.152:22                                  192.168.200.1:58078                
LISTEN                0                     128                                             [::]:22                                           [::]:*

//以数字格式查看监听的tcp端口
[root@syb ~]# ss -antl
State                 Recv-Q                 Send-Q                                 Local Address:Port                                 Peer Address:Port                
LISTEN                0                      128                                          0.0.0.0:22                                        0.0.0.0:*                   
LISTEN                0                      128                                             [::]:22                                           [::]:*      
//以数字格式查看监听的tcp端口和进程号
[root@syb ~]# ss -antlp
State            Recv-Q           Send-Q                     Local Address:Port                     Peer Address:Port                                                   
LISTEN           0                128                              0.0.0.0:22                            0.0.0.0:*              users:(("sshd",pid=1021,fd=5))          
LISTEN           0                128                                 [::]:22                               [::]:*              users:(("sshd",pid=1021,fd=7))  

//常见端口
http    80/tcp 
https   443/tcp 
ssh     22/tcp 
ftp     20,21/tcp
mysql   3306/tcp
rsync   873/rsync
redis   6379/tcp

1.2.4 netstat命令

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

//语法:netstat [options]
//常用的options:
    -r:显示路由表
    -n:数字格式
    -t:tcp协议连接
    -u:udp协议连接
    -l:listen状态的连接
    -p:相关的程序及pid
    -a:所有
//显示路由表
[root@syb ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         _gateway        0.0.0.0         UG        0 0          0 eth0
192.168.200.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0

//以数字方式显示路由表
[root@syb ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.200.2   0.0.0.0         UG        0 0          0 eth0
192.168.200.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0

//显示建立的tcp连接
[root@syb ~]# netstat -t
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0     52 syb:ssh                 192.168.200.1:58078     ESTABLISHED

//显示udp连接
[root@syb ~]# netstat -u
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State  

//常用选项
[root@syb ~]# netstat -anltup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1021/sshd           
tcp        0     52 192.168.200.152:22      192.168.200.1:58078     ESTABLISHED 1603/sshd: root [pr 
tcp6       0      0 :::22                   :::*                    LISTEN      1021/sshd           

1.3 网卡配置文件

网卡(网络接口),其配置文件的路径是 /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME。

TYPE="Ethernet"             接口类型
BOOTPROTO="static"          ip获取的方式
NAME="eth0"                 连接名称
DEVICE="eth0"               关联的设备名称
ONBOOT="yes"                在系统引导时是否自动激活网络接口
IPADDR=192.168.200.152      固定ip地址
PREFIX=24                   子网掩码
GATEWAY=192.168.200.2       默认网关
DNS1=114.114.114.114        第一个DNS服务器指向

2 磁盘管理

2.1 磁盘命名方式

传统IDE接口硬盘:/dev/hd[a-z]

SCISI接口硬盘:/dev/sd[a-z]

**虚拟化硬盘:/dev/vd[a-z]**

2.2 磁盘分区

分区之前, 需要先给虚拟机添加一块磁盘,以便于我们做后续的实验vmware虚拟机,请按如下进行操作:

1.找到对应虚拟主机点击右键, 选择设置
2.在硬件向导里面点击添加按钮, 在硬件类型中选中“硬盘”, 点击下一步
3.磁盘类型选择默认, 然后创建新虚拟磁盘, 调整大小(不要勾选立即分配空间)
4.最后点击下一步, 完成即可

目的是为了方便管理


[root@syb ~]# fdisk /dev/sda 

欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x6b53fa52 的新 DOS 磁盘标签。

//创建主分区
命令(输入 m 获取帮助):n
分区类型
   p   主分区 (0个主分区,0个扩展分区,4空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (1-4, 默认  1): 
第一个扇区 (2048-41943039, 默认 2048): 
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): +5G 

创建了一个新分区 1,类型为“Linux”,大小为 5 GiB。

//创建拓展分区
命令(输入 m 获取帮助):n
分区类型
   p   主分区 (1个主分区,0个扩展分区,3空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):e
分区号 (2-4, 默认  2): 
第一个扇区 (10487808-41943039, 默认 10487808): 
上个扇区,+sectors 或 +size{K,M,G,T,P} (10487808-41943039, 默认 41943039): 

创建了一个新分区 2,类型为“Extended”,大小为 15 GiB。

//创建逻辑分区
命令(输入 m 获取帮助):n

所有主分区的空间都在使用中。
添加逻辑分区 5
第一个扇区 (10489856-41943039, 默认 10489856): 
上个扇区,+sectors 或 +size{K,M,G,T,P} (10489856-41943039, 默认 41943039): +10G

创建了一个新分区 5,类型为“Linux”,大小为 10 GiB。

//查看分区创建
命令(输入 m 获取帮助):p

Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xcb8be735

设备       启动     起点     末尾     扇区 大小 Id 类型
/dev/sda1           2048 10487807 10485760   5G 83 Linux
/dev/sda2       10487808 41943039 31455232  15G  5 扩展
/dev/sda5       10489856 31461375 20971520  10G 83 Linux

//保存分区
命令(输入 m 获取帮助):w

分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

//刷新分区
[root@syb ~]# partprobe /dev/sda

//查看分区
[root@syb ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   20G  0 disk 
├─sda1          8:1    0    5G  0 part 
├─sda2          8:2    0    1K  0 part 
└─sda5          8:5    0   10G  0 part 
sr0            11:0    1  7.9G  0 rom  /mnt
nvme0n1       259:0    0   50G  0 disk 
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0   49G  0 part 
  ├─rhel-root 253:0    0   45G  0 lvm  /
  └─rhel-swap 253:1    0    4G  0 lvm  [SWAP]

2.3磁盘格式化

使用mkfs命令格式化磁盘,创建文件系统

//mkfs常用的选项有
-b  //设定数据区块占用空间大小,目前支持1024、2048、4096 bytes每个块。
-t  //用来指定什么类型的文件系统,可以是ext3,ext4, xfs
-i  //设定inode的大小
-N  //设定inode数量,防止Inode数量不够导致磁盘不足
-L  //预设该分区的标签label

//格式化整个sdb磁盘为ext4文件系统
[root@syb ~]# mkfs.ext4 /dev/sda1
mke2fs 1.45.4 (23-Sep-2019)
创建含有 1310720 个块(每块 4k)和 327680 个inode的文件系统
文件系统UUID:accbd790-7939-4b47-b32d-2b0b18675fc8
超级块的备份存储于下列块: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736

正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(16384 个块)完成
写入超级块和文件系统账户统计信息: 已完成

//也可以使用-t指定方式创建ext4文件系统
[root@syb ~]# mkfs -t ext4  /dev/sda2

/也可以格式化sda1分区为xfs文件系统
[root@syb ~]# mkfs.xfs /dev/sda1

2.4 磁盘挂载

挂载分区前需要创建挂载点, 挂载点以目录形式出现
如果往挂载点目录写入数据, 实际上会写入到该分区
挂载点建议是空目录, 不是也不影响挂载分区的使用,但是会隐藏原有的文件

2.4.1 临时挂载磁盘

命令:mount挂载磁盘,实质为文件系统指定访问入口
mount -t       //指定文件系统挂载分区,如ext3,ext4, xfs
mount -a       //重新读取/etc/fstab配置文件的所有分区
mount -o       //指定挂载参数

//fstab被损坏情况下,让只读文件系统可写(正常情况下不使用)
[root@syb ~]#mount -o rw,remount / 

//挂载/dev/sdb1至db1目录
[root@syb ~]# mkdir /syb
[root@syb ~]# mount -o xfs /dev/sda1 /syb

2.4.2 永久挂载磁盘

//使用blkid命令获取各分区的UUID
[root@syb ~]# blkid /dev/sda1
/dev/sda1: UUID="accbd790-7939-4b47-b32d-2b0b18675fc8" TYPE="ext4" PARTUUID="cb8be735-01"

//可以把下面这行写到/etc/fstab中,永久挂载, 开机自动挂载
[root@syb ~]# vi /etc/fstab
UUID="accbd790-7939-4b47-b32d-2b0b18675fc8"     /syb ext4 defaults
0 0

//加载fstab配置文件, 同时检测语法是否有错误
[root@syb ~]# mount -a

3 计划任务管理

什么是计划任务,计划任务类似于我们平时生活中的闹钟。
Linux系统的计划任务服务crond可以满足周期性执行任务的需求。
crond进程每分钟会处理一次计划任务, 计划任务主要是做一些周期性的任务目前最主要的用途是定时备份数据

时间的配置
分(0-59)      时(0-23) 日(1-31) 月(1-12) 周(0-7) 任务
*/2没隔两分钟
1-10第一到第十分钟
1,10第一和第十分钟

//编写计划任务
[root@syb ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
//查看已经写的计划任务
[root@syb ~]# crontab -l
*/2 * * * * /bin echo syb

4.日志管理


特性:
      多线程
      支持UDP,TCP,SSL,TLS协议
      支持使用MySQL、PGSQL和Oracle实现日志存储
      默认没启用此功能,需要加载rsyslog支持此类存储方式的模块,并配置其可使用mysql存储日志
      强大的过滤器,可实现过滤系统日志信息中的任何部分
      自定义输出格式
      
日志级别:
        debug                 #程序或系统的调试信息
        info                  #一般信息
        notice                #不影响正常功能,需要注意的消息
        warning/warn          #可能影响系统功能,需要提醒用户的重要事件
        err/error             #错误信息
        crit                  #紧急,比较严重的
        alert                 #必须马上处理的
        emerg/panic           #会导致系统不可用的
        *                     # *表示所有的日志级别
        none                  #跟*相反,表示啥也没有

5.httpd源码安装三部曲

1. ./configure --prefix=安装路径 --with

2. make编译

3.make install 安装

//从官网上下载三个包
[root@syb ~]# wget -c https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.48.tar.gz
[root@syb ~]# wget -c https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.7.0.tar.gz
[root@syb ~]# wget -c https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
[root@syb ~]# ls
anaconda-ks.cfg  apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.48.tar.gz
//解压
[root@syb ~]# tar xf httpd-2.4.48.tar.gz 
[root@syb ~]# tar xf apr-1.7.0.tar.gz 
[root@syb ~]# tar xf apr-util-1.6.1.tar.gz 
[root@syb ~]# ls
anaconda-ks.cfg  apr-1.7.0  apr-1.7.0.tar.gz  apr-util-1.6.1  apr-util-1.6.1.tar.gz  httpd-2.4.48  httpd-2.4.48.tar.gz
[root@syb apr-1.7.0]# vi configure
//编译安装apr-1.7.0
[root@syb apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@syb apr-1.7.0]# make && make install
//编译安装apr-util-1.6.1
[root@syb apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[root@syb apr-util-1.6.1]# make && make install
//编译安装httpd-2.4.28
[root@syb httpd-2.4.48]# ./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
[root@syb httpd-2.4.48]# make && make install
//开启服务
[root@syb ~]# /usr/local/httpd/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::20c:29ff:fe0e:69ba%eth0. Set the 'ServerName' directive globally to suppress this message
//查看端口
[root@syb ~]# ss -antl
State    Recv-Q   Send-Q     Local Address:Port     Peer Address:Port   
LISTEN   0        128              0.0.0.0:22            0.0.0.0:*      
LISTEN   0        128                    *:80                  *:*      
LISTEN   0        128                 [::]:22               [::]:* 
//访问

你可能感兴趣的:(Linux,linux)