手机扫码查看
2020java微服务架构一之Linux
Linux介绍:
Linux操作系统出现之前,还有一个操作系统叫Minix,该操作系统是由Andrew的大学教授研发出来的,名为MINIX,为了向学生讲述操作系统内部工作原理。MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。
全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用。
先了解什么是开发环境、生产环境、测试环境
开发环境:Windows系统以及苹果mac操作系统
生产环境:Linux、Unix、Windows 2003
Linux操作系统,在生产环境中占据大量的市场份额,Linux主要以稳定、可靠、免费的特点成为全球使用最多的服务器操作系统。
Linux操作系统现在已经成为开发人员必备的技能,并且后期学习的各种只是都会涉及到Linux操作系统。
Linux与Windows区别
1.Linux是对大小写敏感,而Windows不敏感
2.Linux中一切皆是文件
3.Linux中文件是没有后缀的,但有约定俗成的后缀
4.Windows下的软件一般是无法直接运行在Linux中
Linux安装
安装Linux需要以下工具:
1.VM虚拟机
2.Linux镜像文件centOS7版本
3.图形化界面:Xterm
安装Linux并连接Xterm
打开Xterm,然后在VM里输入 ip a 查看 ip地址



Linux基本操作
Linux取消动态ip,设置固定ip
利用Xterm工具,找到/etc/sysconfig/network-scripts/ifcfg-ens33



Linux目录结构
Windows目录带有盘符的。如:D:
Linux目录结构:在Xtram输入 ls / 查看Linux顶级目录
Linux树状图

root:该目录为系统管理员home目录
bin:该目录存放着经常使用的命令
boot:该目录存放着启动Linux核心文件
etc:存放系统管理所需要的配置文件和子目录
home:普通用户的home目录
user:默认安装软件的目录,类似于Windows的program files目录
opt:是主机额外安装软件拜访的目录
Linux命令
Linux中基本命令格式:命令 [选项] [参数]
获取Linux中的信息
我是谁:who am i
我在哪:pwd
查看ip地址:ip a
清屏:clear
ping 域名/ip:ping baidu.com
Linux目录命令
列出目录:
ls -a 列出全部的文件,包括隐藏文件
ls-l 列举出全部的信息
ls-d 仅查看目录本身
ls -ai 查看当前用户目录下全部文件以及信息
Linux中的隐藏文件是以 . 开头的,当前目录使用 . 表示,上一级目录用 .. 表示
切换目录
cd 具体路径
符号 . 当前目录
符号 .. 上一级目录
符号 / 根目录
符号 ~ 当前登录用户的home目录
符号 – 返回
创建目录
创建单个目录:mkdir 目录名
创建多个目录:mkdir -p aaa/bbb/ccc

删除目录
删除空目录 : rmdir 目录名
删除非空目录:
rm -rf 目录名
-r:递归删除目录下的全部内容
-f:不询问直接删除
复制目录
cp -r 源目录 目标目录
-r :递归复制全部内容
移动、重命名目录
mv 目录名 新目录名
mv 目录名 路径
如果第二个参数不存在,就是重命名
如果第二个参数存在,就是移动
Linux文件命令
创建文件
touch 文件名1 文件名2
编辑文件
查看模式: vi 文件名
编辑模式:
i:在当前光标处,进入编辑模式
a:在当前光标后一处,进入编辑模式
o:在当前光标下一处,进入编辑模式
esc:退出编辑,回到查看模式
: :从查看模式进入到底行命令模式
在底行命令模式输出 wq :保存并退出
在底行命令模式输出 q! :不保存并退出
在底行命令模式按ZZ :快速保存并退出


在编辑文件时的其他操作
在底行命令模式下,可以输入的内容
查看文件的行号:set nu
跳转到指定的行号:to 行号
取消行号:set nonu

