4.3 Linux操作系统_Unix操作系统
1. Linux介绍
1.1 引言
在学习Linux之前,大家先了解开发环境、生产,测试环境。
- 开发环境:平时大家大多是在Windows或者Mac操作系统下去编写代码进行开发,在开发环境中安装大量的软件,这样会导致环境的稳定性和安全性降低。
- 生产环境:是将程序运行在此环境中,供用户去使用。这个环境是由专业的人员去维护,一般人是没有权限去操作生产环境的。
- 测试环境:一般克隆一份生产环境,会将开发环境中的程序部署到测试环境中,这个环境的主要目的是去程序进程检测,收集程序中的各种问题,并交给开发人员进行修改。
生产环境,常用的操作系统比如由windows 2003 service,Linux,Unix等等。
Linux操作系统,在生产环境中占据了大量的市场份额,Linux主要以稳定,可靠,免费的特点称为全球使用最多的服务器操作系统。
Linux操作系统现在已经成为后台开发人员必备的技能,并且后期学习的各种知识都会涉及到Linux操作系统。
1.2 Linux介绍
在Linux操作系统出现之前,还有一个操作系统叫Minux,Minux操作系统是由Andrew的大学教授研发出来的,当时大学教授是为了给学生上课,买了一套Unix操作系统(但是学生不能使用),参考Unix自己写了一个操作系统,并且命名为Minix。同时将Minix开源,供学校内部的研究和教学,到了2000年,Andrew将Minix操作系统完全对外开源。
Minix由于完全对外开源之后,在互联网上讯息的传播,但是大家在使用时,发展Minux不是非常完美,内部存在各种各种问题。用户将问题解决后,编写了一个补丁,将补丁以右键的方式发给Anfrew,但是Andrew教授最初的目的只是为了教学和研究。
与此同时,一位芬兰的大学生出现了,叫Linus,在Minix操作系统基础上,自己添加了一些补丁和插件,并将其命名为Linux操作系统,并且完全对外开源,而且开始维护Linux操作系统。
之前学习的Git也是Linus研发的。
1.3 Linux的版本
Linux的版本分为两种,一种是Linus团队正在维护的开源内核版本,另一种是一些厂商基于内核版本封装的发行版本。
- Linux的内核版本官网:https://www.kernel.org/,但是我们一般不用这个。
- Linux的发型版本(是一些厂商基于Linux开源的部分进行设计的),咱们需要学习的发行版本就是CentOS。
1.4 Linux和Windows区别
- Linux是严格区分大小写的,Windows无所谓。
- Linux中一切皆是文件。
- Linux中文件是没有后缀的,但是他有一些约定俗成的后缀。
- Windows下的软件一般是无法直接运行的Linux中。
2. Linux安装
安装Linux有三种方式:1:舍弃Windows系统,安装Windows系统(不推荐);2:安装双系统(但是没法随便进行系统切换,通信);3:虚拟机
安装Linux,我们需要一个虚拟机(方便系统切换和通信),为了安装虚拟机环境:VMware或者Virtual Box(采用VMware)
为了安装Linux,我们需要一个Linux的镜像文件:CentOS7版本
安装一个链接Linux的图形化界面:Xterm,SSH,XShell(这里用Xterm)
2.1 安装VMware
傻瓜式安装,下一步即可,但要修改安装位置。
这里需要说下:增强勾上,更新和用户体验关闭,先不重启,等下个软件安装完了再重启。
NM我这里怎么没有选择安装位置。忘修改了。
2.2 安装Xterm
其实这里也不是安装,解压即可。解压后出现一个.exe文件,直接运行即可使用。
2.3 在VMware中安装Linux
这里注意要先重启电脑。
1.点开桌面的VMware;选择创建新的虚拟机;选择典型(推荐);下一步;
2.指定镜像方式,这里选择稍后安装操作系统;
3.选择操作系统类型,这里选择Linux(L),版本是CentOS 7 64位;
4.指定虚拟机名称及安装位置,名称位Centos7;
5.磁盘存储方式,这里最大磁盘大小默认20G即可,因为上面已经写了会随着程序、文件和数据而主键变大;下面的选择将虚拟机磁盘拆分成多个文件,其实这两个都可以,但这样选的好处是,有些U盘copy的时候单个文件不能超过4G,但是虚拟机大小可能超过4个G,我们的虚拟机是可以Copy给别人使用的,这样选择更加方便。下面点击完成。
6. 指定虚拟机配置,点击编辑虚拟机设置,内存最小要给2G;处理器要根据自己电脑硬件设施去分配,这里的每个处理器的内核数量统一选位2;网络适配器选择桥接模式并构中复制物理网络连接状态;最后,在CD/DVD位置构中使用ISO映射文件,找到当时下载的镜像。
7. 开始安装CentOS
点击开启此虚拟机,点进去,通过上下光标去选择内容,直接选择Instal(第一个选项)即可;稍等一会即可;选择语言,第一栏光标拉到最下面,选择中文,第二栏选择简体中文;在安装信息摘要处,最下方出现一个注意标志,拉到最下面,点击安装位置,再点击完成即可(这里什么都不需要操作,只是看下安装位置)。
8. 配置虚拟机网络连接
点击网络和主机名,开启以太网连接,等一会会自动分配IP地址。
9. 开始安装
点击安装,给Root用户设置密码,这里不要设置太麻烦,防止忘记。如果密码太短,需要点击两次确定才可以。
10. 安装成功
安装成功后,点击重启即可,然后进入重启后的界面,输入用户名root和密码登录即可。
2.4 使用Xterm连接Linux
对于上面已经安装好了Centos,但是如果直接在登录窗口中输入命令,很麻烦,不能复制,查看历史命令等,因此我们用刚刚安装或者说解压好的软件Xterm来操作。
直接在VMware中操作Linux有很多限制,我们可以在图形化界面中操作Linux操作系统。
具体步骤如下......
1.查看ip地址
在虚拟机中的liunx操作窗口输入ip a(address的简写)
2.通过Xterm连接
打开软件,OK后输入密码,
3. Linux基本操作
3.1 Linux的目录结构
Windows的目录结构是带有盘符的。D:E:C:,而Linux中是没有盘符的,只有一个根目录/。
在Xterm中输入ls /查看Linux的顶级目录。
Linux的常用目录......
- root:该目录位系统管理员HOME目录
- bin:这个目录下放着经常使用的命令,比如上面的ls命令。bin是binary的简写
- boot:这里存放的是启动Linux时的一些核心文件
- etc:存放系统管理所需要的配置文件和子目录
- home:普通用户的HOME目录
- usr:默认安装软件的目录,类似weindows中的Program Files目录
- opt:时主机额外安装软件拜访的目录
3.2 获取Linux中的信息
Linux中命令的基本格式:命令【选项】 【参数】
需要注意,个别命令是不遵循这个格式
当命令中有多个选项时,可以写在一起的,并且选项也是有简写方式的 命令-选项A选项B
Linux的基本操作命令,不遵循上述格式,但是后期会经常使用......
# 1. 我是谁
who am i
# 2. 我在哪
pwd
# 3. 查看ip地址
ip a或者ip address
# 4. 清屏
clear
# 5. ping域名或者ip
ping www.baidu.com
# 6.强制停止(上面的ping无法自动结束,会一直ping下去)
ctrl + C
4. Linux命令【重点】
Linux中命令的基本格式:命令【选项】 【参数】
需要注意,个别命令是不遵循这个格式
当命令中有多个选项时,可以写在一起的,并且选项也是有简写方式的 命令-选项A选项B
4.1 目录的命令
1. 列出目录
查看hiding目录下的内容,默认查看当前目录下内容
Linux中的隐藏文件是以.开头的,当前目录使用.表示,上一级目录使用..表示
ls [-ald] [目录名]
#目录名不能空,默认为当前目录
ls是列举当前目录,ls /是列举根目录下的目录。
# -a:列出的全部的文件,包括隐藏文件
# -l:列举出全部的信息
# -d:仅查看目录本身
2. 切换目录
实现目录间切换,使用绝对路径、相对路径、特殊符号
cd 具体路径 | 特殊符号
特殊符号 | 表达的路径 |
. | 当前目录 |
.. | 上一级目录 |
/ | 根目录 |
~ | 当前登录用户的HOME目录 |
- | 返回到上次操作的目录 |
3. 创建目录
创建目录,以及创建多级目录方式
mkdir [-p] 目录名
-p:代表创建多级目录时,使用
4. 删除目录
删除非空目录或者包含内容的目录
# 只能删除空目录
rmdir 目录名
# 删除非空目录
rm [-rf] 目录名
# -r:代表递归删除目录下的全部内容
# -f:不询问,直接删除
5. 复制目录
复制目录下的全部内容
cp -r 来源目录 目标目录
# -r:递归复制全部内容,必填项
比如:cp -r a b就是将a目录下的内容复制到b目录下,那如果a是空的呢?那复制过去自然b中还是什么都没有。
6. 移动、重命名目录
移动、重命名目录,会根据第二个参数指定具体操作逻辑。
mv 目录名 新目录名 | 路径
# 如果第二个参数指定的路径不存在,就是重命名,如果第二个参数路径存在,就是移动,如果第二个参数是存在的路径并且后面加一个不存在的名字,就是移动+重命名。
4.2 文件的命令【重点】
1.创建文件
touch 文件名1 文件名2 ... (可以一次性创建多个文件,也可以创建一个,如果是多个,中间是空格分开)
我们可以发现,文件是白色的,而文件夹(目录)是蓝色的。
2.编辑文件
编辑文件,是后期最常用的命令之一。
vi 文件名 # 查看文件。(查看模式,此时只能查看,不能编辑)
i | a | o # 进入编辑模式。(编辑模式,此时就可以编辑了)
# i:在当前光标处,进入编辑模式。a:在当前光标后一格,进入编辑模式。o:在当前光标下一行,进入编辑模式。
esc # 退出编辑模式,回到查看模式。(因为上一步还在编辑模式,你输入的任何内容都会被编辑,因此要先退出到查看模式)
: # 从查看模式进入到底行命令模式。此时,我们可以输入命令选择保存退出和不保存退出。
# 在底行命令模式下,输入wq:保存并退出。输入q!:不保存并退出。
# 在查看模式下,按着Shift + ZZ,可以快速保存并退出。
演示如下(步骤有点多,但是后续经常用,很好记,其实就是查看文件,进入编辑模式,输入内容(这个不用命令),返回查看模式,进入底部命令行模式,保存退出或不保存退出):
到这里就已经结束了,你可以再次进入查看一下刚刚编辑的内容;也可以试试:q!命令,不保存退出;也可以试试Shift+ZZ尝试一下。
3.vi文件时,其他操作
编辑文件时,常用的快捷键,方便操作。
# 在vi文件时,在底部命令行模式下可以输入一下常用内容
# 行号操作
set nu # 查看文件的行号
to 行号 # 快速的跳转到指定行
set nonu # 取消行号
# 搜索操作
/具体内容 # 类似Windows的Ctrl + F搜送文件中的具体内容所在位置,查看下一个可以输入字母n
# 快速定位
G # 快速跳转到最后一行
gg # 快速跳转到第一行
这里自己尝试一下,我不截图了。
4.查看文件
根据不同的业务,可以选择不同的查看方式(这样就不是只能用上面的vi 文件名查看了)
cat 文件名
# 从第一行开始查看文件内容,展示全部
tac 文件名
# 从最后一行开始展示
nl 文件名
# 显示文件的用时,展示行号
more 文件名
# 查看大文件时,可以一页一页的向下翻,按space向下翻页,退出时按q(如果文件非常非常大,按这个快速退出)
less 文件名
# 查看大文件时,可以任意的向上或者向下翻,向上或向下翻页按PageUp和PageDown,一行一行查看,按光标的↑↓,和more很相似,但功能更加强大。如果不想看了,也是按q退出。
head 文件名
# 只查看前几行
tail 文件名
# 只查看后几行,这个tail还有妙用,后面我们会用tail -f 日志文件查看日志文件的最后几行,就像控制台查看日志一样。
5.移动、重命名文件
移动、重命名目录,会根据第二个参数指定具体操作逻辑
mv 文件名 新文件名 | 路径
# 如果第二个参数指定的路径不存在,就是重命名,如果第二个参数的路径存在,就是移动
同目录操作。
6.复制文件
复制文件到指定目录下
cp 文件名 目录
同目录操作
7.删除文件
删除文件方式
rm [-f] 文件名
# -f:是否询问
同目录操作
4.3 针对压缩包的操作
Linux中常用的压缩包,大多是.tar,.tar.gz,tgz的(虽然Linux没有后缀名,但是这些是约定俗成的)
但是Linux不仅仅针对tar类型的压缩包,也支持zip,rar这种Windows下的压缩包。
4.3.1 针对tar命令
1.1 解压压缩包
针对压缩包后缀的情况,采用不同的参数,否则可能会损坏文件
tar [-zxvf] 压缩包名称 [-C 路径]
# -z: 代表压缩包后缀是.gz的(.tar.gz和tgz这两种格式需要这个参数,.tar这种不需要这个参数)
# -x: 代表解压(这个必须加)
# -v: 解压时,打印详细信息
# -f: -f选项必须放在所有选项的最后,代表指定文件名称
# -C 路径:代表将压缩包内容解压到指定路径(如果不加就算当前路径下)
1.2 打包成压缩包
可以将多个文件以及目录打包哼压缩包,根据选择的参数指定压缩包
tar [-zcvf] 压缩包名称 文件1 文件2 目录1 目录2 ...
# -c:代表打包
# 其他参数同上
4.3.2 针对zip类型压缩包
Linux默认是不支持zip,rar这种压缩包格式的。
不过可以通过安装软件进行支持:zip,unzip(这是两个软件,安装非常非常简单)
2.1 安装软件
输入命令后会自动联网下载安装。输入命令稍等即可安装完成。(这两个软件安装不再截图,输入命令回车并等待即可。)
yum -y install zip # 打包程序
yum -y install unzip # 解压程序
2.2 解压以及打包
# 解压
unzip 压缩包名称
打包
zip 压缩包名称 文件1 文件2 目录1 目录2 ...
提示:其实Linux里面有很多第三方的命令,下载即可使用。
4.4 用户&用户组的操作
Linux是一个多用户的操作系统,任何一个用户想要操作Linux操作系统,必须向系统管理员(root用户)申请一个账号才可以,以这个账号的身份去操作Linux。(我们Windows系统一般自己用,当然也可以设置多个用户,而Linux作为服务器,肯定是很多人用的)
用户的账号一方面可以帮助系统管理员追踪当前用户的操作。另一方面可以控制当前用户对系统资源访问。
4.4.1 用户的操作
# 1. 创建用户
useradd [-cgd] [选项指定的具体内容] 用户名(但一般我们不会用这些,我们创建一个普通用户即可)
# -c: 代表comment,给用户添加一段注释
# -g:代表group,可以修改用户的所在组
# -d:代表指定用户的HOME目录
# 2.设置密码
passwd 用户名
# 3.切换用户
su 用户名
# [root@localhost ~]# -> root用户在本地登录,并且当前在~目录下,#代表是超级管理员
# [qf@localhost ~]$ -> qf用户在本地登录,并且当前在~目录下,$代表是普通用户
# 4.删除用户
userdel [-r] 用户名
# -r:代表删除用户的同事,删除该用户的HOME目录
# 5.修改用户(了解即可,这个我们一般不会做,是系统管理员做的,配合下面的用户组操作使用)
usermod [-cgd] [选项指定的具体内容] 用户名
# -c: 代表comment,给用户添加一段注释
# -g:代表group,可以修改用户的所在组
# -d:代表指定用户的HOME目录
4.4.2 用户组的操作
# 1. 创建用户组
groupadd 用户组名
# 2. 修改用户组
groupmod [-n] [选项指定的具体内容] 用户组名
# -n 修改用户组名称
# 3. 删除用户组
groupdel 用户组名
#只能删除不存在用户的用户组。
删除组
4.5 文件权限的修改
在Linux中输入ls -l或者ll查看文件和目录的详细信息。
实例中,a目录的第一个属性用"d"标识这个a是一个目录。
anacinda-ks.cfg第一个属性用"-"标识他是一个文件。
在Linux文件详情的后面属性需要分为三组查看
- rwx:代表文件拥有者的权限
- rwx:代表文件所属组用户的权限
- rwx:代表其他用户对当前文件的操作权限
- r:代表read,读的权限
- w:代表write,写的权限
- x:代表execute,代表执行权限
后续的第一个root:代表当前文件的拥有者
后续的第二个root:代表当前文件的所属组
后续分别为:文件的大小和最后修改时间
4.5.1 对文件的权限修改
# 1.数字方式
chmod [-R] 777 文件|目录
# rwx在这三个权限中r:4,w:2,x:1
# -R:当修改一个目录权限时,可以添加-R,将目录下的全部内容,都修改权限。(这个我们用的很少,比如你可能会把一个目录下的全部内容,都修改权限。)
# 2.符号方式
# user:u,group:g,other:o,all:a
# read:r,write:w,execute:x
# 赋予权限的方式
# 添加:+,减掉:-,设定:=
chmod [-R] a=rw 文件|目录 赋予所有用户读和写的权限
4.5.2 对文件的拥有者和所属组修改
# 修改文件的拥有者和所属组
chown [-R] 拥有者:所属组 文件|目录
# 修改文件的拥有者
chown [-R] 拥有者 文件|目录
# 修改文件的所属组
chgrp [-R] 所属组 文件|目录
4.6 Linux的其他操作命令
# 1.进程的操作
ps -ef 查看全部正在进行的进程(用的少,因为出来很多)
ps -ef | grep 搜索的内容 这里添加了管道操作,相当于搜索。管道操作不单单针对进程操作,其它操作也可以用。
kill -9 pid 杀死进程
# 2. 服务的操作
# 针对服务的启动,停止,重启,开机自动启动,禁止开机自动启动,查看服务状态。
systemctl start|stop|restart|enable|disable|status 服务名称
# 3. 查看端口号占用情况
# 想使用指定的命令需要事先下载netstart
yum -y install net-tools
# 查看端口号占用情况
netstat -naop | grep 端口号(这里还是用管道如果只是netstat -naop命令出来的结果很多)
# 4.访问地址(用的不多)
类似浏览器访问路径,无法图形化显示,一般用于测试
curl 访问地址
# 5.查找文件
在Linux中查找指定文件,参数较多,如下为根据文件名查询
find 路径 -type f | grep profile
5. Linux下安装软件【重点】
5.1 安装JDK
# 1. 下载JDK的压缩包
此后需要Oracl登录账号密码,我尝试注册了没有成功(但是我们可以百度搜索Oracl公共账号,网上好多好心人提供了,我就用公共账号下载了)
# 2. 将下载好的jdk压缩包拉取到Linux操作系统中
# 通过Xterm携带的Sftp将jdk压缩包拖拽到Linux操作系统
拖拽后有进度条,稍等片刻即可成功。
# 3. 将jdk的压缩包解压到/usr/local
tar -zxvf ... -C /usr/local
提示:这里输入jdk后,可以用键补全名字。
# 4. 将jdk的目录名修改一下(方便配置环境变量)
# 5. 配置环境变量
# Linux提供了两种环境变量的文件(Windows也是)
# 第一个是用户级别的环境变量,存放在:~/.bashrc
# 第二个是系统级别的环境变量,存放在:/etc/profile(我们现在就是系统用户,用这个)
# 如果想运行当前目录下的可执行文件,需要输入:./可执行文件名
下面开始配置
# 在环境变量文件中,添加如下内容(我们的就是在/etc/profile文件下)
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
这里具体如何修改:先vi /etc/profile进入该文件;按大写G定位到最后一行;按o进入编辑模式(当前文字下一行);回车空一行;输入上面的两个命令;esc回到查看模式;:wq保存并退出;重新加载环境变量;测试。
# 重新加载环境变量文件
source /etc/profile
# 最终测试
java -version
这是修改该文件(添加内容),重新加载该文件(如果不加载,配置不会生效),然后在任一地方都可以使用jdk命令,这里用java -version测试。
5.2 安装MySQL
在Linux下用yum的方式安装MySQL......
我们先到官网看看MySQL的下载地址,以及晚装步骤(操作步骤较多,官网可以查看)
这是复制的链接:https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
下面在哪里看到安装文档呢? (打开后翻译成中文)
安装步骤:
1. 安装MySQL的YUM存储库
使用wget下载即可,不过需要先下载wget,再通过wget下载rpm包
# 首先通过yum下载wget命令
yum -y install wget
# 通过wget下载MySQL存储库
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm(这是上面右键得到的链接)
2. 安装下载好的rpm包
使用rpm包的命令直接安装
# 安装rpm包
命令是:rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
# 查看rpm包
命令是:rpm -qa | grep 内容
安装好可以查看一下所有的rpm包:
但是此时有许多rpm包,下翻才能找到mysql的rpm包。因此要用管道,看下面的命令。(rpm -qa | grep mysql)
# 卸载rpm (不需要指定当前命令)
命令:rpm -e --nodeps rpm名称
该图片包含查看rpm包,卸载rpm包,再次查看,再次安装,再次查看命令。
3. 选择发行版本
由于默认安装8.0版本的MySQL,我们需要修改为5.7版本(常用这个版本)
#查看一下默认选择的发行版本
yum repolist all | grep mysql
# 通过编辑/etc/yum.repos.d/mysql-commity.repo文件,去修改发行版本:vi /etc/yum.repos.d/mysql-community.repo
修改前:
将5.7修改为1,8.0修改为0.
#再次通过yum repolist all | grep mysql查看,效果如下:
4.安装MySQL社区版服务
开始安装,这一步需要下载一段时间,下载失败就是网络太差。
yum -y install mysql-community-server
安装需要时间,请耐心等待,安装成功后如下:
5.启动MySQL服务,并连接。
安装成功后,手动启动,并使用日志中的密码登录,而且第一个操作必须是修改密码,才可后续正常操作
# 启动MySQL服务
systemctl start mysqld.service
# 查看初始化密码
grep 'temporary password' /var/log/mysqld.log
# 连接MySQL服务
mysql -u root -p
Enter password:随机密码(是上面查看得到的)
# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd'; (这里mysql>是代表在mysql登录后显示内容,不是命令本身)
# 要求密码,必须携带大写字母,小写字母,数字,特殊符号
此时已经可以操作mysql了,如查看数据库
6. 开启远程连接
我们不会在Xterm中使用数据库,更不会在Linux命令行系统里面使用,肯定是用用MySQL图形化界面的。因此要开启MySQL远程链接(默认是关闭的)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'eric'@'%' IDENTIFIED BY 'P@ssw0rd' WITH GRANT OPTION; (注意:mysql>是登录MySQL后的本身显示)
此时就创建了一个远程登录用户:其可以通过用户名eric和密码P@ssw0rd登录。
此外,开启远程登录后,还要刷新一下:mysql> FLUSH PRIVILEGES;
下面我们远程链接一下数据库操作试试(这里通过SQLyog):
登录后我们操作一把:show databases;
5.3 安装Tomcat
在Linux下安装Tomcat,以便部署工程到Linux操作系统
这里安装Tomcat就非常简单了。
1.下载Tomcat的压缩包
网址是怎么找到的,直接在浏览器地址栏输入tomcat.apache.org,
复制的链接为:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.60/bin/apache-tomcat-8.5.60.tar.gz(注意:上面复制链接的位置,即右键位置)
通过wget直接下载即可
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.60/bin/apache-tomcat-8.5.60.tar.gz
这里说证书不安全,我不知道原因,不管按提示添加了命令。
下载好后,你是不是很好奇,他下载到哪里了??
原来是下载在根目录下。
2.解压压缩包
一样解压到/usr/local目录下(我们软件统一解压到这个目录下,解压即安装)
tar -zxvf apache-tomcat-8.5.60.tar.gz -C /usr/local
3.启动Tomcat并监听日志
通过./执行可运行文件,并使用tail监控日志信息
# 跳转到tomcat的bin目录
cd /usr/local/apache-tomcat-8.5.60/bin
# 启动
./startup.sh
# 监控日志
cd ../logs
tail -f catalina.out
# 浏览器中访问
下面是查看日志
下面是浏览器页面访问:
6. 部署SSM工程
部署项目到Linux中需要注意一下内容:
1.项目要保证在Windows下是没有问题的,再考虑部署到Linux。
2.将开发环境中的内容梗概为测试环境:
- 链接数据库的信息。(本来可能还是localhost)
- 存放文件的路径。(原本可能是写死的,比如D盘下某某某)
- 日志文件存放的位置。(原本可能是写死的,比如D盘下某某某)
- 项目路径问题。
3.将Maven项目打包。
4.根据项目路径的不同,将项目部署到Tomcat中。
5.在部署到Linux操作系统中后,一定要查看日志。(不然你不知道项目是否部署成功)
首先我们本地用debug运行一下:我这里运行报错了,不清楚为什么,后续补充!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!可能是本地Tomcat等问题吧。还是部署到Linux吧。
第一步:修改数据库信息
第二部:我们看看存放文件路径,我们这里又上传文件的操作,可以看到这里路径不是写死的,所以没有问题。
第三步:日志存放位置;我们这里使用的是logback,所以可以在ligback中找到。而且部署项目,日志级别不需要用DEBUG了,要换成ERROR。
第四步:最后是项目路径问题,项目路径主要是项目中设计的路径,很多同学喜欢吧路径设置成死的。加了项目路径就可以打包了。
下面就是打包:在terminal下输入:mvn clean package -DskipTests并回车,清空,打包并跳过测试。
在打包的过程中,在Linux系统的mysql数据库添加ssm数据库(当然是通过sqlYog)。
打包好后,通过Xterm拖拽到/root目录下:
之后将这个war包该一个名字为ssm.war。
然后将ssm.war丢到tmocat/webapps下即可。
然后查看日志(注意一定要查看一下)。然后最后看到加载war包结束。现在我们再次访问,注意已经不能用Localhost了。我输入地址是IP:8080/ssm.
访问成功:功能也可以访问。
课程到此结束。