本文主要是介绍linx常用命令和安装所需软件,nginx安装使用,redis安装和常用命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.linux-centos7的目录结构
/: centos7的根目录
bin: 脚本目录–包含很多linux命令
sbin: 命令目录–包含linux的命令
etc: 配置目录–可以配置很多参数–IP地址,环境变量配置
root: 它是root用户的目录
usr: 用户安装软件的目录----等价于window中program files
tmp: 缓存–临时目录
lib: centos7系统所需要的依赖
2. linux中常用的命令
- 切换目录 cd
- 查看目录下的内容: ls [-al]
- 当前所在的目录 pwd
- 创建目录 mkdir [-p]
- 创建文件 touch
- 删除目录文件 rm [-rf]
- 复制文件或目录 cp [-r]
- 移动或重命名 mv
- 编辑文件内容: vi—命令行模式—i—编辑—esc[:wq保存并退出 :q!强制退出不保存]
- 查看文件内容cat more head -n 10 tail -n 10
- 指定目录下查找文件或目录 find /指定目录 -name ‘内容’
- 修改权限: chmod [ugo+|-rwx] [数字] 文件
- 压缩和解压 tar -zvfx|c
- 查看进程 ps -ef | grep 进程名
- 防火墙: systemctl status firewalld
systemctl stop firewalld
3.linux安装软件
3.1linux安装软件
配置环境变量
vi /etc/profile
######################JDK1.8的环境变量配置#######################
export JAVA_HOME=/usr/local/jdk1.8
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
(4)重新加在profile文
source /etc/profile
验证:
在任意位置输入javac
3.2 安装tomcat
解压tomcat压缩文件
启动tomact在bin目录下./statup.sh
如何指定tomcat是否启动呢。
ps -ef | grep tomcat —查询进程tomcat
启动时要关闭防火墙
3.2安装mysql数据库
https://www.cnblogs.com/tony-hyn/p/15777762.html
远程连接mysql服务器时,无法连接.===防火墙是否把3306端口放行。
-
查看防火墙放行的端口号:firewall-cmd --list-port
-
添加放行的端口号: firewall-cmd --add-port=3306/tcp --zone=public --permanent
并重启防火墙:systemctl restart firewalld
-
移除防火墙的端口号: firewall-cmd --remove-port=3306/tcp --zone=public --permanent
-
关闭防火墙 :systemctl stop firewalld
-
禁用防火墙: systemctl disable firewalld
4.反向代理服务器: nginx
4.1 什么是nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 . 其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。 能够支持高达 50,000 个并发连接数的响应 .
4.2 为什么使用nginx.
(1)安装相关的依赖
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
(2)上传nginx并解压
tar -zxvf xxx.tar.gz
(3)创建一个目录—作为nginx的安装路径
mkdir /usr/nginx
(4)进入到nginx的解压目录并指定nginx的安装路径为上面的路径
./configure --prefix=/usr/nginx
(5)编译nginx的源码并安装
make 编译
make install 安装
(6)进入安装路径 /usr/nginx
conf: nginx的配置目录
html:静态资源
logs: 日志
sbin: 脚本—启动 关闭 重加载
(7)启动nginx
./nginx 启动nginx
./nginx -s stop 关闭nginx
./nginx -s reload 重新加载配置文件
通过ps -ef | grep nginx命令查看进程
(8)访问nginx
192.168.1.100:80
4.2了解nginx的配置文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-12l9jU68-1682212564133)(C:\Users\YaXianG\AppData\Roaming\Typora\typora-user-images\image-20230423090137888.png)]
server {
listen 81;
server_name localhost;
location / {
root static;
index main.html;
}
}
重新加载配置文件
/usr/nginx/sbin/nginx -s reload
5. 反向代理
正向代理: 代理的是客户端,对应服务器而言不知道真实的客户信息。—翻墙软件
反向代理: 代理的是服务器端,对应客户端来说不知道真实服务器的信息。–nginx
提高服务器的安全性:
(1)nginx如何实现反向代理
准备: (1)springboot项目–部署运行起来
java -jar qy163.jar
//(1)安装jdk (2)连接的数据所在的服务器必须允许远程访问(3)linux中必须关闭防火墙 (2) 修改nginx的配置文件--代理springboot服务器
(3) 客户访问nginx–哪些真实服务器的资源
6. 负载均衡
把客户的请求,负载均衡到相应的服务器。
136 和 166启动tomcat服务器
修改nginx的配置
客户访问:
默认的负载均衡策略: 轮询策略。 在真实开发时可能服务的配置不同,服务器配置高的并发能力强,配置低的并发能力弱。 在负载均衡时,让请求多请求配置高的服务器。我们可以修改负载均衡的策略—权重。
7. 动静分离
把静态资源和动态资源分离开。静态资源交于nginx服务器处理,而动态资源tomcat服务器处理。—适合前后端不分离的情况
(1)项目启动—linux
(2) 配置nginx----配置文件
(3)在nginx安装目录下放置static目录以及内容
(4)在通过nginx访问 —就可以显示静态资源
8. nginx的高可用
准备: 167和166的nginx服务器。
166主节点 167 从节点
(1)166和167安装keepalived
yum install -y keepalived #安装keepalived
默认安装路径: /etc/keepalived
(2)修改keepalived.conf的配置内容
(4)创建nginx检测脚本
(5)166和167都开启nginx和keepalived
systemctl start keepalived.service
(6) 测试
主节点挂掉:
nginx的核心功能: (1)反向代理 (2)负载均衡 (3)动静分离
nginx的高可用
000000000000000000000-----克隆一台------
9. 什么是NOSQL
NOSQL(not only sql) 不仅是sql,它是所有非关系数据库的一种统称。
10. NOSQL和RDBMS的区别
RDBMS --关系型数据库
高度组织化结构化数据。 --表结构 列 列…
结构化查询语言(SQL) sql语句
数据和关系都存储在单独的表中。
数据操纵语言DML,数据定义语言DDL
严格的一致性. ACID 原子性 隔离性 持久性 一致性
基于事务----都支持事务
NoSQL
代表着不仅仅是SQL
没有声明性查询语言
键 - 值对存储。
非结构化和不可预知的数据 字符串 集合 对象 队列
高性能,高可用性和可伸缩性。 ----便于搭建集群—挂载
11. NOSQL的产品
redis----结构基于key和value的形式
mongodb---介于关系型数据库和非关系数据库之间
12.redis简介
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API .[很多语言可以连接该redis]
Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构[存放的数据类型],例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。
12.2 特点
1.Redis读取的速度是110000次/s,写的速度是81000次/s。
2.原子 。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
3.支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
4.持久化,默认在内存中进行计算。可以持久化到磁盘。
5. 主从复制(集群)
5.官方不支持window系统,但是又第三方版本。 linux系统。
13. 安装redis
(1)把redis软件放入centos系统中并解压
tar -zxvf xxxx.tar.gz
(2)进入到解压目录进行编译
make
(3)安装—可以在任意目录下使用redis的脚本命令
make install
(4)启动redis
redis-server redis.conf //配置文件所在的路径
13.2redis客户端连接redis服务器
redis-cli 连接本地redis服务redis-cli -h 192.168.223.166 -p 6379
-h: redis服务器主机的ip
-p: redis服务器的端口号
13.3 聊聊redis的配置文件
(1)开启后台启动
查看redis的进程:
ps -ef | grep redis
如何关闭redis进程
kill -9 进程号
(2) 设置redis远程连接
验证:
13.4 安装redis的客户端的UI软件
等价于==navicat
14. redis中常用的命令
http://www.redis.net.cn/order/
http://redisdoc.com/
14.1 关于key的命令
set key value
keys *: 查看redis中所有的key
del key [key....]: 删除指定key的内容
expire key seconds: 为指定的key设置过期时间
ttl key: 查看当前的key的剩余时间
exists key: 判断指定的key是否存在 返回0表示不存在指定的key 否则表示存在指定的key
14.2 关于数据库的命令
默认redis支持数据库的个数为16个
select n: 选择数据库
flushdb: 清空当前库
flushall: 清空所有库的数据
14.3 redis支持的数据类型
http://www.redis.net.cn/order/
http://redisdoc.com/
这里所说的数据类型----指的是value的数据类型。
String 字符串类型
Hash 对象类型
List: 队列类型
Set: 集合类型
ZSet: 有序集合类型.
不同的数据类型有不同的命令。
14.3.1 String 字符串类型
表示它的value为字符串类型,它是使用最多的类型,因为任意数据类型都可以转化为字符串。
value存储值的大小:512M.
1. set key value: 设置指定 key 的值
2. get key 获取指定 key 的值。
3. mset key value key value .... 同时设置一个或多个 key-value 对。
4. mget key key .... 获取所有(一个或多个)给定 key 的值。
5. incr key 将 key 中储存的数字值增一。 点赞 收藏
6. decr key 将 key 中储存的数字值减一
7. setnx key value 只有在 key 不存在时设置 key 的值。
set key value:
mset key value key value:
get key:
mget key key key…:
incr key:
decr key:
setnx key value:
14.3.2 Hash类型
表示redis的value类型为Hash类型,一般存放对象数据。
1. hset key field value 将哈希表 key 中的字段 field 的值设为 value 。
2. hget key field 获取存储在哈希表中指定字段的值/td>
3. hget key 获取在哈希表中指定 key 的所有字段和值
4. hkeys key 获取所有哈希表中的字段
5.hvals key 获取哈希表中所有值
hset key field value field value …
hget key field
hgetall key:
hkeys key:
hvals key:
flushall
14.3.3 list 队列
value 可以是一个队列—该队列的值可以重复而且有序。
1. LPush key value value value... 将一个或多个值插入到列表头部
2. lrange key start end 获取列表指定范围内的元素
Redis Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
lpop key 移出并获取列表的第一个元素
- lpush key value value …
- lrange key start end
- lpop key 获取并移除第一个元素
14.3.4 set集合类型
无序不允许重复.
1. sadd key value value ....向集合添加一个或多个成员
smemebers key 返回集合中的所有成员
SRANDMEMBER KEY 随机获取一个或多个元素
sinter key key: 返回给定所有集合的交集
14.3.5 sort set有序集合
和上面的set区别在于多了一个score分数列----- 排行耪
zadd key score value score value :向有序集合添加一个或多个成员,或者更新已存在成员的分数
zrange key 通过索引区间返回有序集合成指定区间内的成员
ZREVRANK key start end 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
SRANDMEMBER KEY 随机获取一个或多个元素
sinter key key: 返回给定所有集合的交集
14.3.5 sort set有序集合
和上面的set区别在于多了一个score分数列----- 排行耪
zadd key score value score value :向有序集合添加一个或多个成员,或者更新已存在成员的分数
zrange key 通过索引区间返回有序集合成指定区间内的成员
ZREVRANK key start end 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
把上面所有命令必须练会。
博客该更新----linux nginx更新了
这篇关于linx常用命令和安装所需软件,nginx安装使用,redis安装和常用命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!