01-Linux基础

一、Linux系统介绍

Linux常见发现版本:

RedHat Linux
SuSE Linux
Ubuntu Linux
Mandrake Linux
Caldera Linux
Turbolinux
Debian GNU/Linux
Gentoo Linux
Linpus Linux

Linux优点:开源、免费、稳定、安全、高性能

二、系统安装、密码破解

1、Linux内核版本

[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux

Linux内核版本号命名规则:XX.YY.ZZ

其中,XX为主版本号,YY为此版本号,ZZ为修订版本号。YY为奇数代表开发版,YY为偶数代表稳定版。一般奇数先发布,进行公测,不是很稳定。

 

 

[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.2 (Maipo)

 

2、硬盘和分区结构

[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00022832

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 616447 307200 83 Linux
/dev/sda2 616448 4810751 2097152 82 Linux swap / Solaris
/dev/sda3 4810752 41943039 18566144 83 Linux
[root@localhost ~]#

Linux中将硬盘、分区等设备均表示为文件

示例:/dev/hda5

其中dev代表硬件设备文件所在的目录。

hd表示IDE设备、sd表示SCSI设备。

硬盘的顺序号,以字母a、b、c...表示。

分区的顺序号,以数字1、2、3...表示。

查看当前硬盘使用情况:

[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 18G 1.3G 17G 7% /
devtmpfs devtmpfs 904M 0 904M 0% /dev
tmpfs tmpfs 913M 0 913M 0% /dev/shm
tmpfs tmpfs 913M 8.7M 904M 1% /run
tmpfs tmpfs 913M 0 913M 0% /sys/fs/cgroup
/dev/sda1 xfs 297M 113M 185M 38% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0

mount和umont代表挂载和卸载命令。

Linux中默认使用的文件系统类型:EXT4(第3代扩展文件系统)、SWAP(交换文件系统)

Linux支持的其他文件系统类型:FAT16、FAT32、NTFS、XFS、JFS

3、Linux系统登陆密码破解

1)、在开机自检后,出现grub引导界面时,按E键进入编辑模式

 

 

2)、把光标移到带有“kernel”字样的那一行,然后按E键编辑

 

 

 

 回车然后输入b,修改密码,重启。

4、Linux目录结构

[root@localhost /]# ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@localhost /]#

bin目录:存放的执行命令,执行程序。绿色都是可执行程序。

boot:引导分区,用来装在开机启动项。

dev:存储介质。

etc:存放系统和服务的配置文件。

home:用户目录。

lib64:库文件。

media和mnt:挂载用。

opt:外围应用程序。

proc:系统开机前不存在,随着开机存放系统生产的临时文件。

root:管理员目录。

sbin:存放root账号执行的命令。

sys:系统存放的文件。

tmp:对源代码有编译权限。

usr:存放源代码安装程序。

var:存放日志文件。一般网站根目录也在这里面。

网站默认文件夹:/var/www/html,有的也在/home/xxx/www,/www,/wwwroot

#代表当前是root权限。

三、Linux常用命令

1、Linux命令分类

Linux命令:用于实现某一类功能的指令或程序命令的执行依赖于解释器程序(例如:/bin/bash)

Linux命令的分类:
内部命令:属于Shell解释器的一部分
外部命令:独立于Shell解释器之外的程序文件

2、Linux命令行格式
Linux命令的通用命令格式
命令字 [选项] [参数]
选项及参数含义
选项:用于调节命令的具体功能
以 “-”引导短格式选项(单个字符),例如“-l”
以“--”引导长格式选项(多个字符),例如“--color”
多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
参数:命令操作的对象,如文件、目录名等

3、获得命令帮助

内部命令help
查看Bash内部命令的帮助信息
命令的“--help”选项
适用于大多数外部命令
使用man命令阅读手册页
使用“.”、“.”方向键滚动文本
使用Page Up和Page Down键翻页
按Q或q键退出阅读环境、按“/”键后查找内容

[root@localhost /]# ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
-a, --all do not ignore entries starting with .
-A, --almost-all do not list implied . and ..
--author with -l, print the author of each file
-b, --escape print C-style escapes for nongraphic characters
--block-size=SIZE scale sizes by SIZE before printing them; e.g.,

4、Linux系统命令

uname 查看系统内核信息 -r查看内核版本号 -a 显示详细信息
hostname 查看或临时修改主机名称
ifconfig 查看系统ip信息
cat /proc/cpuinfo 查看系统cpu信息
cat /proc/meminfo 查看系统内存信息
halt 关机
reboot 重启
pwd 查看工作目录
cd 切换目录
du 统计目录及文件空间占用情况 -sh统计目录大小

[root@localhost ~]# cd /
[root@localhost /]# cd -
/root
[root@localhost ~]# cd ..
[root@localhost /]# cd home
[root@localhost home]#

查看home目录多大,如下:

[root@localhost ~]# du -sh /home
12K /home

目录操作命令——ls

ls命令
用途:列表(List)显示目录内容
格式:ls [选项]... [目录或文件名]
常用命令选项
-l :以长格式显示
-a:显示所有子目录和文件的信息,包括隐藏文件
-A:类似于“-a”,但不显示“.”和“..”目录的信息
-d:显示目录本身的属性
-h:以更易读的字节单位(K、M等)显示信息
-R:递归显示内容
--color:以颜色区分不同类型文件

 1 [root@localhost /]# ls -l
 2 total 32
 3 lrwxrwxrwx.   1 root root    7 Nov 28 23:41 bin -> usr/bin
 4 dr-xr-xr-x.   3 root root 4096 Nov 28 23:50 boot
 5 drwxr-xr-x.  19 root root 3160 Nov 29 22:51 dev
 6 drwxr-xr-x.  92 root root 8192 Nov 29 22:51 etc
 7 drwxr-xr-x.   3 root root   17 Nov 28 23:49 home
 8 lrwxrwxrwx.   1 root root    7 Nov 28 23:41 lib -> usr/lib
 9 lrwxrwxrwx.   1 root root    9 Nov 28 23:41 lib64 -> usr/lib64
10 drwxr-xr-x.   2 root root    6 May 25  2015 media
11 drwxr-xr-x.   2 root root    6 May 25  2015 mnt
12 drwxr-xr-x.   3 root root   15 Nov 28 23:45 opt
13 dr-xr-xr-x. 424 root root    0 Nov 29 22:50 proc
14 dr-xr-x---.   4 root root 4096 Nov 29 00:02 root
15 drwxr-xr-x.  26 root root  800 Nov 29 22:51 run
16 lrwxrwxrwx.   1 root root    8 Nov 28 23:41 sbin -> usr/sbin
17 drwxr-xr-x.   2 root root    6 May 25  2015 srv
18 dr-xr-xr-x.  13 root root    0 Nov 29 22:50 sys
19 drwxrwxrwt.   9 root root 4096 Nov 29 22:51 tmp
20 drwxr-xr-x.  13 root root 4096 Nov 28 23:41 usr
21 drwxr-xr-x.  20 root root 4096 Nov 29 22:50 var
22 [root@localhost /]# 
文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名(七个栏位)
drwxr-xr-x.   3 root root   17 Nov 28 23:49 home

        第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如 lrwxrwxrwx;如果是以一横"-"表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):
  rwx(Owner)r-x(Group)r-x(Other)
  这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是x,而是s,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
  第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
  第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的home,那这一栏大概都是它的账号名称。
  第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
  第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls -k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。
  第六个栏位,表示创建日期。以"月,日,时间"的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
  第七个栏位,表示文件名。我们可以用ls -a显示隐藏的文件名。

权限设置命令chmod

u 是所有者用户,g 是组, o其他人, a所有人
r读 ,w写, x可执行
用法:
chmod u+w 给所有者用户添加写入权限
chmod g-r 给所在分组去掉读取权限
权限用数字代替
r=4 w=2 x=1 权限值等于每个权限数字相加
chmod 777 给所有权限设置为可读可写可执行
chown 设置所有者和所在分组用户
chown Apache:Apache test 登录吧test目录所有者和所组设置为Apache用户

[root@localhost snow]# ll
total 4
-rw-r--r--. 1 root root 4 Nov 29 23:17 1.txt
[root@localhost snow]# chmod u+x 1.txt
[root@localhost snow]# ll
total 4
-rwxr--r--. 1 root root 4 Nov 29 23:17 1.txt
[root@localhost snow]# chmod 755 1.txt
[root@localhost snow]# ll
total 4
-rwxr-xr-x. 1 root root 4 Nov 29 23:17 1.txt
[root@localhost snow]# useradd test

 [root@localhost snow]# chown test:test 1.txt
 [root@localhost snow]# ll
 total 4
 -rwxr-xr-x. 1 test test 4 Nov 29 23:17 1.txt

touch 创建文件或跟新文件时间标记,touch *更新文件时间标记为当前时间。
mkdir 创建目录命令 -p递归创建目录
cp 复制文件或目录 -r递归复制 -f强制覆盖 -p保持源文件属性不变 -i覆盖文件目录提醒
rm 删除文件或目录 -r递归删除 -f 强制删除不提醒 -i 删除时用户提醒
mv 移动文件或目录
wc 统计文件中出现的单词数量字节数量和行数
cat 查看文件内容命令

[root@localhost snow]# ll
total 4
-rwxr-xr-x. 1 test test 4 Nov 29 23:17 1.txt
-rw-r--r--. 1 root root 0 Nov 29 23:33 2.txt
-rw-r--r--. 1 root root 0 Nov 29 23:34 3.txt
-rw-r--r--. 1 root root 0 Nov 30 15:39 4.txt
[root@localhost snow]# touch *
[root@localhost snow]# ll
total 4
-rwxr-xr-x. 1 test test 4 Nov 30 15:39 1.txt
-rw-r--r--. 1 root root 0 Nov 30 15:39 2.txt
-rw-r--r--. 1 root root 0 Nov 30 15:39 3.txt
-rw-r--r--. 1 root root 0 Nov 30 15:39 4.txt
[root@localhost snow]# touch 5.txt

 

文件或目录查找命令

find命令
用途:用于查找文件或目录
格式:find [查找范围] [查找条件]
常用查找条件
-name:按文件名称查找
-size:按文件大小查找
-user:按文件属主查找
-type:按文件类型查找

[root@localhost snow]# find /etc -name "resol*.conf"
/etc/resolv.conf

vi编辑器

vi是一个较大的UNIX命令,在启动的时候也有它自己的选项和参数
基本语法:
vi [-options] [+[n]] [file]
常用选项有:-r, -R
-r用于恢复系统突然崩溃时正在编辑的文件
-R用于以只读方式打开文件
+n用来指明进入vi后直接位于文件的第n行,如果不指定n,则位于最后一行

按住shift和输入冒号:进入底行模式:

输入set nu设置行号。

 

 

 

 输入2光标会进入第2行

:2

输入2d删除第2行

:2d

vi文本插入:

在命令方式下使用某些命令会导致vi马上进入文本插入方式,这些命令包括:i,I,a,A,o,O等
在这种方式下用户的任何输入都被当作是文件的内容看待,并将其显示在屏幕上。

 

搜索字符串"是"

 

 

 

重复前一命令:.
取消上一命令:u
退出vi:行方式下使用q命令将退出vi,如果文件作过改动但还没有保存,系统将作出提示并取消此次退出动作。行命令x相当于:wq命令。在命令方式下使用命令ZZ等效于:x命令。
如果由于读写权限或是更新方面的问题,导致vi拒绝执行保存文件或退出vi的命令,那么可以在命令后加一个!号表示强制执行。

压缩命令 gzip bzip2
只针对单个文件压缩或
-9 显示高压缩比
-d 释放压缩文件
gzip 文件名 压缩文件 格式为后缀有.gz
bzip2 文件名 压缩成的文件名 格式为 文件名.bz2 它相对与gzip 压缩率更高

压缩文件
[root@localhost snow]# gzip 2.txt 2.txt.gz
gzip: 2.txt.gz already has .gz suffix -- unchanged
[root@localhost snow]# ll
total 8
-rwxr-xr-x. 1 test test  4 Nov 30 15:41 1.txt
-rw-r--r--. 1 root root 55 Nov 30 15:50 2.txt.gz
-rw-r--r--. 1 root root  0 Nov 30 15:41 3.txt
-rw-r--r--. 1 root root  0 Nov 30 15:41 4.txt
-rw-r--r--. 1 root root  0 Nov 30 15:41 5.txt
drwxr-xr-x. 2 root root 18 Nov 30 15:45 test
解压缩
[root@localhost snow]# gzip -d 2.txt.gz 

 

归档命令 tar
tar 归档命令 释放归档文件 没有压缩功能
格式 tar 选项 归档文件名 源文件或目录
-c 创建归档文件 扩展名为.tar
-v 输出详细信息 -f 表示使用归档文件 如 -cvf 创建归档文件
tar -cvf 4.tar 1 2 3 将文件1 2 3 打包归档为4.tar
tar -xvf 4.tar 解包归档文件4.tar -xvf 解包归档文件
-x 解开归档文件 -t 列表查看包内的文件(不释放解包)
tar -tvf 4.tar -r 追加TAR文件至归档结尾
tar -rvf 4.tar 5 把5加入4.tar
-p 解包时保留原始文件及目录的权限
-C (大) 解包时指定释放的目标文件夹
-z 调用gzip 程序 进行解压或压缩 -j 调用bzip2 程序进行压缩或解压
tar -cvzf test.tar.gz 被压缩的文件1 被压缩的文件2 创建归档压缩文件 后缀为gz
tar -cvjf test.tar.bz2 被压缩的文件1 被压缩的文件2 创建归档压缩文件 后缀为bz2
tar -xvzf test.tar.gz -C /usr/src 解压释放归档到 /usr/src 里面
tar -xvjf test.tar.bz2 -C /usr/src 解压释放归档到 /usr/src 里面

打包:
root@localhost snow]# cp 2.txt a
[root@localhost snow]# cp 2.txt b
[root@localhost snow]# cp 2.txt c
[root@localhost snow]# ll
total 20
-rwxr-xr-x. 1 test test  4 Nov 30 15:41 1.txt
-rw-r--r--. 1 root root 28 Nov 30 15:50 2.txt
-rw-r--r--. 1 root root  0 Nov 30 15:41 3.txt
-rw-r--r--. 1 root root  0 Nov 30 15:41 4.txt
-rw-r--r--. 1 root root  0 Nov 30 15:41 5.txt
-rw-r--r--. 1 root root 28 Nov 30 16:07 a
-rw-r--r--. 1 root root 28 Nov 30 16:07 b
-rw-r--r--. 1 root root 28 Nov 30 16:07 c
drwxr-xr-x. 2 root root 18 Nov 30 15:45 test
[root@localhost snow]# tar -cvf x.tar a b c 
a
b
c
[root@localhost snow]# ll
total 32
-rwxr-xr-x. 1 test test     4 Nov 30 15:41 1.txt
-rw-r--r--. 1 root root    28 Nov 30 15:50 2.txt
-rw-r--r--. 1 root root     0 Nov 30 15:41 3.txt
-rw-r--r--. 1 root root     0 Nov 30 15:41 4.txt
-rw-r--r--. 1 root root     0 Nov 30 15:41 5.txt
-rw-r--r--. 1 root root    28 Nov 30 16:07 a
-rw-r--r--. 1 root root    28 Nov 30 16:07 b
-rw-r--r--. 1 root root    28 Nov 30 16:07 c
drwxr-xr-x. 2 root root    18 Nov 30 15:45 test
-rw-r--r--. 1 root root 10240 Nov 30 16:07 x.tar
[root@localhost snow]# gzip x.tar x.tar.gz

