Linux基础命令

命令格式:命令 【选项】 【参数】
命令:你要执行的命令
选项:要怎么去做
参数:执行命令的目标

pwd :显示当前路径

ls:列出所有文件或文件夹 list
-a:列出文件夹内所有的文件和文件夹,包括隐藏文件夹;
-l:以长格式显示文件或文件夹;
-ll:代价于 -l

cd .和… "."代表当前路径,“…”代表上层路径
cd~:代表回到家目录
cd-:代表返回,返回到刚才你操作的目录中

文件管理命令

mkdir:创建文件夹
rmdir:删除文件夹(只能是空文件夹)

mkdiir {a,b,c}game 同时创建agame、bgame、cgame的文件夹
rmdir *game 同时删除 以game为后缀的所有文件夹

touch:创建文件或修改文件的修改时间
在这里插入图片描述

cp copy 复制
-r 复制文件,递归复制的作用
-f 强制覆盖
\cp -rf 文件A 文件B,从文件A强制复制到文件B,同名文件强制覆盖
cp -rf 文件A 文件B 会从文件A复制到文件B, 同名文件覆盖时会询问是否覆盖
cp -r递归复制文件夹
cp -rf强制复制文件夹

mv 剪切
给文件重命名
在这里插入图片描述

rm
-r 删除文件夹
-f 强制删除
rm -rf /* 删库跑路
在这里插入图片描述

cat 查看文件
适合小型文件的查看
more 查看文案,适合查看大型的文件
回车:一行一行的查看
空格:一次一页
q:腿出查看
less 查看快捷键 同(more)
同more的区别:可以查看以前看过的内容
head 查看文件的头
head -2表示查看文件的前2行
tail 查看文件的尾(适合查看文件日志)
tail -2查看文件的结尾2行
grep 搜索字符串的内容
-i 不区分大小写
-w 按单词搜索
-n 显示行号
cat A文件 | grep baby -i
在文件A中搜索“baby”,不区分大小写
管道搜索
man 查询命令的命令,对查询的命令进行解释

查找管理

localte :作用:从数据库的索引中查找,不同的事命令
locate命令的作用
updatedb命令,默认执行周期为一天一次
locate命令使用示例
文件管理命令
示例如下:
在这里插入图片描述
在这里插入图片描述

系统管理

shutdown:关机或重启
-h 关机
-r 重启
- now 立刻关机
who 查看当前服务器用户列表
who命令,查看当前系统下的用户

whoami:我是谁
ping :结束命令操作 Ctrl+C
修改主机名和IP地址的映射 /etc/hosts
hostname :查看服务器的主机名
修改主机名和IP地址的映射: /etc/hosts
vim /etc/hosts
按 o, 进入编辑模式
编辑完后按 ESC 退出编辑模式
按:wq 保存并退出(w代表写,q代表退出)
做IP地址和主机名的映射
192.168.16.128
hadoop1

ifconfig: 获取主机的IP信息

查看进程
ps 查看服务器进程
-ef

-aux显示信息更全

kill 杀进程
-9 强制杀死
kill 进程号,发送信号给对应进程让他自杀
lill -9 进程号 ,必须死

netstat:查看网络端口
-nlptu
我们远程连接服务器的时候
curl :抓取网页内容,部署到tomcat,或者部署web项目,查看网页是否存在
http://ip:8080/web/xxx.html

wget:下载
–no-check-certificate

用户管理

Linux分成 用户和组的概念
任何用户都属于某个或某几个组
一个组可以包含多个用户
组合用户是多对多的关系
添加用户;查看用户环境

添加切换用户
查看用户配置环境

文件权限

使用 ls-l 查看文件信息;
drwxr-xr-x
第一个字母 d代表文件夹 “-”代表 文件
rwx :代表文件拥有者的权限,可读可写可执行
r-x: 代表的文件所属组的权限 可读不可写可执行
r-x: 代表的是其他用户的权限 可读不可写可执行

“r” 代表可读
“w” 代表可写
“x”代表可以执行
“-”代表无权限
权限

权限的表示方式:
第一种:子母法
r 读
w 写
x 执行
- 无权限
第二:数字法(二进制)
rwx : 111 -> 7
rw-: 110 -> 6
r–: 100 -> 4
— : 000 -> 0
-w- : 010 -> 2
修改权限
修改权限
修改所有人的权限实例

chomd:修改权限
		第一种方式:
			字母:chomd (ugoa)
					u:拥有者
					g:拥有组
					o:其他人
					a:所有人
						
						+:添加
						-:删除
						=:赋值


		第二种方式:
			数字:

数字方式修改权限
注意:如果你修改的是文件夹,默认修改的是文件夹,如果你想同时文件夹内内容的权限,如果想修改,则-R

以数字方式修改文件夹内的所有文件的权限

修改拥有者
chown test
修改所有组

压缩管理

tar 用来压缩和解压文件,tar命令本身没有压缩、解压的功能 ,是调用

压缩
tar -zcvf 压缩后的文件名 要压缩的文件
-z:压缩方式
-c:创建压缩包
-v:显示压缩信息
-f:指定压缩包文件
查看(压缩的文件)
tar -tf 压缩文件
会列出压缩包里面的所有文件
解压
tar -xvf
-x代表解压
-v带包解压过程
-f代表指定解压的文件 要解压的文件
-C 解压的位置
解压到某个目录下(C是大写的)
tar -xvf 压缩文件 -C 要解压到文件的位置

VIM

三种模式
		编辑模式: o 、i
		命令模式: 进入后默认模式
		末行模式: set 
			进入编辑模式
			 i        I
			a       A
			o       O
			s       S
	  末行模式
	    w: 保存
	    W: filename 另存为……
	    wq:保存并退出
	    q!强制退出
	    wq!:保存并强制腿很粗
	    
	    命令行模式
	    		G:第一行
	    		nG:第N行
	    		gg:第一行
				
				^:行首
				$:行尾
				
				dd:剪切
				ndd  剪切n行
                D:从光标位置剪切到行尾
                
				P :粘贴当前行上面
				p:粘贴当前行下面
				yy  复制
				nyy  赋值n行
				
				r   :替换一个字符
				R  :替换,知道你按esc停止
				
				u :还原刚才的操作 回撤操作
				Ctrl+r  :前进操作
				/关键字     全文搜索关键字  n往后查找,N往前查找

编辑文件可能遇到的情况,可以通过删除此.install.log.swp文件来避免这种情况

Linux软件的安装

方式:
1、绿色版(tar–解压–使用)
2、rpm:RPM[1] 是 RPM Package Manager(RPM软件包管理器的缩写)。
对应的安装包 xxx.rpm
问题:当你安装A软件的时候,如果A依赖于B与C软件,则需要手动下载并安装B和C软件后才鞥继续按照A软件。
解决方案: yum, 在线的软件方案
3、源码安装:源码—gcc编译(Linux的编译器)—安装

RPM:
	1、查询
			-qa
			rpm -qa  查询安装的所有软件
			rpm -qa | grep java  查询安转的java

查询安装的软件,删除

	 2、卸载:
	 		rpm -e 文件名
	 				
	3、安装
			rpm -ivh xxx.rpm
			         i 安装
			         v 显示安装过程
					h 显示进度条
	在安装前先安装一个传输软件xftp

安装完后与虚拟机操作系统建立连接
连接过程
建立连接后可以通过拖拉文件的方式来传输文件,然后把传输的文件,通过安装命令进行安装
rpm -ivh 文件名称.

配置安装环境

安装方式三:YUM安装方式
1、查看yum仓库
yum replist all
2、配置自己的yum仓库
你要到http://mirros.163.com/centos这里,去找到你对应的
yum安装方式过程
输入 vim /etc/yum.repos.d/rhel-source.repo
进入这个文件编辑yum环境
编辑yum配置文件环境文件
yum使用过程
yum使用

配置java环境的安装

	安装JDK
			1、解压
			tar -xvf 文件地址 -C解压到的文件地址
			2、配置环境变量
			vim /etc/profile  打开配置文件
			
			source /etc/profile 让配置文件生效

| 设置环境变量,这里我们需要修改/etc/profile文件

		先用vim打开/etc/profile文件

		vim /etc/profile

		在文件最后添加下面的内容

	export JAVA_HOME=/usr/local/jdk1.8.0_191
	export JRE_HOME=/usr/local/jdk1.8.0_191/jre
	export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
	export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

其中的jdk1.8.0_191请根据自己的实际文件名作出更改

	添加完成后,使环境变量生效。

	source /etc/profile

在这里插入图片描述

安装Tomcat

tomcat安装
停止防火墙服务
停止防火墙服务

在这里插入图片描述

Java项目的部署
java项目打包–> java应用程序 xx.jar
javaWeb项目 xxx.war

1、上传war到服务器

2、把war放置到tomcat/webapps目录下

3、启动tomcat,并访问

4、查看日志

安装MySQL

步骤
1、安装
步骤

在安装MySQL先进行这个步骤
SeLinuxe会一直一些操作
配置操作

步骤参考网址

| # 安装MySQL的yum源,下面是RHEL6系列的下载地址
rpm -Uvh mysql-community-release-el6-5.noarch.rpm

		# 安装yum-config-manage
		yum install yum-utils -y
		
		# 禁用MySQL5.6的源
		yum-config-manager --disable mysql56-community
		
		# 启用MySQL5.7的源
		yum-config-manager --enable mysql57-community-dmr
		
		# 用下面的命令查看是否配置正确
		yum repolist enabled | grep mysql
		
		# 开始安装mysql
		yum install mysql-community-server -y  				|  |

2、拍摄快照
作用:记录虚拟机的状态
在误操作以后,通过快照恢复以前的状态
步骤
快照的使用位置

恢复计算机状态

3、配置环境
在这里插入图片描述
在这里插入图片描述
5、登陆MySQL
MySQL在安装过程中会自动生成一个用户和密码,可以通过查询的方式,找到
grep
账号: root
密码:

查看密码: gerp 'password'   /var/log/mysqld.log  
登陆:  mysql -u root -p

登陆过程
设置新密码,远程登录

6、修改用户密码
ALTER USER USER() IDENTIFIED BY ‘123456’;
修改密码的要求
set global validate_password_policy=0;
set global validate_password_length=1;

修改密码

执行:
ALTER USER USER() IDENTIFIED BY ‘123456’;
查看mysql的编码格式
show
show variables like ‘%character%’;
MySQL默认只支持本地连接
7、修改允许远程连接
赋予权力
grant all privileges on . to root@’%’ identified by ‘123456’;
使连接生效
flush privileges;

注意远程连接MySQL前需要关闭防火墙服务,连接后需要重新启动MySQL

什么是编码 格式?
计算机不能存储文字,无论磁盘还是内存中真正存储的都是二进制
聪明的人想了一个办法,把文字和数字进行一对一映射,然后存储文字对应的数字就是存储文字。

ASCII 编码格式 只支持

gb2312 只支持简体中文
gbk 支持简体中文和繁体的中文
gbk18030

UTF-8

在这里插入图片描述

配置环境

Nginx

	Web服务器

Ngin的作用
安装过程
1、前期准备
安装GCC
yum install gcc -y
yum install gcc-c++ -y
安装第三方插件
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
2、上传Nginx、 安装Nginx
//解压
tar -zxvf nginx-1.12.1.tar.gz
tar -zxvf nginx-1.12.1.tar.gz -C /usr/local/
//使用configure命令创建一makeFile文件。
cd nginx-1.12.1
./configure
//编译、
make
安装
make install
3、启动
cd /usr/local/nginx/sbin/
./nginx
netstat -nultp | grep nginx
4、访问
http://ip地址:80
但是因为http协议默认的端口号就是80
所以,直接方位
http://ip地址即可(在外面访问的前提是防火墙关闭)
启动后的进程
一个为主进程负责向客户端提供服务,一个工作进程

访问Nginx
其他命令

//关闭
/usr/local/nginx/sbin/nginx -s stop
//重新热启动
/usr/local/nginx/sbin/nginx -s reload
访问
http://服务器IP地址

Ngnix反向代理过程
可以通过修改本地的DNS映射实现服务
映射文件修改地址
C:\Windows\System32\drivers\etc\host文件内
nginx的代理过程就是把通过域

Nginx配置反向代理
由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的非80端口。非80端口的映射在访问的时候要域名加上端口,比较麻烦。并且公司入口路由最多只能做20个端口映射。肯定以后不够用。
这时我们可以在内网搭建个nginx反向代理服务器,将nginx反向代理服务器的80映射到外网IP的80,这样指向到公司外网IP的域名的HTTP请求就会发送到nginx反向代理服务器,利用nginx反向代理将不同域名的请求转发给内网不同机器的端口,就起到了“根据域名自动转发到相应服务器的特定端口”的效果。
域名:可分三级,一级域名,二级域名,三级域名。是由一串字符+域名后缀组成,我们通常说的网址就包含域名。
一级域名类型
一级域名:又叫顶级域名,一串字符串中间一个点隔开,例如baidu.com,这里说明一下,www.baidu.com不是一级域名!!而是二级域名!
二级域名:实际上就是一个一级域名以下的主机名,一串字符串中间两个“.”隔开,例如pan.baidu.com("pan"就是主机名)。
三级域名:二级域名的子域名,特征是包含三个“.”,一般来说三级域名都是免费的。
一般来说,顶级域名的PR值比二级域名的高,如果一级域名不存在了,二级、三级域名也就不复存在了。
可以试着ping一下:baidu.com www.baidu.com pan.baidu.com
下面使用Nginx模拟访问tong.com下的img.tong.com和shop.tong.com
l 运行两个Tomcat,模拟二个服务器(8080 8081)。
注意:在修改端口是要修改三个端口。
并修改index.html内容以便区分。
修改hosts文件
修改域明对应
修改nginx.conf配
Nginx映射文件配置热重启,后访问。
./nginx -s reload

Nignx配置负载均衡

负载均衡的种类
1)一种是通过硬件来进行解决,常见的硬件有NetScaler、F5、Radware和Array等商用的负载均衡器,但是它们是比较昂贵的
2)一种是通过软件来进行解决的,常见的软件有LVS、Nginx、apache等,它们是基于Linux系统并且开源的负载均衡策略。
复制一个的Tomcat服务器并修改端口为8082
修改nginx.conf
配置
热重启,后访问。
./nginx -s reload

负载均衡常用策略(了解)
轮询(默认)
| upstream backserver {
server 192.168.0.14;
server 192.168.0.15;
}
weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况
upstream backserver {
server 192.168.0.14 weight=3;
server 192.168.0.15 weight=7;
}
ip_hash
假设在负载均衡系统中,假如用户在某台服务器上登录了,那么该用户第二次请求的时候,因为我们是负载均衡系统,每次请求都会重新定位到服务器集群中的某一个,那么已经登录某一个服务器的用户再重新定位到另一个服务器,其登录信息将会丢失,这样显然是不妥的。
我们可以采用ip_hash指令解决这个问题,如果客户已经访问了某个服务器,当用户再次访问时,会将该请求通过哈希算法,自动定位到该服务器。
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream backserver {
ip_hash;
server 192.168.0.14:88;
server 192.168.0.15:80;
}
Ø fair(第三方)
第三方的负载均衡策略的实现需要安装第三方插件。
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream backserver {
server 192.168.0.14;
server 192.168.0.15;
fair;
}

Nginx的高可用

要实现nginx的高可用,需要实现备份机(keepalived+nginx)。
这里如果我们的主机上Nginx出现故障了呢? 那么怎么使用备机上的Nginx进行转发呢? 怎么设置主机和备机呢? 如果主机死了怎么进行故障移除呢?如果主机从不可用到可用状态又怎么进行恢复添加呢? 这些功能都是可以通过Keepalived来进行设置的。
keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。
Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。

高可用图片
首先Keepalived可以在主机上产生一个虚拟的ip, 这里叫做vip(v是virtual的意思):192.168.200.150, keepalived会将这个vip绑定到交换机上.当用户访问主机:192.168.200.129时, 交换机会通过这个ip和vip的对应找到192.168.200.129上的Nginx进行处理.
如果当有一天192.168.200.129上的Nginx挂掉的时候, Keepalived会立即在备机上生成一个相同的vip: 192.168.200.150, 当用户继续访问192.168.200.129时, 交换机上已经绑定了vip, 这时发现这个vip是存在于192.168.200.130上面的, 所以直接将请求转发到了备机上.
如果主机被修复好能够继续对外提供服务时, 这时keepalived会将主机上继续生成这个vip, 同时回收在备机上生成的vip. 这个是通过心跳检查来判断主机已恢复使用.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值