目录
Linux是一个操作系统,和Windows、mac、Android是一个并列的关系。也是全世界最主流的一个操作系统。Linux在我们的生活中应用很广泛,应用领域包含服务器端、嵌入式设备(路由器、交换机、空调、冰箱等等)、移动设备(Android本身就是一个Linux)等。
首先,一个完整的操作系统=操作系统内核(操作系统最核心的内容,管理各种硬件设备,为各种程序提供一个稳定的运行环境)+配套的应用程序
Linux这个单词,严格上来讲是表示一个操作系统的内核。同时,这个内核是开源的,可以基于这个内核进行二次开发。完整的Linux操作系统=Linux内核+配套的应用程序。当Linux内核配套的应用程序不同,就构成了不同的发行版。常见的发行版有RedHat、CentOS、ubuntu等。
目前,最常用的发行版是Redhat,是收费的。
CentOS和Redhat的代码完全相同,区别在于换了个logo,是免费的。因此,学习时采用该版本。当我们购买服务器时,在选择系统镜像环节,选择CentOS7这个版本。
①安装到自己的电脑上。缺点:Linux作为一个桌面系统,不好用,所以不推荐。
②使用虚拟机。缺点是存在一些bug、没有外网IP。
③WSL(Windows Subsystem for Linux):在Windows内部集成了一个Linux内核。缺点:不是完整的Linux,使用细节和Linux有些区别。
④云服务器:优点:有外网IP,环境搭建特别简单,缺点:配置比较低。推荐
是一类工具软件,可以和远程的主机建立网络连接,从而对主机进行一些操作。
常见的终端软件有:XShell、Putty等。本博客以Shell为例。
Xshell 下载 - NetSarang Websitehttps://www.xshell.com/zh/xshell-download/
选择这个,填入邮箱,下载链接会发送到邮箱中。
点击新建会话后,输入用户名(root)和密码,创建会话成功,即和主机连接成功。
Xshell登录到Linux后,是通过命令行来操作的。
图形化界面:通过对话框、窗口、键盘、鼠标等来操作的称为图形化界面。
①图形化界面是比较消耗资源(硬件资源)
②图形化界面存在一些bug,不稳定容易崩溃,服务器则是要求要非常稳定的。
③服务器是通过网络远程操控的,如果是图形化界面,客户端和服务器之间需要一帧一帧的传输画面,非常占用带宽,同时,比传输字符界面要复杂很多。
④命令行使用熟练以后,操作效率是远远高于图形界面的。同时命令行方便通过脚本来批量执行重复的任务。
大部分命令都是小写的字母。
ls -l:按照列表的方式来显示。缩写:ll
白色:普通文件 蓝色:目录
红色:压缩包 绿色:可执行文件
特殊目录:
/ :根目录 . :当前目录 .. :表示当前目录的上级目录
cd / :切换到根目录
cd .. :切换到上级目录
在Linux中,以/开头的为绝对路径。以.开头的为相对路径
这个操作只能写入简单的数据
cat:concatenate,不是小猫的意思。
tree .:可以让文件夹以树型的方式显示,更加直观。
安装tree命令:yum install tree -y
yum:Linux上的一个命令,是一个包管理器,相当于手机的应用商店
rm不能直接删除目录,需要加上-r。-r表示递归。如果删除的目录下有文件或者其他的目录,得先删除这些。
如果要删除的目录下东西非常多,按照上述方式删除,就需要输入很多y,如果中间哪次输入错了,可能之前的东西就白输了。
rm -rf :f 表示force,表示跳过确认,直接删除。
当执行rm -rf / :因为/表示此电脑,执行这个命令,就会把所有的系统文件和用户文件都删除掉,这个系统就挂了。
rm支持一个命令同时删除多个目录或者文件,多个文件之间使用空格分割。
执行这两个删除操作时一定要谨慎,第二种不建议使用,比如想输入 rm -rf /root/aaa,手抖输成 rm -rf / root/aaa,就会认为你要删除两个目录,/根目录和root/aaa目录。
cp 源路径 目标路径
针对文件或者文件夹都可操作,但是针对目录,需要使用递归。
mv 源路径 目标路径
针对文件或者文件夹都可操作,没区别。
可以通过man命令查看指令的详细内容。按q退出。
使用less打开一个大的文件的时候,只是把这一个屏幕里的内容给显示出来,显示多少就从磁盘读多少数据。可以通过上下箭头来翻页。按q就能退出。
less不能之间编辑文件,最大的优势在于秒开大文件,尤其是查看日志的时候。
vim非常复杂,目前只了解vim最基本的使用。将vim当作记事本来使用
vim+文件名:打开一个文件。打开之后进入编辑页面
编辑模式:按i
保存退出:先按esc,回到普通模式,输入:wq,光标就进入了vim的最后一行,即底行模式。
%H:小时 %M:分钟 %S:秒 %X:相当于 %H:%M:%S
%d:日 %m:月 %Y:年 %F:相当于 %Y-%m-%d
%s:时间戳
ps:process show,展示进程。就是windows的资源管理器
grep:对输出的结果进行筛选
使用这个命令来查看某个服务器的端口号是否已经被占用了。
tab键补全 ctrl+c 重新输入 ctrl+l:清除 复制:ctrl+insert
粘贴:ctrl+insert
r:read,表示可读 w:write,表示可写 x:execute,表示可执行
使用ll命令可以查看当前文件的权限。
Linux针对用户分成了三类,文件拥有者、文件拥有者的同组用户和其他用户。针对这三类用户,分别设置不同的权限。
权限中的可执行,表示这个文件是否可以被操作系统加载并运行。赋予了这个权限,才能运行,没有这个权限是不能运行的。
使用yum安装。
yum list:列出应用商店上都有哪些软件包
yum install:安装指定的安装包
直接使用yum list 会出现很多的安装包。可以使用 yum list | grep 软件包
安装步骤:
①输入yum list grep | jdk
② 复制需要安装的版本,使用ctrl+insert复制,或者选中右击再选中复制
③输入 yum install java-1.8.0-openjdk-devel.x86_64(粘贴shift+insert或者右击选择粘贴)
④下载完成之后,输入y
⑤输入javac,检查是否安装成功。否则会提示javac找不到命令。
yum做的工作分为三步:下载rpm包、解决依赖、安装
虽然使用yum能安装Tomcat,但是Tomcat的版本太老了。Tomcat要和Servlet的版本对应,如果Tomcat太老了,之前写的Servlet代码可能就不支持了。那应该怎么安装呢?
Tomcat是一个基于Java的绿色软件。只要把Tomcat解压缩,就可以使用了。
Tomcat能够跨平台,windows上的Tomcat和Linux上的Tomcat是一模一样的。只需要把Windows上的Tomcat的安装包给拷贝到Linux上即可。直接将下载好的安装包拖到XShell里就可。
注意:这里的拖只针对单个文件,不支持目录
如果不行,就需要额外安装一个软件包,yum install lrzsz
在Linux上通过unzip解压缩就可。如果unzip命令用不了,就安装yum install unzip
安装好了之后:
①进入tomcat目录中
②进入到bin目录中,找startup.sh。.sh是Linxu使用的。默认情况下不能直接运行,需要给.sh赋予可执行权限。chmod +x*.sh或者chmod 777*.sh.
chmod +x*.sh
③启动tomcat sh startup.sh或者./ startup.sh
sh startup.sh
④ 查看8080端口的状态。
netstat -anp | grep 8080 或 ps aux | grep tomcat
在控制台输入命令后出现这样的画面,证明tomcat启动成功。
⑤ 配置服务器后台的安装组/防火墙
我使用的是腾讯云,配置流程是:
第一步:登录腾讯云,点击控制台
第二步: 在搜索框输入安全组,点击第一个
第三步:如果没有安全组,就点击新建,点击确定。
第四步: 点击修改规则,跳转到新页面后点击添加规则,保存
第五步:如果上述这样操作后,还是不能访问,就配置服务器的防火墙
点击防火墙,然后点击添加规则
需要配置的原因:
因为云服务器在外网上,是非常危险的。为了防止黑客入侵云服务器,云服务器厂商默认将机器的所有端口都给屏蔽掉了。黑客在外网是无法访问咱们的服务器的各种端口的。如果需要让哪个端口对外,就在这里配置哪个端口即可。
ESC服务器和轻量服务器的区别:
轻量应用服务器之间是不能相互通信,只能搭建一些单机的程序。
ECS服务器同机房之内都可以相互通信,可以搭建分布式的程序。
⑥查看服务器的防火墙是否开启8080端口
查看8080端口是否已开:firewall-cmd --query-port=8080/tcp,如果结果是no,证明没开
添加需要开放的8080端口:firewall-cmd --add-port=8080/tcp --permanent
重载入添加的端口:firewall-cmd --reload
查询8080端口是否开启成功:firewall-cmd --query-port=8080/tcp.如果结果是yes,证明已经开启成功
使用yum安装Mysql就会很复杂。使用yum安装Mysql的孪生兄弟,MariaDB。
安装步骤见链接:CentOS 7 通过 yum 安装 MariaDB - 知乎
①打包war包:Lesson9:Tomcat 和 Servlet(基础篇)_刘减减的博客-CSDN博客的3.5小节。
②将环境搭建好了后,将打包好的war包拖到tomcat的webapps目录下。
③进入bin目录,重启tomcat
sh shutdown.sh
sh startup.sh