[root@localhost snow]# ll
total 24
-rwxr-xr-x. 1 test test 4 Nov 30 15:41 1.txt
-rw-r--r--. 1 root root 28 Nov 30 15:50 2.txt
-rw-r--r--. 1 root root 0 Nov 30 15:41 3.txt
-rw-r--r--. 1 root root 0 Nov 30 15:41 4.txt
-rw-r--r--. 1 root root 0 Nov 30 15:41 5.txt
-rw-r--r--. 1 root root 28 Nov 30 16:07 a
-rw-r--r--. 1 root root 28 Nov 30 16:07 b
-rw-r--r--. 1 root root 28 Nov 30 16:07 c
drwxr-xr-x. 2 root root 18 Nov 30 15:45 test
-rw-r--r--. 1 root root 183 Nov 30 16:07 x.tar.gz

解压缩:

[root@localhost snow]# rm -rf a b c
[root@localhost snow]# ls
1.txt 2.txt 3.txt 4.txt 5.txt test x.tar.gz
[root@localhost snow]# tar zxvf x.tar.gz
a
b
c
[root@localhost snow]# ls
1.txt 2.txt 3.txt 4.txt 5.txt a b c test x.tar.gz
[root@localhost snow]#

 

添加用户账号

useradd命令
格式:useradd [选项]... 用户名
常用命令选项
-u:指定 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或UID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell
[root@localhost ~]# useradd -d /ftphome/mike -g mike -G ftpuser -s /sbin/nologin mike

