第八步:把组件apr与组件apr-util拷贝进apache安装包
第九步:进入apache安装包使用./configure进行环境收集检验与配置
(3)使用cmake工具对mysql5.7.17进行环境收集检验与配置相关模块
(6)在nginx的网站发布路径下创建index.php文件
(4)在A服务端机器安装nfs-utils和rpcbind包
(9)在B客户端机器安装nfs-utils和rpcbind包
一、Linux服务器介绍
Linux
是一个免费使用和自由传播的类
Unix
操作系统,是一个基于
POSIX
和
UNIX
的多用户、多任务、支持多线程和多 CPU
性能稳定的网络操作系统。
linux
的内核最初是由一个芬兰的大学生因为个人兴趣爱好而编写的,这个大学生的名字叫林纳斯
·
托瓦兹(
Linus Torvalds)
目前市面上较知名的发行版有:
Ubuntu
、
RedHat
、
CentOS
、
Debian
、
Fedora
、
SuSE、
OpenSUSE
、
ArchLinux、
SolusOS
等,其中这个
是一个企业级的发行版,特别适合对稳定性,可靠性和功能要求较高的用户。
二、搭建Linux服务器
1、windows环境下vmware虚拟机的安装
下载安装包,双击点击安装,遇到下图选择其中框起来的即可
安装完成后如果要输入许可证密钥,在网上找一个可以用的密钥填进去就行了~
VM虚拟机主界面显示如下图所示:
2、linux CentOS7****系统的安装
必备:下载好centos7系统镜像文件
(1)新建虚拟机
点击创建新的虚拟机,选择稍后安装操作系统,操作系统选择Linux,版本选择Centos 7 64位
下一步给虚拟机起名,以及选择安装路径,一个虚拟机大概会占用3-4G的内存(我这里选择装在D盘)
这里是要给当前新建的服务器安排多少的内存空间,一般选择40G就差不多了(看个人情况)
这里点击自定义硬件,需要处理两点
- 移除无用设备:移除掉一些无必要的设备,
- 虚拟内存修改:内存这里需要根据外部物理主机,也就是我们自己电脑的性能条件进行设置,我电脑当前有16GB的内存,因此后续为了系统效率更高,可以将虚拟机内存设置大一点,我这里分配了4GB
- 处理器:数量以及内核都分配2个,安装操作系统效率会更高
(2)编辑虚拟器设置
若新建虚拟机时没配置好,我们也可以点击【编辑虚拟器设置】继续编辑虚拟器
(3)添加操作系统
点击编辑虚拟器设置,在硬件处点击CD/DVD,选择之前下载的ISO映像文件,最后点击确定
(4)开启虚拟机
点击【开启此虚拟机】按钮,这里我们选择第一个,进行安装centos 7
这里弹出一个界面选择语言,我们选择英语
接下来有几个配置:
- 【DATE&TIME】,其中地区选择亚洲,城市这里我选择了重庆
- 键盘【KEYBOARD】直接选择默认
- 磁盘分区我们一般选择自动即可
- 设置中的网络选择看个人,后续可以再打开或者关闭
配置设置完后,点击右下角的【Begin installation】进行安装
安装时会出现设置密码和普通用户的情况,根据个人情况设置即可(我这里设置了密码123)
安装完成之后,点击右下角Reboot重启虚拟机登录我们的虚拟服务器
用户名即为root
密码为之前设置的密码,我这里是123
从下图可以看到,我们已经登录成功啦
3、vmware****虚拟机的三种网络模式的设置介绍
vmware虚拟机有对应三种网络模式,分别是:Bridged桥接模式、Host-Only仅主机模式、NAT模式,下面简单介绍下三种网络模式的特点
(1)Bridged桥接模式
- 默认使用
VMnet0
,不提供
DHCP
服务(
DHCP
服务是指由服务器控制的一段
IP
地址范围,当客户机登录服务器时会自动获取服务器分配的IP
地址与子网掩码) - 虚拟机与外部主机需要在同一个网段上,与局域网的其它机器没有区别
- 可以与局域网内其它主机通信,可以与外部网络通信
- 容易与局域网其他主机引起ip
地址冲突
(2)Host-Only仅主机模式
- 默认使用VMnet1,提供DHCP服务
- 虚拟机可以和物理主机互相访问,但虚拟机无法访问外部网络
(3)NAT模式
- 默认使用VMnet8,提供DHCP服务
- 虚拟机可以和物理主机互相访问,可访问外部网络
- 局域网内其它机器访问不了
4、Linux Centos7的网络设置
(1)全局网络配置
点击编辑->虚拟网络编辑器,可以看到三种模式,桥接模式可以选择具体网卡(自动、无线网卡、有线网卡),我这里选择自动
(2)单台虚拟机配置
选择要配置的单台虚拟机,右键点击设置进入虚拟机设置界面,再点击网络适配器选择网络连接
# Bridged桥接模式
在虚拟机设置中网络连接若选择桥接模式,直接勾选即可,如下图:
更改了网络设置,若想要让它生效,有两个方法:
- 法1:重启主机
- 法2:重启网卡
重启主机花费时间较多,因此重启网卡即可,桥接模式中的主机和外部物理主机基本处于同一个局域网,网络之间可以互相通信
# Host-Only仅主机模式
在虚拟机设置中网络连接勾选仅主机模式,点击确定,且重启网卡使网络生效
【ping ip地址】可查看到该虚拟机可以和物理主机互相访问,但虚拟机无法访问外部网络
# NAT模式
在虚拟机设置中网络连接勾选仅主机模式,点击确定,且重启网卡使网络生效
【ping ip地址】可查看到该虚拟机可以和物理主机互相访问,可访问外部网络
操作命令
操作 | 命令 |
重启主机 | reboot |
重启网卡 | systemctl restart network.service |
查看ip地址 | ip addr |
检测网络是否畅通 | ping ip地址 |
结束ping命令 | 摁住 ctrl + c 键盘即可退出ping命令 |
清屏 | 摁住 ctrl + l |
(3)三种模式对比
网络模式 | 访问条件 | IP冲突 |
Bridged桥接模式 | 可以访问外网 | 容易与局域网的其他机器ip地址冲突 |
Host-Only仅主机模式 | 一般不能访问外网 | 不会与局域网的其他机器ip地址冲突 |
NAT模式 | 可以访问外网 | 不会与局域网的其他机器ip地址冲突 |
注意:为了提供不同的测试环境,有的需要虚拟机与局域网内的其他机器环境隔离,有的不需要,因此出现了这么多模式
5、Linux远程连接工具的使用
(1)检查网络畅通
使用前要确保虚拟机与物理主机网络畅通,我们分别在虚拟机以及物理主机进行ping
(2)打开SecureCRT 64
我这里使用的是SecureCRT 64,双击打开应用程序
获取到目标虚拟机的ip地址,填入这里的主机名称,用户名我这里只有一个root,其他暂时为默认值,点击连接
如图:已经连接成功了
(3)设置字体
选项->会话选项->外观,设置背景颜色,字体大小以及字符编码为UTF-8,设置好后保存
(4)设置复制粘贴操作
选项->全局选项->终端,选中这里的鼠标设置即可
(5)上传文件功能
传输->Zmodem上传列表,点击文件进行上传服务器
第一次上传时会弹出rz命令没找到的提示,则需要安装下rz命令(确认服务器可以联外网)
安装上传下载功能lrzsz服务:yum -y install lrzsz
安装完成后再次点击开始上传按钮,如下图可以看到文件上传成功,使用 ll 命令可以看到文件具体上传地方
(6)下载文件功能
在窗口输入命令直接下载文件,命令如下:
sz 文件名
备注:文件的上传下载路径可以设置,选项->会话选项->终端->X/Y/Zmodem
6、虚拟机的快速克隆与快照恢复
(1)虚拟机克隆
右键虚拟机->管理->克隆,需要注意的是,开启或挂起的虚拟机无法被克隆
如上图,这样就克隆好了一台新的虚拟机,克隆机与原来的虚拟机网络设置、密码等都一致
注意事项:
克隆后的虚拟机重启网卡会失败,如下图:
查询机器网卡:cat /etc/sysconfig/network-scripts/ifcfg-eno16777728(摁住键盘的tab键可以对命令进行补全 )
原因是因为克隆过来的虚拟机把原虚拟机的MAC地址也一起复制过来了,正常情况下虚拟机MAC地址都是唯一的,因此需要修改MAC地址
查看一个虚拟机的MAC地址(两种方法):
- ip addr
- 设置->虚拟机设置->网络适配器->高级->MAC地址
拿到克隆机原本的MAC地址后,修改网卡信息-MAC地址
使用
vi
工具进行编辑网卡信息:
vi /etc/sysconfig/network-scripts/ifcfg-eno16777728(摁住键盘的【i】
进入编辑模式,按住键盘左上角【esc】键退出编辑模式,再输入【:wq
】进行保存)
(2)快照恢复
快照相当于备份,我们进行操作的时候,有时候会导致一些不可逆的错误发生,比如删除了某些文件造成数据丢失,这时候就可以通过快照恢复
创建快照的方法:
虚拟机右键->快照->拍摄快照,填写快照名称以及描述,点击确定后,就新建好了一个快照
如果要恢复快照的话,必须关闭虚拟机进行恢复(一般除非做出了不可逆的操作,否则不太会进行快照恢复)
恢复快照步骤:
虚拟机右键->快照->快照管理器,选择快照节点,右键选择转到快照
注意:我们恢复快照相当于做逆反操作,恢复之前某个时刻的状态,但恢复后就无法再次回到当前状态了(恢复快照前要仔细考虑)
三、Linux常用操作
1、工作中常用的基础命令
命令 | 功能说明 | 举例 |
cd | 切换目录 | cd /usr/local/ (切换至当前目录) cd … (返回上一级目录) cd - (回退到上一次目录) |
ls | 列出目录内容 | ls -lrt 缩写为 ll -----时间升序显示 ls -alrt —显示隐藏文件 ls -lrt /home/ —显示home目录下的内容 |
pwd | 查询所在目录 | pwd |
cat | 查看小文件内容 | cat 123.txt ----查看目标文件内容 cat -n 123.txt —查看文件内容且给每行排序 |
more | 查看大文件内容 | more System.map-3.10.0-123.el7.x86_64 (可以嗯【Q】键退出查看) |
head | 查看文件的前面N行 | head System.map-3.10.0-123.el7.x86_64 (默认查看文件前10行) head -20 System.map-3.10.0-123.el7.x86_64 (查看文件前20行-自定义) |
tail | 查看文件的后面N行 | tail System.map-3.10.0-123.el7.x86_64 (默认查看文件后10行) tail -20 System.map-3.10.0-123.el7.x86_64 (查看文件后20行-自定义) tail -f access.log (动态查看日志文件) tail -20 access.log (动态查看文件后20行) |
touch | 创建一个空文件 | touch 123.txt |
mkdir | 创建目录 | mkdir -p /tmp/YYL/YYL/class (以绝对值方式创建套层目录) |
rmdir | 删除目录 | rmdir /tmp/YYL/YYL/class (删除目录) |
cp | 拷贝文件 | cp 123.txt class/ (拷贝文件到class目录) cp 123.txt class/456.txt (拷贝文件到class目录并改名为456,但文件某些属性没复制过来) cp -a 123.txt class/789.txt (拷贝文件到class目录并改名为789,文件属性也一起复制过来) |
mv | 移动或更名现有的文件或目录 | mv 123.txt 345.php (将文件更名) mv 456.txt /home/ (将文件移动至home文件夹下) mv 789.txt /home/987.php (将文件移动至home文件夹下且更名为987) |
rm | 删除文件或目录 | rm 987.php (删除文件,会弹出是否删除的提示,且目录不能删除) rm -rf 456.txt (直接删除文件,且什么都可以删除) |
diff | 对比文件差异 | diff 123.txt 456.txt |
ssh | 远程安全登录方式 | ssh 192.168.213.129 (根据ip地址切换主机) |
exit | 退出命令 | exit (切换主机后再退回来,原主机所在目录不做改变) |
id | 查看用户 | id root |
uname | 查询主机信息 | uname -a (详细主机信息) |
ping | 查看网络是否畅通 | ping 192.168.213.129 |
echo | 标准输出命令 | echo “this is echo 命令” |
man | 查看帮助文档 | man ls (ls命令的具体使用) ls --help (同man命令类似,只不过是全部打印出来) |
help | 查看内部命令帮助 | help if (if命令的具体使用) |
clear | 清屏 | clear 等同于 ctrl + l |
who | 当前在本地系统上的所有用户的信息 | who whoami (查看当前是哪个用户) |
uptime | 查询系统信息 | 其中显示信息:load average:0.00,0.01,0.05 (1分钟的负载,5分钟的负载,15分钟的负载) |
w | 查询系统信息 | w (who与uptime的结合查询) |
free | 查看系统内存 | free -h (会同时显示出单位) free -m (以m为单位显示) |
wc | 统计行 | wc -l 123.txt (文件中有多少行) |
grep | 查找文件里符合条件的字符串 | grep ‘119.4.253.206’ 123.txt (找到文件里有多少该字符串,都展示出来) grep ‘119.4.253.206’ 123.txt |
find | 查询文件 | find / -name 123.txt (查询文件的所有路径-可能会查出来目录,但不建议,因为很耗性能) find / -type f -name 123.txt (查找路径,限定文件) |
uniq | 对排序好的内容进行统计 | uniq -c 123.txt |
sort | 对内容进行排序 | uniq -c 123.txt |
df | 文件系统的磁盘使用情况统计 | df -h |
netstat | 查看网络端口的使用情况 | netstat -tunlp |
hostname | 查看主机名 | hostname |
ps | 显示所有进程信息(ps与grep组合使用,查找特定进程) | ps -ef (显示所有进程信息) ps -ef |
kill | 杀进程 | kill -l (查看kill的使用信号) kill -9 top (杀掉top命令进程 ) 摁住【ctrl+c】相当于传递了kill中2的信号 |
top | 监控Linux系统状况,比如cpu、内存的使用 | 摁住键盘【Q】退出 |
du | 统计大小 | du -sh (统计当前目录下所有文件大小) du -sm * (以m为单位统计文件大小) |
firewall-cmd | 查看防火墙的状态 | firewall-cmd --state centos 7 关闭防火墙:systemctl stop firewalld.service |
echo | 判断上一条命令是否正确 | echo ‘1234’ (打印1234在命令行上面) echo $? (判断上一条命令执行是否正确,正确显示0,非0就是未执行正确) |
cal | 查看日历 | cal 2008 (查询2008年的月份日期) |
2、Linux下输入输出错误重定向
(1)输入输出错误重定向理解
- 输入重定向:把要输入的信息写入到指定的文件中去
- 输出重定向:把要输出的信息写入到一个文件中去,而不是将要输出的文件信息输出到控制台(显示屏)
- 错误重定向:把错误的信息写入到一个文件中去
Linux中一切皆文件,文件描述符如下:
posix名称 | 文件描述符 | 用途 |
/dev/stdin | 0 | 标准输入 |
/dev/stdout | 1 | 标准输出 |
/dev/stderr | 2 | 标准错误输出 |
(2)输入输出错误重定向实操
# 输入重定向
- 符号:【<】
- 示例:
wc -l < 123.txt
# 输出重定向
- 符号:【> #代表覆盖写入】【>> 代表追加写入】
- 示例:
cat >> 123.txt //向123.txt文件中输入追加内容,不会覆盖已有内容
cat > 123.txt //向123.txt文件中输入内容,会覆盖已有内容
ls -lrt > 123.txt //将ls -lrt显示的信息输入到123.txt文件中,会覆盖已有内容
echo '12345' > 123.txt //使用echo命令输入信息到123.txt文件中,会覆盖已有内容
# 错误重定向
示例:
llll 2> 123.txt //llll报错信息输出到123文件中
llll 2> /dev/null //错误信息不需要了解,就可以输出到无底洞里边
(3)其他符号
符号 | 功能说明 | 示例 |
& | 等同于 | ls -lrt /boot /test 1>/root/123.txt 2>/root/123.txt (查看boot目录以及text目录下的内容,这里判断boot目录下有内容,则写入了123文件,但test目录不存在,错误重定向并没有写入文件) ls -lrt /boot /test 1>/root/123.txt 2>&1 (错误的输出信息等同于正确的信息输入,即输入至123文件) |
&> | 不区分正确还是错误 | ls -lrt /boot /test &>123.txt (不区分正确错误信息,全部输入到123文件) |
管道符 | ||
; | 可以执行多条命令 | cat /etc/passwd |
&& | 前面的命令执行成功的话后面的才可以执行成功;前面的命令执行失败后面的就不可以执行 | llll && echo 123 |
3、Linux下的目录分类与作用
(1)CentOS7****下常见的目录作用
# 目录描述
下面列举一些根目录下常用的目录,便于我们更快了解虚拟机架构
目录 | 描述 |
/ | 根目录,一般根目录下只存放目录,不要存放文件,也不要修改/删除目录下的内容 |
/mnt | 用于测试的目录 |
/root | root用户的家目录 |
/home | 普通用户的家目录 |
/tmp | 临时目录(比如文件上传之类的) |
/var | 存放经常修改的数据,比如程序运行的日志文件 |
/boot | 存放启动Linux时使用的内核文件,包括连接文件以及镜像文件(原则上该目录不允许操作) |
/etc | 系统默认存放配置文件的地方 |
/bin | 所有用户都能执行的程序 |
/sbin | 只有root才能执行的程序 |
/usr | 用户自己的软件都可以放到这儿来 |
/dev | 存放硬件设备的地方(/dev/cdrom) |
/media | 挂载光盘的地方 |
# 挂载光盘命令
命令 | 功能说明 |
mount /dev/cdrom /media | 挂载光盘 |
umount /dev/cdrom | 卸载光盘 |
df -h | 查看挂载光盘 |
(2)路径理解
- 绝对路径:即完整的路径
- 相对路径:相对于当前位置的路径(./代表的是当前目录; …/代表的是上一级目录)
4、虚拟机中Centos7与外部物理机的时间同步
(1)前提
一般情况下,新安装的虚拟机同外部物理机的时间不一致,这是因为我们未安装VMware Tools工具,因此需要安装该工具
(2)获取VMware Tools软件包
在VM中右键虚拟机->安装VMware Tools,VM软件会自动帮我们下载VMware Tools工具到光盘中,再把光盘挂载在Linux系统中(由于VM软件的限制,安装结果没有弹框提示,我们可以试图挂载,以此来观察工具是否下载完成)
(3)安装VMware Tools
安装步骤:
1、安装VMware Tools 使工具软件包下载到光盘
2、挂载光盘到Linux系统
3、复制安装包到root目录【cp VMwareTools-10.3.23-16594550.tar.gz /root/】
4、卸载光盘【umount /dev/cdrom】
5、解压安装包【tar -xf VMwareTools-10.3.23-16594550.tar.gz】
6、进入解压缩包【cd vmware-tools-distrib】
7、安装Perl【yum -y install perl-Data-Dumper】
8、点击安装VMware Tools【./vmware-install.pl】
安装时一路摁住键盘的回车键即可(都选用默认路径),安装完成后验证是否安装成功,有两种验证方法:
命令 | 功能说明 |
echo $? | 验证是否安装成功,返回0就是成功(echo命令本身就可以判断上一条命令是否正确) |
date “+%Y-%m_%d %H:%M:%S” | 验证虚拟机时间是否与外部物理机的时间同步(若不同步,则重启主机即可) |
(4)date命令使用
可以使用date命令去查看当前时间
命令 | 功能说明 |
date | 查看当前时间(不美观) |
date “+%Y-%m_%d %H:%M:%S” | 显示年-月-日 时:分:秒 (如 2024-03_05 05:22:14) |
date -s “2020-10-1 22:00:00” | 更改时间为 2020-10-1 22:00:00 |
date -d yesterday “+%Y-%m-%d %H:%M:%S” | 查看当前时间的前一天的时间 |
date “+%w” | 查看今天是周几 |
注意:卸载的光盘的时候会出现如下报错
[root@localhost media]# umount /dev/cdrom
umount: /media: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
[root@localhost media]#
解决方法:
首先确认目前是联网状态,接下来需要安装 fuser 工具,用来查看光盘使用情况 ,接着杀掉光盘使用进程即可
安装fuser工具:yum install -y psmisc
查看光盘使用情况:fuser -mv /media
取消挂载盘符:fuser -kv /media
5、Linux编辑神器vi****的使用
(1)vi的基本概念
vi的三种模式:命令模式、插入模式、底行模式
使用vi命令则进入命令模式,不可编辑,摁住键盘的 i 或者 o 或者 a,进入插入模式,编辑我们想要的内容;内容编辑完成后,再摁住键盘的左上角esc键盘,切入命令模式;在命令模式输入【:】进入底行模式,在底行模式还可以做其他的一些操作
- 进入插入模式:摁住键盘的 i 或者 o 或者 a
- 进入命令模式:摁住键盘的左上角esc键盘
- 进入底行模式:前提是得在命令模式输入【:】进入
(2)命令行模式操作
命令 | 功能说明 |
Esc | 进入命令行模式 |
$ / 【shift + 4】 | 移动到这一行的行尾 |
gg | 移动到文档第一行行首 |
G | 移动到文档最后一行行首 |
x | 删除内容,删除一个字符【光标所在字符】 |
dd | 删除光标所在的那一整行 |
u | 复原原来的操作 |
v | 点击【v】后进入复制,按上下左右键选中范围,再按【y】就能复制 |
p | 粘贴 |
(3)底行模式操作
命令 | 功能说明 |
n | n为数字,光标移动到第n行 |
/ | 寻找内容,光标移到目标行行首 |
%s/word1/word2/g | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2【word1字符串实现全文档替换】 |
n1,n2s/word1/word2/g | n1 与 n2 为数字,在第 n1 与 n2行之间寻找 word1这个字符串,并将该字符串取代为 word2 |
set nu | 显示每一行的行号 |
set nonu | 取消行号 |
q! | 强制离开不保存 |
wq | 离开并保存 |
wq! | 强制离开并保存 |
! | 相当于暂时离开,可以在【!】后直接输入命令进行别的操作 |
6、Linux****的用户管理与组管理
(1)Linux理解
Linux是一个多用户、多任务的操作系统
(2)Linux用户的分类
分类 | 权限 | UID |
超级用户root | 拥有至高无上的权限 | UID:0 |
普通用户 | 权限有一定的限制,可以登录系统,一般可以执行 /usr/local/bin 或者 /bin 或者 /usr/bin 或者自己家目录的命令 | UID:500-60000(centos 6)UID:1000-60000(centos7) |
系统用户(伪用户) | 一般不会登录系统,一般情况是用来维持某个服务程序 | UID:1-499(centos 6) UID:1-1000(centos 7) |
(3)用户的相关配置文件
- 账号信息:/etc/password
- 密码信息:/etc/shadow
test :x :1000 :1000 : :/home/test :/bin/bash
用户 密码占位符
UID GID
用户描述 用户家目录 登录后使用的
shell
解释/sbin/nologin #
是不可登录的/bin/bash #
可以登录
(4)用户相关命令
命令 | 命令属性 | 大功能 | 各属性功能说明 |
useradd | -u | 添加用户命令 | 指定用户UID |
-d | 指定用户主目录 | ||
-g | 指定用户所属组 | ||
-r | 指定用户是系统用户 | ||
-s | 用户登录shell解释器 | ||
-M | 不创建主目录 | ||
userdel | -r | 删除用户命令 | 连同家目录一块删除 |
groupadd | 添加用户组命令 | ||
groupdel | 删除用户组命令 | ||
usermod | -u | 修改用户的信息命令 | 指定用户UID |
-d | 指定用户主目录 | ||
-g | 指定用户所属组 | ||
passwd YYL | 设置用户密码命令passwd | ||
echo “123456” | passwd --stdin YYL |
(5)创建用户示例
创建一个用户YYL,指定UID为1010,指定家目录为/home/YYL,指定所属组为root组,指定登录shell为/bin/bash
useradd -u 1010 -d /home/YYL -g root -s /bin/bash YYL
注意:登录用户时出现以下信息如何解决
如:
bash-4.2$
bash-4.2$
这是因为家目录下缺少一些东西,在/etc/ske1/路径下将相关信息复制进系统用户家目录即可
解决:复制相关信息到家目录
cp -r /etc/skel/.bash* /home/YYL/
7、Linux****必备核心知识之文件属性与权限操作
(1)文件属性
ls -lrti | 查看文件的属性 |
#文件显示解读
135140482 -rw-------. 1 root root 1902 Oct 1 2020 yum.log |
第一列 |
第二列-文件的类型与权限 |
r #表示读权限 |
4 #表示读权限 |
rw------- |
第三列 |
第四列 |
第五列 |
第六列 |
第七列 |
第八列 |
# 链接
分类 | 命令 | 例如 | 举例 |
软链接 | ln -s | ln -s /home/YYL/yum.log /usr/local | i 节点跟源文件不一样,源文件一旦删除,软链接将找不到源文件 |
硬链接 | ln | ln /home/YYL/yum.log /usr/local/YYL/ | i 节点与源文件一模一样,源文件删除,硬链接还可以继续使用,常用于防止重要文件被误删 |
(2)文件权限更改
命令 | 参数 | 举例 |
chmod | 无参 | chmod u+x,g+w+o+w boot.log |
chmod u-x,g-w+o-w boot.log | ||
chmod 777 boot.log | ||
-R #递归的意思 | chmod -R 777 /home/YYL/* |
(3)文件所有者/所属组修改
命令 | 参数 | 举例 | 解释 |
chown | -R | chown -R root:YYL YYL | 递归更改文件目录YYL的所属者为root用户 跟 所属组为YYL组 |
8、Linux 的文件归档与解压缩详细介绍
(1)文件归档
文件归档也称之为打包,指的是一个文件或者多个文件或者目录的一个集合,这个集合存储在一个文件中;归档的文件是没有进行压缩的,所以占用的空间是所有文件或者目录的总和(工作中经常与压缩结合在一起使用)
(2)文件压缩
节约磁盘空间,加快文件的传输速率
(3)压缩与解压缩命令
压缩与解压缩有两种命令:gzip 、xz,区别如下:
- gzip:不能压缩目录,只能压缩文件,压缩速度最快,但是1压缩比例较低,扩展名【.gz】
- zx:可以压缩目录和文件,压缩速度比较慢,但是压缩比例最高,扩展名【.xz】
命令 | 目的 | 操作命令 |
gzip | 不保留源文件压缩 | gzip 111.txt |
保留源文件压缩 | gzip -c 123.txt > 123.txt.gz | |
不保留源文件解压 | gunzip 111.txt.gz | |
gzip -d 123.txt.gz | ||
保留源文件解压 | gunzip -c 123.txt.gz > 234.txt | |
xz | 不保留源文件压缩 | xz 111.txt |
保留源文件压缩 | xz -c 123.txt > 123.txt.xz | |
不保留源文件解压 | unxz 111.txt.xz | |
xz -d 123.txt.xz | ||
保留源文件解压 | xz -d -k 123.txt.xz |
(3)归档/解档/压缩/解压命令
参数 | 目的 | 示例 | 命令解析 |
-c | 归档时创建新文件,必选 | 归档vmware-tools-distrib文件并命名为vmware.tar | tar -cf vmware.tar vmware-tools-distrib |
-f | 归档时指定文件格式,必选 | ||
-v | 归档时显示详细过程 | 归档vmware-tools-distrib文件并命名为vmware.tar,归档时显示详细过程 | tar -cvf vmware.tar vmware-tools-distrib |
-z | 以gzip的方式归档并压缩 | 归档并压缩vmware-tools-distrib文件并命名为vm-tools.tar.gz,归档时显示详细过程 | tar -zcvf vm-tools.tar.gz vmware-tools-distrib |
-J | 以xz的方式归档并压缩 | 归档并压缩vmware-tools-distrib文件并命名为vm-tools.tar.xz,归档时显示详细过程 | tar -Jcvf vm-tools.tar.xz vmware-tools-distrib |
归档并压缩vmware-tools-distrib文件并命名为vm-tools.tar.xz,文件放于/home/YYL目录下,归档时显示详细过程 | tar -Jcvf /home/YYL/vm-tools.tar.xz vmware-tools-distrib | ||
-x | 接档解压操作 | 解档解压文件vm-tools.tar.xz | tar -xf vm-tools.tar.xz |
-C | 指定解压路径 | 指定vm-tools.tar.xz文件的解压路径为:/home/YYL | tar -xf vm-tools.tar.xz -C /home/YYL |
四、Linux核心命令
1、Linux搜索-find命令高级用法
(1)基本用法
命令 | 参数 | 参数解析 | 示例 | 示例解析 |
find 路径 选项 | -type | 根据文件类型搜索 | find /var/log -type f -name “*.log” | 查找后缀为“.log”的文件 |
find /var/log -type d | 查找该绝对路径下的目录 | |||
-name | 根据文件名搜索 | find /var/log -type f -name “*.log” | 查找后缀为“.log”的文件 | |
-perm | 根据文件权限 | find /var/log -perm 600 -type f -name “*.log” | 查找绝对路径下权限为600的后缀为“.log“的文件 | |
-user | 根据文件所属主 | find /var/log -user root | 查找绝对路径下所属主为 root 的文件【不仅限于文件】 |
(2)高级用法
# 命令使用解析
命令 | 各参数 | 各参数解析 | 示例 |
find /var/log -type f -name “*.log” -exec wc -l {} ; | ; | 可以执行多条命令 | find /var/log -type f -name “*.log” -exec cp -a {} /home/YYL/YYL2 ; |
\ | 转义符,使得该条命令结束 | ||
{} | 把find命令匹配到的每一次结果传递给{} | ||
-exec | 执行 |
# 命令相关参数
参数 | 参数解析 | mtime参数 | mtime参数解析 | 示例 |
-mtime | 根据文件的变更时间来查找 | -n | 表示更改时间举例现在n天以内 | find /var/log -mtime -2 -name “*.log” -exec ls -lrt {} ; |
+n | 表示更改时间举例现在n天以前 | find /var/log -mtime +2 -name “*.log” -exec ls -lrt {} ; |
2、CentOS7防火墙以及selinux介绍
(1)防火墙
# 防火墙理解
主要用于用户信息安全防护,主要有软件防火墙和硬件防火墙,firewall防火墙是权健防火墙
- 在Centos7之前默认采用的防火墙是iptables
- 在Centos7则采用的防火墙是firewall
# 设置防火墙相关命令
操作 | 命令 |
查看firewalld服务状态 | systemctl status firewalld |
开启firewalld服务 | systemctl start firewalld.service |
关闭firewalld服务 | systemctl stop firewalld.service |
重启firewalld服务 | systemctl restart firewalld.service |
查看firewall防火墙状态 | firewall-cmd --state |
查看防火墙开放端口 | firewall-cmd --list-port |
查看指定80端口是否开放 | firewall-cmd --query-port=80/tcp |
开放80端口 | firewall-cmd --permanent --add-port=80/tcp(–permanent代表永久生效,没有此参数重启后就失效了) |
加载生效开放的端口 | firewall-cmd --reload |
关闭80端口 | firewall-cmd --remove-port=80/tcp |
注意:
- 安装telnet命令:yum -y install xinetd telnet telnet-server(确认联网状态)
- 安装netstat与ifconfig命令:yum -y install net-tools(确认联网状态)
(2)SELinux介绍
SELinux有三种工作模式,配置文件路径在:/etc/selinux/config
- enforcing:强制模式,违反selinux规则的行为将被组织并记录到日志中去
- permissive:宽容模式,违反selinux规则的行为将会记录到日志中去
- disabled:关闭模式
3、linux服务器之间telnet与scp命令用法
(1)telnet命令
telnet命令主要用于测试到某台机器的某个端口是否畅通,telnet命令依赖于xinetd服务与telnet-server服务
- 用法:telnet IP地址 端口
- 场景使用:测试某个端口是否畅通
(2)scp命令
作用:用于服务器之间的文件或者文件目录拷贝
用法1:从本机拷贝文件到别的机器
scp 本机文件的存放路径 root@服务器IP:服务器目标路径
示例:
从192.168.213.132(本机)这台机器的 /root/VMwareTools-10.3.23-16594550.tar.gz 文件拷贝至192.168.213.129 的 /root/下
scp /root/VMwareTools-10.3.23-16594550.tar.gz [email protected]:/root/
用法2:从别的机器拷贝文件到本地目录
scp root@服务器IP:服务器目标路径 本机文件的存放路径
示例:
从192.168.213.129这台机器的/root/VMwareTools-10.3.23-16594550.tar.gz文件拷贝至 192.168.213.132(本机)的/root/下
scp [email protected]:/root/VMwareTools-10.3.23-16594550.tar.gz /root/
参数说明:
- -r:起到递归的作用,主要用来拷贝目录
示例:scp -r /root/vmware-tools-distrib [email protected]:/root/
4、Linux进程管理命令之 ps -ef 与 ps aux 详解
列名 | 含义 |
UID | 用户ID |
PID | 进程ID |
PPID | 父进程号 |
C | CPU的占用率 |
STIME | 进程的启动时间 |
TTY | TTY终端 |
TIME | 进程执行起到现在总的CPU占用时间 |
CMD | 启动这个进程的命令 |
列名 | 含义 |
USER | 哪个用户启动了这个命令 |
PID | 进程的ID |
%CPU | CPU的占用率 |
%MEM | 内存的使用率 |
VSZ | 如果一个程序完全驻留在内存中一共需要使用多少内存空间 |
RSS | 进程当前占用了多少内存 |
TTY | TTY终端 |
STAT | 表示当前进程的状态(S #处于休眠的状态;D #不可中断的状态;Z #僵尸进程;X #死掉的进程 ) |
START | 启动这个命令的时间点 |
TIME | 进程执行起到现在总的CPU占用时间 |
COMMAND | 启动这个进程的命令 |
目的:一般执行 ps -ef 或者 ps aux命令是查看我们的进程是否启动成功,或者找出进程号,对进程进行kill强制关闭
5、处理海量数据之cut命令
(1)cut应用场景
通常对数据进行列的提取
(2)语法
cut [选项]...[file]
(3)示例
选项 | -d #指定分割符(不加 -d 选项,默认为制表符,而非空格) |
-f #指定截取区域 | |
-c #以字符为单位进行分割 | |
以【:】为分隔符,截取出/etc/passwd的第一列和第三列 | cut -d ‘:’ -f 1,3 /etc/passwd |
以【:】为分隔符,截取出/etc/passwd的第一列到第三列 | cut -d ‘:’ -f 1-3 /etc/passwd |
以【:】为分隔符,截取出/etc/passwd的第二列到最后一列 | cut -d ‘:’ -f 2- /etc/passwd |
截取/etc/passwd文件从第二个字符到第九个字符 | cut -c 2-9 /etc/passwd |
截取linux上面所有可登录的普通用户 | cat /etc/passwd |
6、处理海量数据之awk命令
(1)awk简介
一个非常强大的数据处理命令,支持条件判断、数组、循环等功能,与grep、sed被称为linux三剑客
(2)awk应用场景
通常对数据进行列的提取
(3)awk语法
- awk ‘条件1 {执行动作} 条件2 {执行动作} …’ 文件名
- awk [选项] ‘条件1 {执行动作} 条件2 {执行动作} …’ 文件名
(4)awk特殊要点以及举例说明
特殊字段 | 含义 | 举例 | 查询结果 |
NR | 行号 | df -h | awk ‘NR==4 {print $1}’ |
$1 | 代表第一列 | df -h | awk ‘NR==1 {print $1}’ |
$2 | 代表第二列 | df -h | awk ‘(NR>=2 && NR <=5) {print $1}’ |
$NF | 代表最后一列 | df -h | awk ‘{print $NF}’ |
-F | 指定分割符 | awk -F":" ‘{print $1}’ /etc/passwd | 查询/etc/passwd文件下以【:】为分割符的第一列数据 |
BEGIN | 在读取所有行内容前就开始执行,一般用来初始化操作 | cat /etc/passwd | awk ‘BEGIN {FS=“:”} {print $1}’ |
df -h | grep -v ‘Filesystem’ | awk ‘BEGIN {printf “Filesystem \n \n”} {printf $1} {printf “\t Use%:”} {print $5}’ | 查询文件磁盘使用情况中的Filesystem和Use%列 |
END | 结束的时候执行 | df -h | grep -v ‘Filesystem’ |
7、处理海量数据之sed命令
(1)sed应用场景
主要对数据进行处理(选取、新增、替换、删除、搜索)
(2)sed语法
- sed [选项] [动作] 文件名
(3)sed常见选项与参数
选项 | 含义 | 举例 | 结果 |
-n | 把匹配到的行输出打印到屏幕 | df -h | sed -n ‘2p’ |
p | 以行为单位进行打印,通常与【-n】一起使用 | ||
d | 删除 | df -h | sed ‘2d’ |
a | 在行的下面插入新的内容 | df -h | sed ‘2a 1234567890’ |
i | 在行的上面插入新的内容 | df -h | sed ‘2i 1234567890’ |
c | 替换 | df -h | sed ‘2c 1234567890’ |
s/要被取代的内容/新的字符串/g | 指定字符串进行替换 | df -h | sed ‘s/centos-root/centos7/g’ |
-i | 对源文件进行修改(慎用,用之前需要备份源文件) | sed -i ‘s/centos7/centos8/g’ df.txt | 将df.txt文件中的【centos7】强制修改成【centos8】 |
p | 在文件中搜索内容 | sed -n ‘/tmpfs/p’ df.txt | 打印df.txt文件中的【tmpfs】字段—非精确查找 |
-e | 表示可以执行多条动作 | sed -e ‘s/centos8/centos7/g’ -e ‘s/tmpfs/TMP/g’ df.txt > 888.txt | 替换df.txt文件中的【centos8】以及【tmpfs】更为【centos7】和【TMP】,然后重定向至888.txt文件 |
五、Linux服务器常用企业服务安装
1、rpm方式介绍
(1)rpm安装
安装别人编译好的软件包,rpm即Redhat Package Manager,是Redhat的软件包管理方式
(2)rpm安装优点
- 软件已经编译打包,所以传输和安装方便,让用户免除编译
- 在安装之前,会先检查系统的磁盘、操作系统版本等,避免错误安装
(3)rpm安装缺点
- 软件包安装的环境必须与打包时的环境一致或相当
- 必须安装软件的依赖包
(4)rpm包命名规则
which-2.20-7.el7.x86_64.rpm
分段 | 含义 |
which | 代表的是软件名称 |
2.20 | 代表的是软件版本号 |
7 | 代表的是发布版本号,指的是这个rpm软件包是第几次编译生成的 |
el7 | 代表的是企业版的7操作系统 |
x86 | 代表的是CPU架构 |
64 | 代表的是系统的位数 |
(5)安装rpm软件包
参数 | -i | 安装软件包 |
-v | 输出更多的详情信息 | |
-h | 输出哈希标记(#) | |
–nodeps | 不验证软件的依赖(非常不推荐,即使安装成功了,也用不了) | |
举例 | rpm -ivh zsh-5.0.2-7.el7.x86_64.rpm | |
rpm -ivh mariadb-server-5.5.35-3.el7.x86_64.rpm --nodeps (不推荐) |
(6)rpm包下载地址
http://rpmfind.net/
http://rpm.phone.net/
http://www.rpmseek.com/index.html
(7)rpm查询功能
命令 | 参数 | 参数说明 | 举例 |
rpm -q | -a | 查询所有已安装的软件包 | rpm -qa zsh |
-f | 查询文件所属软件包 | rpm -qf /usr/bin/zsh | |
-p | 查询软件包 | rpm -qp zsh-5.0.2-7.el7.x86_64.rpm | |
-i | 显示软件包信息 | rpm -qi zsh | |
-l | 显示软件包中的文件列表 | rpm -ql zsh | |
-d | 显示被标注为文档的文件列表 | rpm -qd zsh | |
-c | 显示被标注为配置文件的文件列表 | rpm -qc zsh |
(8)rpm包升级
参数 | 参数说明 | 示例 |
-U | 升级rpm软件服务 | rpm -Uvh zsh-5.0.2-7.el7.x86_64.rpm(软件包必须是要升级的) |
(9)rpm包卸载
参数 | 参数说明 | 示例 |
-e | 卸载软件包 | rpm -e zsh |
2、yum方式介绍
(1)yum安装介绍
基于 C/S架构,yum安装称之为傻瓜式安装
(2)yum安装优缺点
- 优点:方便快捷,不用考虑依赖,自动下载软件包
- 缺点:人为无法干预,无法设定想要的参数
(3)配置本地yum源
配置文件的路径在:/etc/yum.repos.d/
[Centos7-yum] | yum源名称,唯一,用来区分不同的yum源 |
name=Centos7-source | 对yum源的描述信息 |
baseurl=file:///mnt | yum源的路径(repodata目录所在的目录) |
enabled=1 | 表示启用yum源 |
gpgcheck=0 | 为1表示使用公钥检验rpm的正确性 |
(4)yum安装方式的使用
yum repolist | 查看yum源列表 |
yum clean all | 清空之前yum缓存 |
yum makecache | 创建yum缓存,为后续安装更加快速 |
yum -y install | 安装软件(yum -y install zsh) |
yum info zsh | 查看zsh软件包信息(不管安没安装都会有信息) |
yum info installed zsh | 查看已经安装好的软件信息 |
yum remove -y zsh | 卸载软件 |
yum search gcc | 搜索gcc软件 |
yum update | 升级软件 |
3、源码编译安装方式介绍
(1)源码编译安装优缺点
- 优点:编译安装过程,可以设定参数,指定安装目录,按照需求进行安装,指定安装的版本,灵活性比较大
- 缺点:需要对依赖包一个一个的进行安装,不敢随便升级,一升级可能会由于依赖包的不能使用导致一系列连锁反应
(2)安装步骤
第一步:解压源码包
tar -xf 源码包
第二步:配置
进入解压后的目录,用 ./configure 命令来配置相关信息(比如指定安装目录 — prefix=/usr/local/nginx)和生成makefile文件
第三步:编译
make -j4
第四步:安装
make install
4、JDK8安装实战
(1)下载jdk官网
下载好后,将该压缩包上传至虚拟机中,具体上传步骤可参考【第二章第五节】
(2)全局环境变量的配置文件
修改文件【profile】的内容,在【profile】的最后添加下面的配置文件(其中路径需要修改为jdk1.8所在路径,其他不变)
命令:文件路径:vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.8 #这个路径要改,其余不需要改
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
(3)加载环境变量
命令:source /etc/profile
(4)验证是否安装成功
命令:java -version
5、部署tomcat网站服务器
(1)Tomcat定义
Tomcat是一个开源免费的Web应用服务器,性能稳定,是目前比较流行的Web应用服务器
(2)Tomcat下载
方法1:官网下载
官网地址:Apache Tomcat® - Apache Tomcat 8 Software Downloads
方法2:在虚拟机中应用wget命令下载
yum install -y wget //安装wget命令
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.99/bin/apache-tomcat-8.5.99.tar.gz
(3)Tomat解压
解压后将文件移动至 /usr/local/tomcat8目录下(统一存放)
解压:tar -xf apache-tomcat-8.5.99.tar.gz
移动:mv apache-tomcat-8.5.99 /usr/local/tomcat8
检查java环境:java -version
(4)Tomat重要目录介绍
目录 | 含义 |
bin | 存放可执行命令,比如开启和关闭 |
conf | 配置文件 context.xml:Tomcat公用的环境配置,tomcat服务器会定时去扫描这个文件 web.xml:web应用程序描述文件,都是关于web应用程序的配置文件 server.xml:可以设置tomcat的端口号,添加虚拟机这些的,是对服务器的设置 tomcat-users.xml:用户配置文件 |
webapps | 发布web应用 |
lib | 库文件 |
(5)启动Tomat
//在bin路径下执行
sh startup.sh
(6)查看是否监听tomcat
ps -ef | grep tomcat
netstat -tunlp | grep 3328
(7)测试能否访问测试页面
关闭防火墙:systemctl stop firewalld.service
测试能否访问:IP地址:8080
6、部署apache网站服务器
(1)Apache介绍
Apache是软件基金会的一个开源免费的网页服务器,也是目前世界上使用最广泛的一种 web server,apache最出名的是它跨平台、高效和稳定,可以运行在几乎所有广泛使用的计算机平台上,其特点是简单、速度快、性能稳定,并可做代理服务器来使用,且可通过简单的 API 扩充,将 Perl/Python 等解释器编译到服务器中
(2)源码编译安装Apache
第一步:下载组件 apr 并解压
组件apr官网:Download - The Apache Portable Runtime Project
下载成功后,上传至虚拟机,并进行解压
解压命令:tar -xf apr-1.7.0.tar.gz
第二步:下载组件 apr-util 并解压
组件apr官网:Download - The Apache Portable Runtime Project
下载成功后,上传至虚拟机,并进行解压
解压命令:tar -xf apr-util-1.6.1.tar.gz
第三步:下载 apache 并解压
apache官网:Download - The Apache HTTP Server Project
下载成功后,上传至虚拟机,并进行解压
解压命令:tar -xf httpd-2.4.39.tar.gz
第四步:安装 gcc 环境
安装命令:yum install -y gcc*
第五步:安装 zlib-devel 库
安装命令:yum install -y zlib-devel
第六步:安装 xml 解析器
安装命令:yum install -y expat-devel
第七步:下载并安装 pcre 正则表达式库
官网下载地址:https://ftp.pcre.org/pub/pcre/
下载成功后,上传至虚拟机,并进行解压
解压命令:tar -xf pcre-8.43.tar.gz
进入【pcre-8.43】目录下进行安装,安装时需要指定安装路径,这里我创建了一个路径为 /usr/local/pcre,然后安装在该路径下
//1.进入pcre-8.43目录下
cd pcre-8.43
//2.新建一个安装路径
mkdir -p /usr/local/pcre
//3.指定安装路径为刚创建的路径
./configure --prefix=/usr/local/pcre
//4.安装pcre
make && make install
第八步:把组件apr与组件apr-util拷贝进apache安装包
cp -rf apr-1.7.0 /root/test/httpd-2.4.39/srclib/apr
cp -rf apr-util-1.6.1 /root/test/httpd-2.4.39/srclib/apr-util
第九步:进入apache安装包使用./configure进行环境收集检验与配置
进入apache安装包,新建目录/usr/local/apache,然后执行./configure命令校验
cd /root/test/httpd-2.4.39
mkdir -p /usr/local/apache
./configure \--prefix=/usr/local/apache \--sysconfdir=/usr/local/apache/etc \--with-apr=/root/test/apr-1.7.0 \--with-apr-util=/root/test/apr-util-1.6.1 \--with-included-apr \--with-pcre=/usr/local/pcre \--enable-deflate \--enable-expires \--enable-headers \--enable-so \--enable-modules=most \--with-mpm=worker \--enable-rewrite
选项 | 说明 |
–prefix | 指定安装目录 |
–sysconfdir | 指定配置文件的路径 |
–with-apr | 指定依赖文件的路径 |
–with-apr-util | 指定依赖文件的路径 |
–with-included-apr | 增加编译效率 |
–with-pcre | 指定pcre正则表达式库的安装路径 |
–enable-deflate | 开启压缩文件提高速度节约带宽 |
–enable-expires | 开启让浏览器缓存,减轻服务器压力,提高访问速度 |
–enable-headers | 使得支持http头 |
–enable-so | 使得支持动态模块 |
–enable-modules=most | 使得支持大多数模块 |
–with-mpm=worker | 使得Apache工作在worker模式下 |
–enable-rewrite | 使得支持地址重写 |
第十步:编译并安装apache
操作命令:make -j 4 && make install
第十一步:设置服务器名称
//操作命令
vi /usr/local/apache/etc/httpd.conf
输入:ServerName进行搜索
添加:
ServerName www.xdclass.com
第十二步:测试并启停apache服务器
//设置软链接
ln -s /usr/local/apache/bin/* /usr/sbin/
//设置环境变量
echo "export PATH=/usr/local/apache/bin:$PATH" >> /etc/profile
//加载环境变量
source /etc/profile
//测试配置文件语法有没有错误
httpd -t
//启动apache服务
httpd -k start
//关闭apache服务
httpd -k stop
在防火墙关闭的条件下,打开浏览器,输入IP地址,成功打开apache测试页面,如下图,即部署完成
192.168.213.132:80
7、部署nginx网站服务器
(1)nginx简介
Nginx是一款高性能的 HTTP 和反向代理服务器
(2)nginx优点
- 高并发量:根据官方给出的数据,能够支持高达 50000 个并发连接数的响应
- 内存消耗少:处理静态文件,同样起 web 服务,比 apache 占用更少的内存及资源,它是轻量级的
- 简单稳定:配置简单,基本在一个 conf 文件中配置,性能比较稳定,可以 7*24小时长时间不间断运行
- 模块化程度高:Nginx 是高度模块化的设计,编写模块相对简单
- 负载均衡:Nginx 可以做高并发的负载均衡,且 Nginx 是开源免费的,如果使用F5等硬件来做负载均衡,硬件成本比较高
- 可移植性高:Nginx 代码完全用C语言编写
(3)nginx缺点
- 动态处理差:Nginx 处理静态文件好,耗费内存少,但是处理动态页面比较差
- rewrite弱:虽然 Nginx 支持 rewrite 功能,但是相比于 Apache 来说,Apache 比 Nginx 的 rewrite 强大
(4)编译安装nginx
第一步:安装gcc编译环境
yum install -y gcc-c++
第二步:安装zlib-devel库
yum install -y zlib-devel
第三步:安装OpenSSL密码库
yum install -y openssl openssl-devel
第四步:安装pcre正则表达式库
官网下载地址:https://ftp.pcre.org/pub/pcre/
下载成功后,上传至虚拟机,并进行解压
解压命令:tar -xf pcre-8.43.tar.gz
进入【pcre-8.43】目录下进行安装,安装时需要指定安装路径,这里我创建了一个路径为 /usr/local/pcre,然后安装在该路径下
//1.进入pcre-8.43目录下
cd pcre-8.43
//2.新建一个安装路径
mkdir -p /usr/local/pcre
//3.指定安装路径为刚创建的路径
./configure --prefix=/usr/local/pcre
//4.安装pcre
make && make install
第五步:下载编译安装Nginx
Nginx 官网:nginx: download
下载成功后,上传至虚拟机,并进行解压
解压命令:tar -xf nginx-1.16.0.tar.gz
进入【nginx-1.16.0】目录下进行安装,安装时需要指定安装路径,这里我创建了一个路径为 /usr/local/pcre,然后安装在该路径下,接着使用./configure进行环境收集检验与配置,编译无误后进行安装
//1.进入nginx-1.16.0目录下
cd nginx-1.16.0
//2.新建一个安装路径
mkdir -p /usr/local/nginx
//3.指定安装路径为刚创建的路径
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre
//4.安装pcre
make && make install
第六步:启停Nginx服务
//启动nginx服务
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
//测试相关配置文件是否正常
/usr/local/nginx/sbin/nginx -t
//关闭nginx服务
/usr/local/nginx/sbin/nginx -s stop
打开浏览器测试能否访问到测试页面,如图所示,即启动成功【ip addr 获取当前虚拟机IP地址,访问端口默认80】
8、安装mysql5.7.17数据库服务器
(1)mysql简介
(2)准备工作
第一步:关闭防火墙
//关闭防火墙命令
systemctl stop firewalld.service
//查看防火墙是否关闭
firewall-cmd --state
第二步:关闭selinux
进入config文件,将【SELINUX】的值改为【disabled】,如下图所示
vi /etc/selinux/config
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
进入【pcre-8.43】目录下进行安装,安装时需要指定安装路径,这里我创建了一个路径为 /usr/local/pcre,然后安装在该路径下
//1.进入pcre-8.43目录下
cd pcre-8.43
//2.新建一个安装路径
mkdir -p /usr/local/pcre
//3.指定安装路径为刚创建的路径
./configure --prefix=/usr/local/pcre
//4.安装pcre
make && make install
第五步:下载编译安装Nginx
Nginx 官网:nginx: download
下载成功后,上传至虚拟机,并进行解压
解压命令:tar -xf nginx-1.16.0.tar.gz
进入【nginx-1.16.0】目录下进行安装,安装时需要指定安装路径,这里我创建了一个路径为 /usr/local/pcre,然后安装在该路径下,接着使用./configure进行环境收集检验与配置,编译无误后进行安装
//1.进入nginx-1.16.0目录下
cd nginx-1.16.0
//2.新建一个安装路径
mkdir -p /usr/local/nginx
//3.指定安装路径为刚创建的路径
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre
//4.安装pcre
make && make install
第六步:启停Nginx服务
//启动nginx服务
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
//测试相关配置文件是否正常
/usr/local/nginx/sbin/nginx -t
//关闭nginx服务
/usr/local/nginx/sbin/nginx -s stop
打开浏览器测试能否访问到测试页面,如图所示,即启动成功【ip addr 获取当前虚拟机IP地址,访问端口默认80】
8、安装mysql5.7.17数据库服务器
(1)mysql简介
(2)准备工作
第一步:关闭防火墙
//关闭防火墙命令
systemctl stop firewalld.service
//查看防火墙是否关闭
firewall-cmd --state
第二步:关闭selinux
进入config文件,将【SELINUX】的值改为【disabled】,如下图所示
vi /etc/selinux/config
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-oPKqHDD4-1712964043228)]
[外链图片转存中…(img-Z7JXLsiG-1712964043228)]
[外链图片转存中…(img-aU8ZgcU4-1712964043228)]
[外链图片转存中…(img-rZ0DHjYm-1712964043229)]
[外链图片转存中…(img-M8v6p1ua-1712964043229)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-dXhYG8f4-1712964043229)]
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
[外链图片转存中…(img-9Rrrbyug-1712964043229)]
给大家整理的电子书资料:
[外链图片转存中…(img-rWqlVURR-1712964043230)]
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-1tKLdXyD-1712964043230)]