直接在查看模式下输入:/string
类似Windows的 ctrl+F 搜索文件中的具体内容所在的位置,查看下一个可以输入字母 n
查看文件
从第一行开始查看文件内容,展示全部:cat 文件名
从最后一行开始展示 :tac 文件名
显示文件的同时,展示行号:nl 文件名
查看大文件时,可以一页一页的往下翻,不可向上翻:
more 文件名
向下翻页:空格;退出:q
查看大文件时,可以任意往上或往下翻:less 文件名
只看前几行:head 文件名
只看后几行:tail 文件名
tail -f 日志 监控日志

针对压缩包的操作
tar命令
解压压缩包:
tar [-zxvf] 压缩包名 [-C 路径]
-z:代表压缩包后缀是 .gz的
-x:代表解压
-v:解压时,打印详细信息
-f:必须放在所有选项的最后,代表执行文件名称
-C 路径:代表压缩包解压到指定路径
打包压缩包:
tar [-zcvf] 压缩包名 文件名1 目录名1 … [-C 路径]
-z:代表压缩包后缀是 .gz的
-c:代表打包
-v:解压时,打印详细信息
-f:必须放在所有选项的最后,代表执行文件名称
zip压缩包命令
linux默认不支持zip压缩包格式的,需要安装两个软件 zip 、unzip
指令:yum -y install zip / yum -y install unzip
解压:unzip 压缩包名称
打包:zip 压缩包名称 文件1 目录1
Linux用户和用户组
Linux是一个多用户的操作系统,任何一个用户想要操作Linux操作系统,必须向系统管理员申请一个账号才可以,以这个账号身份去操作Linux。
用户的账号一方面可以帮助系统管理员追踪当前用户的操作。另一方面可以控制当前用户对系统资源访问。
用户的操作
创建用户:useradd 用户名
设置密码:passwd 用户名
切换用户:su 用户名
[root@localhost ~]# –>root用户在本地登录,并且当前在~目录下,#代表是超级管理员
[demo@localhost ~]$ –>demo用户在本地登录,并且当前在~目录下,$代表是普通用户
删除用户:userdel -r 用户名
-r:删除用户目录
修改用户 usermod [-cgd] 用户名
-c:代表comment,给用户添加一段注释
-g:代表group,可以修改用户的所在组
-d:代表指定用户的HOME目录

用户组的操作
创建用户组:groupadd 用户组名
修改用户组:groupmod -n 新组名 原用户组名
删除用户组:groupdel 用户组名
只能删除不存在用户的用户组

文件权限修改
查看目录信息
在Linux中输入ls- l 或者 ll 查看文件和目录详细信息

drwxr-xr-x.
d:代表的是一个目录
– :代表的是一个文件
在Linux文件详情的后面属性需要分为三组查看
rwx:代表文件拥有者的权限
rwx:代表文件所属组用户的权限
rwx:代表其他用户对当前文件的操作权限
r:代表read,读的权限
w:代表write,写的权限
x:代表execute,代表执行权限
后面的第一个root:代表当前文件的拥有者
后面的第二个root:代表当前文件的所属组
后面的依次为文件的大小和修改时间
对文件的权限修改
使用chmod对文件的权限进行修改,可以使用数字也可以使用符号
1.数字方式:
chmod -R 777 文件|目录
rwx:r4 w2 x1
-R:当修改一个权限时,可以添加-R,将目录下的全部内容,都修改权限
2.符号方式:
user:u;group:g;other:o;all:a
read:r;write:w;execute:x
赋予权限的方式:
添加:+;减掉:-;设定:=
如:chmod -R a=rw 文件|目录

对文件的拥有者和所属组修改
修改文件的拥有者和所属组:
chown -R 拥有者:所属组 文件|目录
修改文件的拥有者:
chown -R 拥有者 文件|目录
修改文件的所属组:
chgrp -R 所属组 文件|目录
Linux的其他操作命令
1.进程的操作
ps -ef
查看全部正在进行的进程
ps -ef | grep 搜索的内容
杀死进程
kill -9 pid