root:x:0:0:root:/root:/bin/bash UID和GID为0就是管理员。
添加账号
[root@localhost snow]# user add xy
-bash: user: command not found
[root@localhost snow]# useradd xy
[root@localhost snow]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:998:996:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:997:995:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:996:993:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:995:992::/var/lib/chrony:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
snow:x:1000:1000:RedHat:/home/snow:/bin/bash
test:x:1001:1001::/home/test:/bin/bash
xy:x:1002:1002::/home/xy:/bin/bash
[root@localhost snow]# 
/sbin/nologin代表没法调用shell

删除用户账号——userdel
userdel命令
格式:userdel [-r] 用户名
添加 -r 选项时,表示连用户的宿主目录一并删除
[root@localhost ~]# userdel -r stu01
[root@localhost ~]# ls -ld /home/stu01/
ls: /home/stu01/: 没有那个文件或目录

[root@localhost snow]# ls /home
snow  test  xy
[root@localhost snow]# userdel -r xy
[root@localhost snow]# ls /home
snow  test

 

查看进程

ps -aux 查看系统进程
top 动态查看系统进程,q退出
kill 1234 杀死进程1234

软件安装

安装或升级RPM软件
格式:rpm [选项] RPM包文件...
用法:不同选项适用于不同情况
-i:安装一个新的rpm软件包
-U:升级某个rpm软件,若原本未装,则进行安装
-F:更新某个rpm软件,若原本未装,则放弃安装
卸载指定的RPM软件
格式:rpm -e 软件名

