Linux学习
基础知识
远程登录linux命令
ssh 登录用户@用户名
ssh root@clone1
1.创建文件夹目录
mkdir -p Linux路径 (make directory) -p:表示递归创建
2.删除文件夹目录
rmdir -p Linux路径
3.创建文件
touch Linux路径
4.查看文件内容
1.cat -n Linux路径 -n:显示行号
2.tail [-f -n] 行数 Linux路径 -f:持续跟踪
[root@localhost test]# tail -n 5 test.txt
dfaije
djfdaijfe
fdjsfjaiew
a
[root@localhost test]# tail -5 test.txt
dfaije
djfdaijfe
fdjsfjaiew
a
3.head [-n] 行数 Linux路径
4.more Linux路径(区别:cat是直接将内容全部显示出来,more支持翻页),通过空格翻页,按q退出查看
5.grep [-n] 查找数据 Linux路径 :查找文件里符合条件的字符串
5.复制文件、文件夹(copy)
cp [-r] 参数1 参数2
-r:可选,用于复制文件夹使用,表示递归
scp 远程传输文件
scp 本地上传文件地址 root@clone:/etc/server(远程路径地址)
6.移动文件、文件夹(move)
mv 参数1 参数2
参数2如果存在,则移动
参数2如果不存在,则为改名效果
7.删除文件、文件夹(remove)
rm [-r -f] 参数1 参数2.....
-r:可选,用于复制文件夹使用,表示递归
-f:表示force,强制删除
8.查找命令的程序文件(which)
which 查找的命令
[root@localhost ~]# which cd
/bin/cd
9.文件名查找文件(find)
find 起始路径 -name "被查找文件名"
[root@localhost ~]# find / -name "test"
/root/test
/usr/bin/test
/usr/lib/modules/3.10.0-862.el7.x86_64/kernel/drivers/ntb/test
/usr/lib64/python2.7/test
/usr/lib64/python2.7/unittest/test
10.wc命令做数量统计
可以通过wc命令统计文件的行数、单词数量等
语法: wc [-c -m -l -w] 文件路径
-c:统计bytes数量
-m:统计字符数量
-l:统计行数
-w:统计单词数量
11.管道符:|(将管道符左边命令的结果作为右边命令的输入)
grep、wc可做管道符的输入
[root@localhost test]# cat test.txt | grep d
dhhh
dfdfe
dfahue
dfaije
djfdaijfe
fdjsfjaiew
12.echo命令,在命令行内输出指定内容,被``包围的内容会被作为命令执行,而非普通字符
echo 输出的内容
[root@localhost test]# echo a
a
[root@localhost test]# echo `pwd`
/root/test
13.重定向
>:将左侧命令的结果,覆盖写入到符号右侧指定的文件中
>>:将左侧命令的结果,追加写入到符号右侧指定的文件中
[root@localhost test]# cat test.txt > test1.txt
[root@localhost test]# cat test1.txt
hello
dhhh
dfdfe
hhifh
dfahue
dfaije
djfdaijfe
fdjsfjaiew
a
[root@localhost test]# cat test.txt >> test1.txt
[root@localhost test]# cat test1.txt
hello
dhhh
dfdfe
hhifh
dfahue
dfaije
djfdaijfe
fdjsfjaiew
a
hello
dhhh
dfdfe
hhifh
dfahue
dfaije
djfdaijfe
fdjsfjaiew
a
[root@localhost test]#
用户权限
1.root用户:超级管理员,拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的
普通用户在home目录不受限,出了home目录,很多权限用不了
切换账户命令:
su [-] [用户名] -是可选的,表示是否在切换用户后加载环境变量
exit退出账户(ctrl+d)
2.临时授权:sudo
sudo 其他命令
但是并不是所有的用户,都有权力使用sudo,我们需要为普通用户配置sudo认证
3.用户、用户组
用户组创建、用户组删除
groupadd 用户组名
groupdel 用户组名
用户创建
4.查看系统用户\用户组
getent passwd
getent group
Linux管控权限
-:文件
d:文件夹
l:软连接
1.修改用户权限命令
chmod [-R] 用户权限 用户组权限 其他用户权限 文件 [-R]:代表文件夹里面的所有文件
r:可读 4
w:可写 2
r:可执行 1
2.修改文件、文件夹所属的用户和用户组
chown [-R] [用户][:][用户组] 文件或文件夹
快捷键
ctrl+c:强制停止
ctrl+d(exit):退出或者登出
history:查看历史输入过的命令
!命令前缀:自动匹配上一个命令
ctrl+r:搜索历史命令
光标移动快捷键
ctrl+a :跳到命令开头
ctrl+e:跳到命令结尾
ctrl+键盘左/右:向左右跳一个单词
ctrl+l(clear):清屏
软件安装
yum命令为centos系统安装软件
apt命令为ubuntu系统安装软件
yum命令(centos)
eg:
apt命令(ubuntu)
systemctl命令
systemctl命令控制软件的启动和关闭
软连接(ln)
注意:链接地址一定要是绝对路径
日期和时区
查看日期时间命令
日期计算:
date -d "+1 day"
npt进行时间同步和校准
ip地址、主机名
ip和主机名
1.修改主机名
1.查看主机名
hostname
2.修改主机名(修改主机名,需要用root用户)
hostnamectl set-hostname 主机名称
[root@localhost ~]# hostnamectl set-hostname wgz
3.重新登录即可看到主机名显示正确
2.ip与主机名的映射
1.现在本地进行查看记录
看windows:c:\windows\system32\drivers\etc\hosts
看linux:/etc/hosts
映射关系:ip地址 主机名
2.本地没有,则联网去看
虚拟机配置固定ip
1.配置固定ip(windows)
1.点击虚拟网络编辑器,然后找到vmnet8
2.修改子网ip,子网掩码(255.255.255.0)
3.然后点击nat设置,查看网关ip是不是在子网IP内(2为最后)
4.在linux中修改固定ip
5.重启网络
systemctl restart network
网络请求和下载
ping命令检查服务器是否可联通
ping [-c num] ip或者主机名 -c num 检查次数
[root@localhost ~]# ping -c 2 www.baidu.com
wget命令下载文件
wget [-b] url -b表示后台下载,会将日志写入到当前工作目录的wget-log文件中
curl命令发起网络请求
网络
端口
查看端口占用
nmap 被查看的ip地址
查看这个ip占用的端口
查看所有端口
netstat -anp
netstat -anp | grep 端口号
查看tcp的端口
netstat -ntlp
telnet <主机名或IP地址> <端口号>
进程
查看进程
ps [-e -f]
-e:显示出全部的进程
-f:完全格式化的形式展示信息
关闭进程
kill [-9] 进程ID
-9:强制关闭
主机状态
查看系统资源占用
top
mysql(5.7)安装
1.配置yum仓库
更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
安装MySQL yum库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
2.使用yum安装mysql
yum -y install mysql-community-server
3.安装完成后,设置开机自启动
启动MySQL
systemctl start mysqld
开机自启动mysql
systemctl enable mysqld
systemctl status mysqld
4.配置mysql
grep 'temporary password' /var/log/mysqld.log
#修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
#如果你想设置简单密码,需要降低Mysql的密码安全级别
set global validate_password_policy=LOW;# 密码安全级别低
set global validate_password_length=4; # 码长度最低4位即可
#然后就可以用简单密码了 (课程中使用简单密码,为了方便,生产中不要这样)
ALTER USER 'root'@'localhost' IDENTIFIED BY简单密码;
#授权root远程登录
grant all privileges on *.* to root@"IP地址" identified by '密码' with grant option;
#IP地址即允许登陆的IP地址,也可以填写%,表示允许任何地址
#密码表示给远程登录独立设置密码,和本地登陆的密码可以不同
#剧新权限,生效
flush privileges;
一般navicat连接不上mysql的原因:
第一种:防火墙未关闭
systemctl status firewalld
第二种:防火墙打开,但是端口未开发
1.查看防火墙端口开放
firewall-cmd --list-port
2.开启防火墙命令
firewall-cmd --zone=public --add-port=3306/tcp --permanent
3.重启防火墙
firewall-cmd --reload
Tomcat安装
1.安装jdk
1.创建一个文件夹
mkdir -p /export/server
1.将安装包拖到服务器这个地址:/export/server
2.解压jdk安装文件(-C 指定路径下解压)如果没有可不要
tar -zxvf 安装包 -C 指定路径下解压
z:表示使用gzip进行压缩和解压缩
x:解压
v:显示详细信息
f:表示指定文件
3.配置JAVA_HOME环境
编辑配置文件:vi /etc/profile
编辑内容
JAVA_HOME=/usr/java/jdk11
CLASSPATH=$JAVA_HOME/lib
PATH=$PATH:$JAVA_HOME/bin
4.刷新配置文件
source /etc/profile
2.安装tomcat
1.下载tomcat安装包
wget https://dlcdn.apache.org/tomcat/tomcat-18/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz
如果出现https相关错误,可以使用--no-check-certificate选项
wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-18/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz
2.解压tomcat安装包
3.启动tomcat
/export/server/tomcat/bin/startup.sh
4.放行tomcat的8080端口(两种方式:1.关闭防火墙 2.不关闭防火墙,开放8080端口)
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
5.浏览器访问(服务器ip:8080)
Nginx安装
1.安装依赖程序
yum install -y yum-utils
2.手动添加nginx的yum仓库v
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
3.通过yum安装最新稳定的nginx
yum install -y nginx
4.启动Nginx
systemctl start nginx
systemctl enable nginx 开机自启动
5.防火墙配置
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
6.访问nginx
ip:80
RabbitMQ安装----未验证
RabbitMQ开源的消息队列系统,为企业提供信息的发布、订阅、点对点传输等消息服务
1.准备yum仓库
rpm --import https://github.com/rabbitmg/signing-keys/releases/download/2.0/rabbitmg-release-signing-key.asc
rpm --import https://packagecloud.io/rabbitmg/erlang/gpgkey
rpm --import https://packagecloud.io/rabbitmg/rabbitmg-server/gpgkey
2.准备仓库文件
vi /etc/yum.repos.d/rabbitmq.repo
[rabbitmq_erlang]
namerabbitmg_erlang
baseurl=https://packagecloud.io/rabbitmg/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
#PackageCloud's repository key and RabbitMq package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkeyhttps://github.com/rabbitmg/signing-keys/releases/download/2.0/rabbitmg-release-signing-key.ascsslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire-308
[rabbitmq_erlang-source]
name=rabbitmg_erlang-source
baseurl=https://packagecloud.io/rabbitmg/erlang/el/7/SRPHS
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMg package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkeyhttps: //github.com/rabbitmg/signing-keys/releases/download/2.0/rabbitmg-release-signing-key.ascsslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
## RabbitMQ server
[rabbitmg_server]
name=rabbitmg_server
baseurl=https://packagecloud,io/rabbitmg/rabbitmg-server/el/7/$basearchrepo_gpgcheck=1
gpgcheck=0
enabled=1
#PackageCloud's repository key and RabbitMg package signing keygpgkey=https://packagecloud.1o/rabbitmg/rabbitmg-server/gpgkey
https://github.com/rabbitmg/signing-keys/releases/download/2,0/rabbitmg-release-signing-key.ascsslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
rabbitmg_server-source]
name=rabbitmq_server-source
baseurl=https://ckagecloud.io/rabbitmg/rabbitmg-server/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmg-server/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmg_server-source]
name=rabbitmg_server-source
baseurl=https://packagecloud,io/rabbitmg/rabbitmg-server/el/7/SRPMSrepo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
3.安装RabbitMQ
yum -y install erlang rabbitmq-server
4.启动
systemctl start rabbitmq-server
systemctl enable rabbitmq-server
5.放行防火墙
rabbitmq端口5672、15672、25672
6.启动rabbitmq的web管理控制台
rabbitmq-plugins enable rabbitmq_management
7.添加用户并赋予权限
rabbitmgctl add_user admin 'Itheima66^'
rabbitmqctl set_permissions p"/""admin" ".*" ".*" ".*"
rabbitmgctl set_user_tags admin administrator
8.打开网址
ip:15672
Redis安装
1.配置EPEL仓库
yum install -y epel-release
2.安装redis
yum install -y redis
3.启动redis
systemctl start redis
systemctl enable redis
4.放行防火墙
redis端口:6379
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
5.进入redis服务
[root@localhost ~]# redis-cli
Elasticsearch安装
集群
集群的基础都是在java环境上进行,因此要安装jdk环境
1.clone三个虚拟,然后进行ip修改,修改主机名(node1\node2\node3)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
分别修改为:192.168.112.131
192.168.112.132
192.168.112.133
2.准备主机名映射
3.ssh免密登
3.1每台设备执行命令,生成密钥
ssh-keygen -t rsa -b 4096
3.2 每一台都执行以下命令,之后用ssh登录,都不用输入密码
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
Zookeeper集群
Zookeeper是一款分布式的集群化软件,可以在多台服务器上部置,并协同组成分布式集群一起工作
1.首先,要确保已经完成了集群化环境前置准备环节的全部内容
2.【node1上操作】下载Zookeeper安装包,并解压
#下载
wget --no-check-certificate http://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz
#确保如下目录存在,不存在就创建
mkdir -p /export/server
# 解压
tar zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /export/server
3.【node1上操作】创建软链接
1n -s /export/server/apache-zookeeper-3.5.9 /export/server/zookeeper
4.【node1上操作】修改配置文件
vi /export/server/zookeeper/conf/zoo.cfg
tickTime=2000
#zookeeper数据存储目录
dataDir=/export/server/zookeeper/data
clientPort=2181
initlimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
5.【node1上操作】配置myid
#1.创建Zookeeper的数据目录
mkdir /export/server/zookeeper/data
#2.创建文件,并填入1
vi /export/server/zookeeper/data/myid
# 在文件内填入1即可
6.分别在2和3做同样操作
myid 分别填入2、3
7.启动zookeeper
1.切换到zookeeper/bin
2.运行./zkServer.sh start
8.jps查看是否启动
Jps
#结果中找到有:QuorumPeerMain 进程即可
9.验证zookeeper
注意:防火墙端口的通行或者关闭防火墙,不然会一直连接不上
1.切换到zookeeper/bin
2.运行./zkCli.sh
3.执行ls
无报错则配置完成
Kafka集群
1.确保已经跟随前面的视频,安装并部署了JDK和Zookeeper服务
Kafka的运行依赖JDK环境和Zookeeper请确保已经有了JDK环境和Zookeeper(三台机器都需要进行安装)
2.【在node1操作】下载并上传Kafka的安装包
#下载安装包
wget --no-check-certificate http://archive.apache.org/dist/kafka/2.4.1/kafka_2.12-2.4.1.tgz
3.【在node1操作】解压了。
mkdir -p /export/server#此文件夹如果不存在需先创建
# 解压
tar -zxvf kafka_2.12-2.4.1.tgz /export/server/
# 创建软链接
ln-s /export/server/kafka_2.12-2.4.1 /export/server/kafka
4.【在node1操作】修改Kafka目录内的config日录内的server.properties文件
cd /export/server/kafka/config
#指定broker的id
broker.id=1
#指定 kafka的绑定监听的地址
listeners=PLAINTEXT://node1:9092
#指定Kafka数据的位置
log.dirs=/export/server/kafka/data
#指定Zookeeper的三个节点
zookeeper.connect=node1:2181,node2:2181,node3:2181
5.启动
#方式1:【前台启动】分别在node1、2、3上执行如下语句
/export/server/kafka/bin/kafka-server-start.sh /export/server/kafka/config/server.properties
#方式2:【后台启动】分别在node1、2、3上执行如下语句6
nohup /export/server/kafka/bin/kafka-server-start.sh /export/server/kafka/config/server.properties 2>&1 >> /export/server/kafka/kafka-server.log &
测试Kafka能否正常使用
1.创建测试主题
#在node1执行,创建一个主题
/export/server/kafka 2.12-2.4.1/bin/kafka-topics.sh --create --zookeeper node1:2181 --replication-factor 1 --
partitions 3 --topic test
2.运行测试,请在FinalShell中打开2个node1的终端页面
#打开一个终端页面,启动一个模拟的数据生产者
/export/server/kafka_2.12-2.4.1/bin/kafka-console-producer.sh --broker-list node1:9092 --topic test
#再打开一个新的终端页面,在启动一个模拟的数据消费者
/export/server/kafka_2.12-2.4.1/bin/kafka-console-consumer.sh --bootstrap-server node1:9092 -topic test --from-beginning
数据生产者生产数据,数据消费者将接收到对应数据
标签:--,server,学习,test,export,Linux,rabbitmg,root From: https://www.cnblogs.com/MaybeGut/p/18056387