2.服务的操作
针对服务的启动、停止、重启、开机自启动、禁止开机自启动、查看服务状态
systemctl start| stop|restart|enable| disable|status 服务名称

3.查看端口号占用情况
向使用指定的命令需要实现下载netstat
yum -y install net-tools
查看端口号占用情况
netstat -naop | grep 端口号


4.访问地址
curl url

5.查找文件
find 路径 -type f | grep 搜索名
Linux安装软件
1.安装jdk
将下载好的jdk拉取到Linux操作系统中,通过Xterm携带的Sftp将jdk压缩包拖拽到Linux操作系统
将压缩包解压到 /usr/local
tar -zxvf jdk压缩包名 -C /usr/local
将目录名更改:
cd /usr/local
mv jdk1.8.0_161/ jdk/
配置环境变量
Linux提供两种环境变量的文件
1.是用户级别的环境变量,存放在:~/.bashrc
2.是系统级别的环境变量,存放在:/etc/profile
如果想运行当前目录下的可执行文件,需要输入: ./java

vi /etc/profile
在环境变量文件中,添加如下内容
G跳转最后一行,o进入下一行
export JAVA_HOME=/usr/local/jdk/
export PATH=$JAVA_HOME/bin:$PATH
加载配置文件:source /etc/profile
查看jdk版本:java -version

2.安装mysql
先去mysql给我下载相应的文件,使用MySQL Yum存储库的快速指南
连接:https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
先下载安装wget
yum -y install wget

然后下载rom:wget 连接

安装下载好的rpm包
rpm -Uvh rpm包
查看Linux已经安装过的软件:rpm -qa

Linux卸载软件:rpm -e –nodeps 名称
查看mysql安装版本:yum repolist all | grep mysql

通过/etc/yum.repos.d/mysql-community.repo 编辑修改发行版本
vi /etc/yum.repos.d/mysql-community.repo
将80的enabled更改为0,将57的enabled更改为1,保存即可,然后 yum repolist all | grep mysql 执行查看版本

安装mysql:yum install mysql-community-server

启动mysql服务:systemctl start mysqld
查看mysql初始化密码:grep ‘temporary password’ /var/log/mysqld.log
连接mysql服务:mysql -u root -p

修改初始密码:ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;
开启远程连接,并使用图形化界面操作
GRANT ALL PRIVILEGES ON *.* TO ‘用户名’@’%’ IDENTIFIED BY ‘密码’ WITH GRANT OPTION;
flush privileges;
关闭Linux防火墙:systemctl stop firewalld
然后打开连接数据库工具


3.安装Tomcat
下载的tar.gz解压到 /usr/local
启动tomcat并监听日志:
进入 cd /usr/local/apache-tomcat-8.5.53/bin
启动tomcat:./startup.sh
监听日志:cd ../logs
tail -f catalina.out


部署SMM工程
部署项目到Linux中需要注意以下内容:
1.项目要保证在Windows下没有问题,在考虑部署到Linux
2.将开发环境中的内容更改为测试环境:
a.连接数据库的信息 b.存放文件的路径。 c.日志文件存放的位置。d.项目路径问题
3.将maven项目打包
4.根据项目路径的不同,将项目部署到tomcat中。
5.在部署到Linux操作系统之后,一定要查看日志。
打包并跳过测试:mvn clean package -DskipTests
数据库导出然后在Linux操作系统的数据库进行导入,先创建库,然后导入数据表。
将war包拖拽到Xterm里
cd ~
ls
mv ssm-1.0.war ssm.war
ls
cp ssm.war /usr/local/apache-tomcat-8.5.53/webapps/
cd /usr/local/apache-tomcat-8.5.53/logs
tail -f catalina.out
- 本页地址 https://www.9713job.com/?p=2909
- 上一篇 <<2020java框架之Quartz作业调度框架
- 下一篇 >>Docker里面新建容器出现错误的解决方法



发表回复