【Linux 基础】
【Linux 基础】
一、 Linux 概述
1. Linux 介绍
UNIX 是一个强大的多用户、多任务操作系统,于1969年在贝尔实验室开发,UNIX 的商标权有国际开放组织(The Open Group)所拥有,UNIX 操作系统是商业版,需要收费
Linux 是基于 UNIX 的
Linux 是一种自由和开放源代码的操作系统,存在着许多不同的 Linux 版本,但他们都使用 Linux 内核
Linux 可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机等
2. Linux 系统的应用
- 服务器系统 Web 应用服务器、数据库服务器、接口服务器、DNS、FTP 等等
- 嵌入式系统路由器、防火墙、手机、PDA、IP 分享器、交换器、家用用品的微电脑控制器等等
- 高性能运算、计算密集型应用 Linux 有强大的运算能力
- 桌面应用系统
- 移动手持系统
3. Linux 的版本
Linux 的版本分为两种:内核版本和发行版本:内核版本是指在 Linus 领导下的内核小组开发维护的系统内核版本号,在内核上作出一些修改就是发行版本,有些厂商拿到内核版本修改出强大的应用功能就开始提供给外界收费使用
- Linux 主流的版本
- Ubuntu Linux :图形化界面较为优秀
- Red Hat Linux
- SuSE Linux
- Gentoo Linux
- CentOS Linux :免费
- 麒麟 Linux
- 红旗 Linux ……
二、 采用虚拟机安装 Linux
可以采用为电脑添加双系统,但是可以使用一种更优的解决方式,使用虚拟机的方式安装 Linux
1. 虚拟机
虚拟机:使用软件模拟一台虚拟的电脑
- 虚拟机软件:
- VMware:收费的
- VirtualBox:免费的
2. 下载 CentOS
初学者推荐使用 7.6 ~ 7.9 版本
建议 CentOS 7.9 版本,稳定性较好
- 官方下载网站较慢,不推荐使用
- 阿里云镜像网站
- 清华镜像网站
当然还可以选择不同的版本,依据个人选择
2. 下载 VMware
- 可以下载并使用 VMware 16 版本 官网下载 VMware
- 需要使用许可证密钥
- 下载安装较为简单
- 注意更改安装位置
- 建议取消检查更新
- 当最后一步时,在“许可证”选项中添加上文中的产品密钥,最后完成即可
- 启动该软件后,在“帮助”处仍可以输入许可证密钥
- 在“编辑”下的“首选项”中,可以进行自定义的设置,在“显示”一栏可以更改页面的深浅色
3. 安装并配置 VMware 的 CentOS
-
点击“文件”下的“新建虚拟机”
-
按照如下引导进行操作即可
-
选择典型安装
-
注意:要选择稍后安装,否则可能会自动安装在 C 盘,导致内存问题
-
选择操作系统和版本(依据自己下载的 CentOS 版本)
-
命名及选择位置
-
推荐按图中设置磁盘容量(如果有特殊需要,可以更改大小)
-
点击自定义硬件
-
依据之前下载的镜像位置设置
-
选择网络适配器中的NAT 模式(也可以根据个人需求更改)
-
之后即可安装运行该虚拟机,如果页面字迹较小,点击红框处选择拉伸方式
-
之后回车进行安装即可
-
选择语言
-
选择时区语言等(自行进行设置)
-
在上图中的软件选择选项中,推荐如图选择,之后点击完成
-
选择下图中的安装位置
-
安装位置,点击完成
-
选择标准分区
-
分区介绍:
/swap
交换分区,一般为机器内存的两倍,少于这个容量,系统无法进入休眠。存放系统内存交换文件,实质是硬盘上的交换空间而非分区,系统格式为swap
,默认休眠将数据储存于此,可以取消设置该分区,如不用 swap 必须再设定机器方可休眠,多数有 1GB 内存的桌面用户只要 1.5GB swap 即可,2GB 以上内存的很多用户实际并不需要它,大量处理音频、视频、图片需要 3GB 以上的交换空间,但是如果作为模拟远程服务器则不需要,此处设置的 2GB 足够使用/
根分区,一般选择 15G 即可,系统格式默认ext4,如不独立划分以下介绍的分区,则其都归于此分区,即使初学者也应该以 30GB 为上限,不会多于此内存/boot
分区系统格式建议 ext2,默认 ext4 。 分区包含了操作系统的内核和在启动系统过程中所要用到的文件,建立这个分区是有必要的,因为目前大多数的个人电脑要受到 BIOS (基本输入输出系统)的限制(况且如果有了一个单独的/boot
启动分区,即使主要的根分区出现了问题,计算机依然能够启动)这个分区的大小约在 60MB 到 120MB 之间,不超过150MB,研究内核设置为 1GB 足矣,,此处设置为 200MB 足够使用/home
分区,系统格式默认 ext4,私人文件,可以把剩下的空间都放在这里,一般是各种软件的配置文件或者下载的文件音乐等,就是存放用户数据和应用程序设置的文件夹,一般一个用户在/home
下建立一个文件夹,相当于 Windows 操作系统下的documents
和settings
文件夹,由于此处当作远程服务器使用所以设置了 2GB 使用- 实际上普通用户安装分配这4个分区就足够使用
-
之后点击加号,添加挂载点
- 选择文件系统
-
接受更改即可
-
其他选项暂且不需要设置
-
点击开始安装
-
设置系统的 Root 密码,自行设置,之后等待完成即可
-
完成之后重启即可使用
-
许可证,点击进入页面接受
-
完成配置,进入后选择语言、位置信息
-
选择时区
-
连接在线账号,可以跳过
-
设置用户
-
设置用户密码
-
之后即可正常使用
4. 下载 Xshell
Xshell 用于远程操作虚拟机中的操作系统,强大的 SSH 客户机
- 官网下载
- 可以选择免费的许可证,用于家庭和学校
- 可以使用昵称(非真实)和临时邮箱,进行申请
- 实用的临时邮箱
5. 配置远程操作虚拟机中的 CentOS
-
点击虚拟机中的编辑处的虚拟网络编辑器
-
点击其中的 NAT 设置,基本上不需要修改,查看是否是如下样式即可,如不是需要更改
-
之后运行虚拟机,进入系统后右击鼠标打开命令行,此处使用的是非 root 账户
-
通过
sudo yum install openssh-server
命令进行下载 SSH 服务安装 -
通过
sudo yum list installed | grep openssh-server
命令检查 SSH 有没有安装 -
通过
systemctl start sshd.service
开启 SSH 服务 -
通过
systemctl status sshd.service
查看 SSH 服务状态
-
通过
systemctl restart sshd.service
重启 SSH 服务 -
通过
systemctl enable sshd.service
开机自启 SSH 服务 -
通过
ssh -V
查看版本信息 -
也可以通过
ps -e | sshd
检查是否开启 SSH 服务,如下显示
-
有些设置需要 Root 账户权力,需要输入密码,注意:在该命令行中输入密码不会显示,光标在命令行不会变化,输完密码直接回车即可
-
通过
sudo gedit /etc/ssh/sshd_config
命令打开配置文件,添加如图所示命令,这样可以之后在虚拟机之外可以操作其中的系统,模拟远程操作系统
6. 使用 Xshell 连接
- 在 CentOS 命令行中使用
ifconfig
命令,找到 IP 地址
- 对于高级网络设置中的更多网络适配器中,即使它显示未识别网络不影响在此使用,如果是显示已禁用,需要开启,已开启 状态最好
- 打开 Xshell ,点击文件中的新建,输入刚才在虚拟机中得到的 IP 地址,名称自拟
- 点击连接,会出现 SSH 安全警告选择接收并保存
- 之后输入用户名,建议使用 root 用户名登录,权限最大,之后输入密码即可使用
三、 学习并使用 Linux 操作系统
1. Linux 目录结构
/
:根目录- bin(binaries):存放二进制可执行文件
- sbin(super user binaries)存放二进制可执行文件,只有 root 账户才能访问
- etc(etcetera):存放系统配置文件
- usr(unix shared resources):用于存放共享的系统资源
- home :存放用户文件的根目录
- root :超级用户目录
- dev(devices):用于存放设备文件
- lib(library):存放跟文件系统中的程序运行所需要的共享库及内核模块
- mnt(mount):系统管理员安装历史文件系统的安装点
- boot :存放用于系统引导时使用的各种文件
- tmp(temporary):用于存放各种临时文件
- var(variable):用于存放运行时所需要改变数据的文件
注意:
- root 管理员的用户操作目录(即 home 目录)为
/root
目录 - 其他用户的用户操作目录(即 home 目录)在
/home
目录中 - 在 Linux 系统的命令行中,
~
表示用户的 home 目录
例如:假设当前目录在/usr/local
下使用pwd
命令:[root@xry local]# pwd
则之下显示/usr/local
2. Linux 的常用命令
(1) 切换目录命令:cd
cd app
:切换到 app 目录cd ..
:切换到上一层目录cd /
:切换到系统根目录cd ~
:切换到用户主目录cd -
:切换到上一次所在目录- 使用 tab 键来补全文件路径
(2) 列出文件列表:ls ll
ls
(list)是一个非常有用的命令,用来显示当前目录下的内容,配合参数使用,能以不同的方式显示目录内容
- 格式:
ls[参数] [路径或文件名]
- 常用:在 Linux 操作系统中以:
.
开头的文件都是隐藏的文件 ls
ls -a
:显示所有文件或者目录(包含隐藏的文件)ls -l
:缩写成ll
(3) 创建目录和移除目录:mkdir rmdir
mkdir
(make directory)命令可用来创建子目录mkdir app
:在当前目录下创建 app 目录mkdir -p app2/test
:级联创建 app2 以及 test 目录
rmdir
(remove directory)命令可以用来删除“空”的子目录(只能用于删除空目录)rmdir app
:删除 app 目录
(4) 浏览文件:cat、more、less、tail
cat
:用来显示文件的内容,格式:cat[参数]<文件名>
cat yum.conf
more
:一般用来用于要显示的内容会超过一个画面的长度的情况- 按空格键显示下一个画面
- 按回车显示下一行内容
- 按 Q 键退出查看
more yum.conf
- 空格显示下一页数据
- 回车显示下一行数据
less
:用法和more
类似,不同的是less
可以通过 PageUp、PageDown 键来控制less yum.conf
- PageUp 和 PageDown 进行上下翻页
tail
:命令实在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件的后几行内容- 用法:
tail -10 /etc/passwd
:查看后10行数据tail -f catalina.log
:动态查看日志- CTRL + C :结束查看
- 用法:
(5) 文件操作
rm
:删除文件- 用法:
rm [选项]... 文件...
rm a.txt
删除 a.txt 文件- 删除需要用户确认,
y/n
- 删除需要用户确认,
rm -f a.txt
:不询问,直接删除文件rm -r a
:删除目录,询问rm -rf a
:不询问,递归删除目录(慎用)rm -rf *
:删除所有文件rm -rf /*
:自杀(禁用)
- 用法:
cp
(copy):命令可以将文件从一处复制到另一处,一般在使用cp
命令时将一个文件复制成另一个文件或者复制到某目录时,需要指定源文件名与目标文件名或目录cp a.txt b.txt
:将a.txt
复制为b.txt
文件cp a.txt ../
:将a.txt
文件复制到上一层目录中
mv
:移动或者重命名mv a.txt ../
:将a.txt
文件移动到上一层目录中mv a.txt b.txt
:将a.txt
文件重命名为b.txt
(6) 压缩、解压缩
tar
命令位于/bin
目录下,它能够将用户所指定的文件或目录打包成一个问价,但不做压缩,一般 Linux 上常用的压缩方式是选用 tar 将许多文件打包成一个文件,再以gzip
压缩命令压缩成xxx.tar.gz
(或称为xxx.tgz
文件),常用参数:
-c
:创建一个新的tar
文件-v
:显示运行过程中的信息-f
:指定文件名-z
:调用gzip
压缩命令进行压缩或者解压-t
: 查看压缩文件的内容-x
:解开tar
文件-C
:指定解压目录
- 打包:
tar -cvf xxx.tar ./*
- 打包并且压缩:
tar -zcvf xxx.tar.gz ./*
- 解压:
tar -xvf xxx.tar
(解压到当前目录下)tar -zxvf xxx.tar.gz -C /user/aaa
(解压到指定目录下)
(7) 查找文件、内容
find
: 指令用于查找符合条件的文件find / -name ins*
:查找文件名称是以 ins 开头的文件(*
通配符)find / -name ins* -ls
:(-ls
显示文件大致信息)find / -user name -ls
:查找用户 name 的文件find / -user name -type d -ls
:查找用户 name 的目录find / -perm -777 -type d -ls
:查找权限是 777 的文件
grep
:查找文件里符合条件的字符串- 用法:
grep [选项]... PATTERN [FILE]...
grep lang anaconda-ks.cfg
:在文件中查找lang
字符或字符串grep lang anaconda-ks.cfg --color
:在文件中查找lang
字符或字符串,并且高亮显示grep debug yum.conf --color
grep debug yum.conf --color -A5
:在文件中查找debug
字符或字符串,高亮显示,并且显示出现该字符或字符串的后5行(-A5
)grep debug yum.conf --color -A5 -B5
:在文件中查找debug
字符或字符串,高亮显示,并且显示出现该字符或字符串的前5行(-B5
)
- 用法:
(8) 其他常用命令
pwd
:显示当前所在目录touch
:创建一个空文件touch a.txt
clear
或 CTRL+L :清屏
3. Vi 和 Vim 编辑
在 Linux 下一般使用 Vi 编辑器来编辑文件,Vi 既可以查看文件也可以用来编辑文件。一共有三种模式:命令行、插入、底行模式
Vim 属于 Vi 的升级模式,多数使用 Vim 命令操作,具有高亮显示
(1) Vim 编辑器
- 切换到命令行模式:按 Esc 键
- 切换到插入模式:按 i、I、o、O、a、A 键
i
:在当前位置前插入I
:在当前行首插入a
:在当前位置后插入A
:在当前行尾插入o
:在当前行之后插入一行O
:在当前行之前插入一行
- 切换到底行模式:按 :(冒号),更多详细用法查询文档《Vim 命令合集.docx》和《Vi 使用方法详细介绍.docx》
-
操作过程
- 打开文件:
vim file
(一进入就是命令行模式)- 直接打开未曾创建的文件,会直接在当前目录下创建需要打开的文件
- 未曾改动文件,不保存退出:进入命令行模式
Esc
之后:q
- 修改文件:输入
i
进入插入模式 - 保存并退出:进入命令行模式
Esc
之后:wq
(w
是保存命令) - 改动文件后不保存退出:进入命令行模式
Esc
之后:q!
- 打开文件:
-
三种进入插入模式的命令:
- i :在当前的光标所在处插入
- o :在当前光标所在的行的下一行插入
- a :在光标所在的下一个字符插入
-
快捷键:
dd
:快速删除一行yy
:复制当前行nyy
:从当前行向后复制几行p
:粘贴R
:替换
(2) 重定向输出: >
和 >>
>
:重定向输出,覆盖原有内容>>
:重定向输出,有追加功能cat /etc/passwd > a.txt
:将输出定向到a.txt
中cat /etc/passwd >> a.txt
:输出并且追加ifconfig > ifconfig.txt
(3) 系统管理命令: ps
和 kill
ps
:正在运行的某个进程的状态ps -ef
:查看所有进程ps -ef | grep ssh
:查找某一进程(包含 ssh 的进程)kill 2868
:杀掉 2868 编号的进程kill -9 2868
:强制杀死进程
(4) 管道: |
管道是 Linux 命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入
ls --help | more
:分页查询帮助信息(查询出的结果作为分页查询的输入进行信息查询)ps -ef | grep java
:查询名称中包含 Java 的进程ifconfig | more
cat index.html | more
ps -ef | grep aio
四、 Linux 的权限
1. Linux 权限
属主(user) | 属组(group) | 其他用户 |
---|
r | w | x | r | w | x | r | w |
4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 |
r
(可以用数字4代替) :对文件是指可读取的内容,对目录是可以ls
(列出文件列表)w
(可以用数字2代替) :对文件是指可修改文件内容,对目录是指可以在其中创建或删除子节点(目录或文件)x
(可以用数字1代替) :对文件是指是否可以运行这个文件,对目录是指是否可以cd
(切换目录) 进入这个目录- 一共分为十位:
- --- --- ---
(就像此种分类,分为四部分)
- 第一部分:代表文件类型
-
:表示文件d
:表示文件夹l
:表示链接(类似于 Windows 操作系统上的快捷方式)
- 第二部分:代表当前用户具有该文件或文件夹的操作权限
r
:read 读取w
:write 写入x
:excute 执行
- 第三部分:代表当前组内其他用户具有该文件或文件夹的操作权限
r
:read 读取w
:write 写入x
:excute 执行
- 第四部分:代表其他组的用户具有该文件的操作权限
r
:read 读取w
:write 写入x
:excute 执行
2. Linux 的三种文件类型
- 普通文件:包括文本文件、数据文件、可执行的二进制程序文件等
- 目录文件:Linux 系统把目录看成是一种特殊的文件,利用它构成文件系统的树形结构
- 设备文件:Linux 系统把每一个设备都看成是一个文件
3. 文件类型标识
- 普通文件:
-
- 目录:
d
- 符号链接:
l
(相当于快捷方式) - 字符设备文件:
c
- 块设备文件:
s
- 套接字:
s
- 命名管道:
p
4. 文件权限管理
chmod
:变更文件或目录的权限chmod u=rwx,g=rx,o=rx a.txt
- 简便的更改方式,利用
r、w、x
的数字命令进行加法运算chmod 755 a.txt
五、 Linux 上常用的网络操作
1. 主机名配置
hostname
:查看主机名hostname xxx
:修改主机名,重启后无效- 如果想要永久生效,可以修改
/etc/sysconfig/network
文件
- 如果想要永久生效,可以修改
2. IP 地址配置
ifcongfig
:查看(修改)IP 地址(重启后无效)ifconfig eth0 192.168.12.22
:修改 IP 地址- 如果想要永久生效,修改
/etc/sysconfig/network-scripts/ifcfg-eth0
文件
DEVICE=eth0
:网卡名称BOOTPROTO=static
:获取 IP 的方式(static/dhcp/bootp/none
)HWADDR=00:0C:29:B5:69
:MAC 地址IPADDR=192.168.77.129
:IP 地址NETMASK=255.255.255.0
:子网掩码NETWORK=192.168.177.0
:网络地址BROADCAST=192.168.0.225
:广播地址NBOOT=yes
:系统启动时是否设置此网络接口,设置为 yes 时,系统启动时激活此设备
3. 域名映射
/etc/hosts
文件用于在通过主机名进行访问时 IP 地址解析时使用,相当于 Windows 系统的C:\Windows\System32\drivers\etc\hosts
文件的功能
- 直接打开
/etc/hosts
文件显示:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- 可以进行配置
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.19.129 name
或者
192.168.19.128 name
等 IP 地址
4. 网络服务管理
service network status
:查看指定服务的状态service network stop
:停止指定服务service network start
:启动指定服务service network restart
:重启指定服务service --status-all
:查看系统中所有后台服务netstat -nltp
:查看系统中网络进程的端口监听情况
5. 防火墙设置
防火墙根据配置文件
/etc/sysconfig/iptables
来控制本机的“出”、“入”网络访问行为
-
service iptables status
:查看防火墙状态 -
service iptables stop
:关闭防火墙 -
service iptables start
:启动防火墙 -
chkconfig iptables off
:禁止防火墙自启 -
CentOS 7.9 关闭防火墙
systemctl stop firewalld.service
:停止 firewallsystemctl disable firewalld.service
:禁止 firewall 开机启动firewall-cmd --state
:查看防火墙状态,是否是运行
六、 Linux 上软件的安装
1. 安装方式
Linux 上的软件安装有以下几种常见方式介绍
- 二进制发布包
- 软件已经针对具体平台编译打包发布,只要解压,修改配置即可(缺点:会出现平台发布出的二进制发布包不兼容)
- RPM 包
- 软件已经按照 Redhat 的包管理工具规范 RPM 进行打包发布,需要获取到相应的软件 RPM 发布包,然后用 RPM 命令进行安装(缺点:不会安装需求软件所依赖的软件包)
- Yum 在线安装
- 软件已经以 RPM 规范打包,但发布在网络上的一些服务器上,可用 Yum 在线安装服务器上的 RPM 软件,并且会自动解决软件安装过程中库依赖问题
- 源码编译安装
- 软件以源码工程的形式发布,需要获取到源码工程后用相应的开发工具进行编译打包部署
2. 上传与下载工具介绍
- FileZilla
- lrzsz
- 使用 Yum 安装方式安装
yum install lrzsz
- 注意:必须有网络,可以在 crt 中设置上传与下载目录
- 使用 Yum 安装方式安装
- sftp
- 使用 ALT + P 组合键打开 sftp 窗口
put 文件索引
:将文件下载到 Linux 系统中当前用户操作目录下get 文件索引
:将文件下载到 Windows 系统中的 Downloads 文件夹中
- 使用 ALT + P 组合键打开 sftp 窗口
- Xshell
- 需要下载安装 lrzsz
- 在 Xshell 命令框中输入
rz
- 选择文件,等待传输完毕即可
3. Linux 安装 JDK
(1) 确定安装版本型号
- 获取操作系统的位数
getconf LONG_BIT
(2) 查看原本自带版本并卸载删除
- 其实安装 Linux 系统中自带一个 JDK 是OpenJDK(版本根据系统版本变化)
- 查看本机安装的 JDK 版本:
java -version
- 查看安装的 JDK 信息:
rpm -qa | grep java
javapackages-tools-3.4.1-11.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.342.b07-1.el7_9.x86_64
java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64
java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64
tzdata-java-2022a-1.el7.noarch
- 卸载 JDK :
rpm -e --nodeps 版本号
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.342.b07-1.el7_9.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64
rpm -e --nodeps tzdata-java-2022a-1.el7.noarch
(3) 安装所需版本 JDK
- 在 Linux 服务器上安装 JDK
- 通常将软件安装到
/usr/local
- 直接解压就可以:
tar -zxvf jdk-8u351-linux-x64.tar.gz
- 通常这种情况就已经可以使用了,还可以配置环境变量,使得使用更加方便
- 通常将软件安装到
(4) 配置 JDK 环境变量
vi /etc/profile
- 在末尾添加
JAVA_HOME=/usr/local/jdk/jdk版本号
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
- source /etc/profile :使更改的配置立即生效
- 最后使用
Java -version
命令检查版本是否对应
4. Linux 上安装 MySQL
(1) MySQL 的安装
-
可以到 MySQL 官网找到,如下图版本号的
tar
包(示例中采用 CentOS 7.9 操作系统和 MySQL 5.7.40 该版本捆绑包)
-
上传文件到 Linux 系统中
-
将系统自带的 MySQL 卸载
- 查看自带版本型号
rpm -qa | grep mysql
- 使用
rpm -e --nodeps 版本号
命令进行卸载(如果没有,不需要删除)
- 查看自带版本型号
-
将 MySQL 的
tar
进行解压- 使用
tar -xvf 文件
会生成多个后缀rpm
文件 - 使用
rpm -ivh mysql-community-server-版本号.rpm
安装服务器端 - 如果出现依赖报错:可进行强制安装:
rpm -ivh mysql-community-server-5.7.40-1.el7.x86_64.rpm --force --nodeps
- 使用
-
安装 MySQL 客户端依旧可以采用强制安装的形式进行:
rpm -ivh mysql-community-client-5.7.40-1.el7.x86_64.rpm --force --nodeps
-
之后采用
mysqld --initialize --user=mysql
命令初始化数据库,会生成一个临时密码(以 root 身份运行,如果是以 MySQL 身份运行,则不用输入--user
部分) -
之后使用
cat /var/log/mysqld.log
命令,查看日志文件找到密码root@localhost:
之后的即是生成的密码 -
此时开启 MySQL 服务
service mysql start
-
之后就可以进行登录 MySQL 服务
mysql -uroot -p
(Enter password 部分不会显示输入的密码,光标不会移动)
-
进入 MySQL 之后必须首先进行更改密码,才可以进行后续操作
-
重新进入 MySQL(
-p
之后是密码)
(2) MySQL 远程访问设置
- 使用命令:
grant all privileges on *.* to 'root' @'%' identified by 'root';
(identified by
之后是密码) - 进行刷新操作
flush privileges;
- 这时即可以使用数据库连接软件进行远程连接
- 但是在 Linux 中很多软件的端口都被“防火墙”限制,需要先将防火墙关闭或者放行 3306 端口(MySQL 端口)
/sbin/iptables -1 INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables status
- 学习阶段,也可以直接将防火墙关闭
service iptables stop
5. Linux 上安装 Tomcat
- Tomcat 上传到 Linux 上
- 将上传的 Tomcat 进行解压
- 在
tomcat/bin
目录下执行./startup.sh
(注意防火墙) - 查看目标:
tomcat/logs/catalina.out
- 浏览器访问 IP 地址加端口号8080,查看是否会出现 Tomcat 页面(记得关闭 Linux 的防火墙)
6. 在 Linux 上安装 Redis
(1) 安装 gcc-c++
Redis 是 C 语言开发,安装 Redis 需要先将官网下载的源码进行编译,编译依赖 gcc 环境
- 输入命令:
yum install gcc-c++
- 输入
y
确认下载安装
(2) 安装 Redis
-
下载 Redis :
wget http://download.redis.io/redis-stable.tar.gz
(这里也可以选择其他版本,这里的 stable 是实时更新的稳定版本) -
解压:
tar -xzvf redis-stable.tar.gz
-
编译安装,切换到程序目录,执行 make 命令编译:
cd redis-stable
之后make
-
执行安装命令:
make PREFIX=/usr/local/redis install
make install
安装完成后,会在/usr/local/bin
目录下生成下面几个可执行文件,他们的作用分别是:redis server
:Redis 服务器端的启动程序redis-cli
:Redis 客户端操作工具,也可以用 telnet 根据其文本协议来操作redis-benchmark
:Redis 性能测试工具redis-check-aof
:数据修复工具redis-check-dump
:检查导出工具
(3) 配置 Redis
- 复制配置文件到 /usr/local/redis/bin 目录:
cd redis-stable
cp redis.conf /usr/local/redis/bin
- 在
bin
目录下输入命令:./redis-server redis.conf
开启 Redis - 直接在 Xshell 中复制会话,进行客户端的访问,在
bin
目录下:./redis-cli
启动客户端
7. 部署项目到 Linux
- 修改项目中的 pom.xml 文件:在
pom.xml
中添加<finalName><finalName>
(在<build>
标签中)设置部署到 Linux 中的访问名称(简化名称) - 修改 JDK 版本,要与部署到 Linux 中安装的 JDK 版本一致
- 进行项目的部分修改
druid.properties
- 其中的 url 路径需要进行设置,例如:
url=jdbc:mysql:///name?characterEncoding=utf-8
- 数据库访问密码需要进行更改
- 其中的 url 路径需要进行设置,例如:
- 修改项目中所有的绝对路径变更为相对路径
- 使用 Maven 中的
package
命令,进行项目的打包 - 将本机中的 MySQL 数据库项目的表进行导出,导成一个 SQL 文件,再连接到 Linux 服务器中进行导入,通过 SQL 文件进行还原
- 进入 Tomcat 中的
webapps
目录中进行war
的上传,自动解压缩(如果没有解压缩成功,可以进行重新启动服务器的命令:在 Tomcat 的 bin 目录下./shutdown.sh
和./startup.sh
)
- 输入命令:
cd /usr/local/tomcat/apache-tomcat-版本号/logs/
目录下进行信息的查看- 其中的
catalina.out
就是和控制台输出信息一致 tail -f catalina.out
进行文件查看
- 其中的