安装软件包:可能出现依赖关系,安装A必须先安装B等。

 

 

 

配置yum源
1、挂着系统安装盘
2、配置yum配置文件
Vi /etc/yum.repos.d/rhel*
3、导入yum密钥
4、yum clean all 清空yum缓存
5、yum -y install httpd 使用yum安装httpd软件包
6、yum –y remove httpd 使用yum移除httpd软包

 

 

 

 

 

 

 

 

 

 

 

 启动mysql

 

 

 授权

 

 

 安装网站

 

 

 

Deb软件包安装

Dpkg –i xxx.deb 安装软件包
Dpkg –r xxx.deb 移除软件包

源代码安装

步骤1:tar解包
用途:解压并释放源代码包到指定的目录

步骤2:./configure 配置
用途:设置安装目录、安装模块等选项

步骤3:make 编译
用途:生成可执行的二进制文件

步骤4:make install 安装
用途:复制二进制文件到系统,配置应用环境

网络配置命令

Ifconfig eth0 192.168.1.20/24 临时修改eth0 网卡ip
Route –n 查看系统路由信息
Netstat 查看网络连接情况
netstat命令
查看系统的网络连接状态、路由表、接口统计等信息
格式:netstat [选项]
常用选项:
-a:显示所有活动连接
-n:以数字形式显示
-p:显示进程信息
-t:查看TCP协议相关信息
-u:查看UDP协议相关信息
-r:显示路由表信息

查看内网其他服务器
[root@localhost snow]# netstat -
tnlp 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:22 0.0.0.0:* LISTEN 1500/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1811/master tcp6 0 0 :::22 :::* LISTEN 1500/sshd tcp6 0 0 ::1:25 :::* LISTEN 1811/master [root@localhost snow]# netstat -an Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 52 192.168.225.137:22 192.168.225.1:65428 ESTABLISHED tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 ::1:25 :::* LISTEN udp 0 0 0.0.0.0:68 0.0.0.0:* udp 0 0 0.0.0.0:7345 0.0.0.0:* udp 0 0 127.0.0.1:323 0.0.0.0:* udp6 0 0 :::56006 :::* udp6 0 0 ::1:323 :::* raw6 0 0 :::58 :::* 7 Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 16 [ ] DGRAM 8192 /dev/log unix 2 [ ACC ] STREAM LISTENING 20884 private/tlsmgr unix 2 [ ACC ] STREAM LISTENING 20887 private/rewrite unix 2 [ ACC ] STREAM LISTENING 20890 private/bounce unix 2 [ ACC ] STREAM LISTENING 20893 private/defer unix 2 [ ACC ] STREAM LISTENING 13600 /run/lvm/lvmetad.socket

 

网络接口配置文件

/etc/sysconfig/network-scripts/ 目录下的
ifcfg-eth0:第1块以太网卡的配置文件
ifcfg-eth1:第2块以太网卡的配置文件
修改了配置文件要
重启网络服务
Service network restart

[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-lo

[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.4.1
NETMASK=255.255.255.0
GATEWAY=192.168.4.2

域名解析配置文件

/etc/resolv.conf 文件
用途:保存本机需要使用的DNS服务器的IP地址

[root@localhost snow]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.225.2

四、LAMP搭建配置

apache配置文件。修改配置文件需要重启服务

(一)LAMP 环境搭建及配置
1、配置好yum环境

(a)删除系统自带yum包

执行rpm -qa|grep yum --已经安装的yum包
执行rpm -qa|grep yum|xargs rpm -e --nodeps 不检查依赖直接删除所有yum包。
再次执行rpm -qa|grep yum查看已经安装的yum包,没有内容表明删除成功。

rpm -qa|grep yum
rpm -qa|grep yum|xargs rpm -e --nodeps 
rpm -qa|grep yum

(b)下载新的yum包进行安装

镜像地址:http://mirrors.163.com/centos/
根据自己系统版本找到对应目录,下载如下几个软件包,这些包的版本会更新,所以出现ERROR 404: Not Found.的时候需要在前面的目录下找到最新的版本

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
rpm -ivh python-urlgrabber-3.10-10.el7.noarch.rpm --force --nodeps
rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm
rpm -ivh yum-*

yum的包一起安装,解决相互依赖的问题
同时rpm的版本会有要求,报错如下:

[root@localhost snow]# rpm -ivh yum-*
warning: yum-3.4.3-168.el7.centos.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
        rpm >= 0:4.11.3-22 is needed by yum-3.4.3-168.el7.centos.noarch
[root@localhost snow]# 

需先下载最新代码在安装,升级代码如下:

[root@localhost snow]# wget http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-4.11.3-45.el7.x86_64.rpm
[root@localhost snow]# rpm -Uvh rpm-4.11.3-45.el7.x86_64.rpm --nodeps

升级完成后重新安装yum相关,然后检查是否安装成功。执行rpm -qa | grep yum出现新安装的即代表安装成功。

[root@localhost snow]# rpm -ivh yum-*
warning: yum-3.4.3-168.el7.centos.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:yum-metadata-parser-1.1.4-10.el7 ################################# [ 25%]
   2:yum-plugin-fastestmirror-1.1.31-5################################# [ 50%]
   3:yum-3.4.3-168.el7.centos         ################################# [ 75%]
   4:yum-utils-1.1.31-54.el7_8        ################################# [100%]
[root@localhost snow]# rpm -qa | grep yum
yum-utils-1.1.31-54.el7_8.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-3.4.3-168.el7.centos.noarch
yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch
[root@localhost snow]# 

(c)替换系统自带的repo文件。

①在/etc目录下重命名备份原来的repo:mv yum.repos.d yum.repos.d.backup

[root@localhost ~]# cd /etc
[root@localhost etc]# ls -l |grep yum
drwxr-xr-x.  6 root root       95 Nov 30 17:38 yum
-rw-r--r--.  1 root root      970 Oct  1  2020 yum.conf
drwxr-xr-x.  2 root root       24 Oct  1  2020 yum.repos.d
[root@localhost etc]# mv yum.repos.d/ yum.repos.d.backup
[root@localhost etc]# ls -l |grep yum
drwxr-xr-x.  6 root root       95 Nov 30 17:38 yum
-rw-r--r--.  1 root root      970 Oct  1  2020 yum.conf
drwxr-xr-x.  2 root root       24 Oct  1  2020 yum.repos.d.backup
[root@localhost etc]# 

②建一个新的yum.repos.d目录(确保在/etc目录下)

[root@localhost etc]# mkdir yum.repos.d
[root@localhost etc]# ls -l |grep yum
drwxr-xr-x.  6 root root       95 Nov 30 17:38 yum
-rw-r--r--.  1 root root      970 Oct  1  2020 yum.conf
drwxr-xr-x.  2 root root        6 Nov 30 17:46 yum.repos.d
drwxr-xr-x.  2 root root       24 Oct  1  2020 yum.repos.d.backup
[root@localhost etc]#

③下载一个CentOS的repo(我们可以在网易镜像站的centos使用帮助中下载学习)

官方帮助链接:https://mirrors.163.com/.help/centos.html

[root@localhost etc]# cd yum.repos.d
[root@localhost yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo --2022-11-30 17:55:19-- http://mirrors.163.com/.help/CentOS7-Base-163.repo Resolving mirrors.163.com (mirrors.163.com)... 117.147.202.12 Connecting to mirrors.163.com (mirrors.163.com)|117.147.202.12|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1572 (1.5K) [application/octet-stream] Saving to: ‘CentOS7-Base-163.repo’ 100%[============================================================>] 1,572 --.-K/s in 0s 2022-11-30 17:55:19 (125 MB/s) - ‘CentOS7-Base-163.repo’ saved [1572/1572]

  [root@localhost yum.repos.d]# ls -l
  total 4
  -rw-r--r--. 1 root root 1572 Nov 30 2016 CentOS7-Base-163.repo

④通过vim打开并编辑repo,打开文件默认如下:

[root@localhost yum.repos.d]# vi CentOS7-Base-163.repo 
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
[root@localhost yum.repos.d]#

将所有的$releasever全部替换成版本号-->7.9.2009:

shift+: 编辑 输入下面的指令

%s/$releasever/7.9.2009/g

具体版本可参看官网。https://mirrors.163.com/centos/

⑥根据使用说明文档,我们要清除缓存与重新生产缓存。

yum clean all ##清理缓存
yum makecache ##重新生成缓存

[root@localhost yum.repos.d]# yum clean all
Configuration file /etc/yum/pluginconf.d/product-id.conf not found
Unable to find configuration file for plugin product-id
Configuration file /etc/yum/pluginconf.d/search-disabled-repos.conf not found
Unable to find configuration file for plugin search-disabled-repos
Configuration file /etc/yum/pluginconf.d/subscription-manager.conf not found
Unable to find configuration file for plugin subscription-manager
Loaded plugins: fastestmirror
Cleaning repos: base extras updates
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum makecache
Configuration file /etc/yum/pluginconf.d/product-id.conf not found
Unable to find configuration file for plugin product-id
Configuration file /etc/yum/pluginconf.d/search-disabled-repos.conf not found
Unable to find configuration file for plugin search-disabled-repos
Configuration file /etc/yum/pluginconf.d/subscription-manager.conf not found
Unable to find configuration file for plugin subscription-manager
Loaded plugins: fastestmirror
Determining fastest mirrors
base                                                                           | 3.6 kB  00:00:00     
extras                                                                         | 2.9 kB  00:00:00     
updates                                                                        | 2.9 kB  00:00:00     
(1/10): base/x86_64/group_gz                                                   | 153 kB  00:00:01     
(2/10): base/x86_64/filelists_db                                               | 7.2 MB  00:00:04     
(3/10): base/x86_64/primary_db                                                 | 6.1 MB  00:00:03     
(4/10): extras/x86_64/primary_db                                               | 249 kB  00:00:00     
(5/10): extras/x86_64/filelists_db                                             | 276 kB  00:00:00     
(6/10): extras/x86_64/other_db                                                 | 149 kB  00:00:00     
(7/10): base/x86_64/other_db                                                   | 2.6 MB  00:00:01     
(8/10): updates/x86_64/filelists_db                                            |  10 MB  00:00:03     
(9/10): updates/x86_64/other_db                                                | 1.2 MB  00:00:00     
(10/10): updates/x86_64/primary_db                                             |  18 MB  00:00:06     
Metadata Cache Created
[root@localhost yum.repos.d]# 

⑦使用yum repolist all查看是否成功

[root@localhost yum.repos.d]# yum repolist all
Configuration file /etc/yum/pluginconf.d/product-id.conf not found
Unable to find configuration file for plugin product-id
Configuration file /etc/yum/pluginconf.d/search-disabled-repos.conf not found
Unable to find configuration file for plugin search-disabled-repos
Configuration file /etc/yum/pluginconf.d/subscription-manager.conf not found
Unable to find configuration file for plugin subscription-manager
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                           repo name                                            status
base/x86_64                       CentOS-7.9.2009 - Base - 163.com                     enabled: 10,072
centosplus/x86_64                 CentOS-7.9.2009 - Plus - 163.com                     disabled
extras/x86_64                     CentOS-7.9.2009 - Extras - 163.com                   enabled:    515
updates/x86_64                    CentOS-7.9.2009 - Updates - 163.com                  enabled:  4,385
repolist: 14,972
[root@localhost yum.repos.d]#

⑧安装一个mysql试试, yum install mysql

[root@localhost yum.repos.d]# yum install mysql
Configuration file /etc/yum/pluginconf.d/product-id.conf not found
Unable to find configuration file for plugin product-id
Configuration file /etc/yum/pluginconf.d/search-disabled-repos.conf not found
Unable to find configuration file for plugin search-disabled-repos
Configuration file /etc/yum/pluginconf.d/subscription-manager.conf not found
Unable to find configuration file for plugin subscription-manager
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package mariadb.x86_64 1:5.5.68-1.el7 will be installed
--> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.68-1.el7 for package: 1:mariadb-5.5.68-1.el7.x86_64
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.44-2.el7 will be updated
---> Package mariadb-libs.x86_64 1:5.5.68-1.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================
 Package                   Arch                Version                        Repository         Size
======================================================================================================
Installing:
 mariadb                   x86_64              1:5.5.68-1.el7                 base              8.8 M
Updating for dependencies:
 mariadb-libs              x86_64              1:5.5.68-1.el7                 base              760 k

Transaction Summary
======================================================================================================
Install  1 Package
Upgrade             ( 1 Dependent package)

Total download size: 9.5 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
warning: /var/cache/yum/x86_64/$releasever/base/packages/mariadb-libs-5.5.68-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for mariadb-libs-5.5.68-1.el7.x86_64.rpm is not installed
(1/2): mariadb-libs-5.5.68-1.el7.x86_64.rpm                                    | 760 kB  00:00:00     
(2/2): mariadb-5.5.68-1.el7.x86_64.rpm                                         | 8.8 MB  00:00:01     
------------------------------------------------------------------------------------------------------
Total                                                                 5.0 MB/s | 9.5 MB  00:00:01     
Retrieving key from http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 From       : http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
** Found 4 pre-existing rpmdb problem(s), 'yum check' output follows:
python-urlgrabber-3.10-10.el7.noarch is a duplicate with python-urlgrabber-3.10-7.el7.noarch
rhn-check-2.0.2-6.el7.noarch has missing requires of yum-rhn-plugin >= ('0', '1.6.4', '1')
rpm-libs-4.11.3-17.el7.x86_64 has missing requires of rpm = ('0', '4.11.3', '17.el7')
rpm-python-4.11.3-17.el7.x86_64 has missing requires of rpm = ('0', '4.11.3', '17.el7')
  Updating   : 1:mariadb-libs-5.5.68-1.el7.x86_64                                                 1/3 
  Installing : 1:mariadb-5.5.68-1.el7.x86_64                                                      2/3 
  Cleanup    : 1:mariadb-libs-5.5.44-2.el7.x86_64                                                 3/3 
  Verifying  : 1:mariadb-libs-5.5.68-1.el7.x86_64                                                 1/3 
  Verifying  : 1:mariadb-5.5.68-1.el7.x86_64                                                      2/3 
  Verifying  : 1:mariadb-libs-5.5.44-2.el7.x86_64                                                 3/3 

Installed:
  mariadb.x86_64 1:5.5.68-1.el7                                                                       

Dependency Updated:
  mariadb-libs.x86_64 1:5.5.68-1.el7                                                                  

Complete!
[root@localhost yum.repos.d]# 

3、yum安装lamp环境

[root@localhost snow]# yum -y install httpd php php-mysql mysql mysql-server

4、启动apache和mysql服务

[root@localhost snow]# service httpd start
Redirecting to /bin/systemctl start  httpd.service
[root@localhost snow]# service mysqld start
Redirecting to /bin/systemctl start  mysqld.service
Failed to start mysqld.service: Unit mysqld.service failed to load: No such file or directory.
[root@localhost snow]#

解决mysql报错问题:参考https://blog.csdn.net/weixin_43303530/article/details/103713915

 centos7默认安装的是mariaDB,而不是mysql,所以先卸载mariaDB。

查看是否安装了mariaDB:

rpm -qa |grep mariadb

卸载已安装的mariadb:
rpm -e --nodeps mariadb-5.5.68-1.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

查看是否已经成功卸载:
rpm -qa |grep mariadb

下载mysql:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

安装mysql:

rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装mysql-server:
yum install mysql-server

再次启动mysql,已经成功。

[root@localhost snow]# service mysqld start
Redirecting to /bin/systemctl start  mysqld.service
[root@localhost snow]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.51 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

5、配置mysql root账号密码,然后登录进去。

[root@localhost snow]# mysqladmin -u root password 123123

[root@localhost snow]# mysql -uroot -p123123
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.51 MySQL Community Server (GPL)


Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

mysql> quit;
Bye

6、关闭防火墙和seLinux

[root@localhost snow]# iptables -F
[root@localhost snow]# setenforce 0

Chown –R apache:apache /var/www/html 修改网站根目录配置权限

7、访问测试

测试默认界面:

 

 

 

 

 

(二)搭建旁站

根据端口搭建旁站
根据域名搭建旁站
根据ip搭建旁站

 

 

 

 

参考文章:

https://www.xp.cn/b.php/9483.html

https://blog.csdn.net/qwe1056/article/details/108470087

 

posted @ 2022-11-29 15:34  冰雪2021  阅读(234)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css