当前位置: 首页 > news >正文

Linux 软件安装

目录

一、Linux

1、Linux异常解决

1、JDK安装

1、Linux卸载JDK

2、Linux安装JDK

2、Redis安装


一、Linux

1、Linux异常解决

1、Another app is currently holding the yum lock; waiting for it to exit...

解决办法:
rm -f /var/run/yum.pid1、杀死这个应用程序
ps aux | grep yum(查询有关yum的进程,找到那个更新进程)
命令:kill -s 9 2833 pid
kill 的用法: kill [信号代码] 进程ID
注:信号代码可以省略;我们常用的信号代码是 -s 9 ,表示强制终止;
2833是这个进程的ID
2、强制关掉yum进程,并重新运行yum
#rm -f /var/run/yum.pid
注:强制删除:#rm -f
解释:强制删除文件:  /var/run/yum.pid
如果上面方法不行的话,尝试使用下面的方法。

1、JDK安装

1、Linux卸载JDK

1、查看java -version查看linux系统是否已经安装jdk

[root@localhost java]# java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

2、查看jdk安装的路径:which java

[root@localhost java]# which java
/usr/java/jdk1.8.0_202/bin/java

3、卸载jdk

rm -rf /usr/java/jdk1.8.0_202/bin/java

4、删除环境变量:export开头的三行


[root@localhost java]# vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_202
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

5、检查下系统自带的jdk,并删除它

rpm -qa |grep java
rpm -qa |grep jdk
rpm -qa |grep gcj

2、Linux安装JDK

JDK官方下载地址

1、将文件jdk-21.0.1_linux-x64_bin.tar.gz移动到/usr/java下,usr下没有java文件夹,可以先创建java文件夹:mkdir java

[root@localhost java]# ls
jdk-21.0.1_linux-x64_bin.tar.gz

2、解压

[root@localhost java]# tar -zxvf jdk-21.0.1_linux-x64_bin.tar.gz

3、在/etc/profile文件中,配置环境变量,使JDK在所有用户中生效

编辑文件,在最后添加如下三行:

export JAVA_HOME=/usr/java/jdk-21.0.1
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

4、保存退出后,执行source /etc/profile使修改的环境变量生效

[root@localhost java]# source /etc/profile

5、使用java -version命令测试是否成功

[root@localhost etc]# java -version
java version "21.0.1" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)

2、Redis安装

Redis是基于c语言编写的需要安装依赖,需要安装gcc:

yum install gcc-c++

查看gcc版本:

 gcc -v

下载Redis

wget http://download.redis.io/releases/redis-7.2.3.tar.gz[root@localhost redis]# wget http://download.redis.io/releases/redis-7.2.3.tar.gz                                                 --2023-11-24 00:18:22--  http://download.redis.io/releases/redis-7.2.3.tar.gz
Resolving download.redis.io (download.redis.io)... 45.60.125.1
Connecting to download.redis.io (download.redis.io)|45.60.125.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3384816 (3.2M) [application/octet-stream]
Saving to: ‘redis-7.2.3.tar.gz’100%[========================================================================================>] 3,384,816    200KB/s   in 23s2023-11-24 00:18:56 (146 KB/s) - ‘redis-7.2.3.tar.gz’ saved [3384816/3384816]

解压并安装Redis

tar -zvxf redis-7.2.3.tar.gz
cd redis-7.2.3/
make[root@localhost redis-7.2.3]# make install
cd src && make install
which: no python3 in (/usr/java/jdk-21.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
make[1]: Entering directory `/usr/lwz_tools/redis/redis-7.2.3/src'CC Makefile.dep
make[1]: Leaving directory `/usr/lwz_tools/redis/redis-7.2.3/src'
which: no python3 in (/usr/java/jdk-21.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
make[1]: Entering directory `/usr/lwz_tools/redis/redis-7.2.3/src'Hint: It's a good idea to run 'make test' ;)INSTALL redis-serverINSTALL redis-benchmarkINSTALL redis-cli
make[1]: Leaving directory `/usr/lwz_tools/redis/redis-7.2.3/src'
[root@localhost redis-7.2.3]#

redis默认安装路径:/usr/local/bin

[root@localhost redis-7.2.3]# cd /usr/local/bin
[root@localhost bin]# ls
redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server

redis默认不是后台启动,更改启动方式

有关redis配置文件的一些说明:

然后修改redis.conf文件中的一些配置

# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes 
# 密码,设置后访问Redis必须输入密码
requirepass 123456# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

启动redis-server服务

通过指定配置文件启动服务

redis-server redisconfig/redis.conf

使用redis-cli连接测试

redis-cli -p 6379[root@localhost bin]# redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>#有密码需要 auth 你的密码

查看redis的进程是否开启(新开一个会话)

[root@localhost ~]# ps -ef|grep redis
root      7328     1  0 02:06 ?        00:00:00 redis-server 0.0.0.0:6379
root      7333  1565  0 02:06 pts/0    00:00:00 redis-cli -p 6379
root      7384  7345  0 02:12 pts/1    00:00:00 grep --color=auto redis
[root@localhost ~]#

如何关闭redis服务

127.0.0.1:6379> shutdown
not connected> exit
[root@localhost bin]#

再次查看服务:

[root@localhost ~]# ps -ef|grep redis
root      7386  7345  0 02:14 pts/1    00:00:00 grep --color=auto redis

设置Redis开机自启动

首先,新建一个系统服务文件:

vi /etc/systemd/system/redis.service

内容  /usr/local/bin/redis.conf指定配置文件路径可修改

[Unit]
Description=redis-server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/bin/redis.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target

然后重载系统服务:

systemctl daemon-reload

现在,我们可以用下面这组命令来操作redis了:

# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis

执行下面的命令,可以让redis开机自启:

systemctl enable redis

性能测试

redis 性能测试的基本命令如下:

redis-benchmark [option] [option value]

测试100个并发链接,每个并发100000请求

redis-benchmark -h localhost -p 6379 -c 100 -n 100000
Summary:throughput summary: 10989.01 requests per secondlatency summary (msec):avg       min       p50       p95       p99       max5.135     1.600     4.479     9.823    13.223    25.231
====== LRANGE_600 (first 600 elements) ======100000 requests completed in 10.48 seconds     #100000个请求  所有请求在10.48秒完成100 parallel clients                           #100个客户端3 bytes payload                                #每次3个字节keep alive: 1                                  #活跃1个host configuration "save": 3600 1 300 100 60 10000host configuration "appendonly": nomulti-thread: noLatency by percentile distribution:
0.000% <= 1.463 milliseconds (cumulative count 1)
50.000% <= 5.175 milliseconds (cumulative count 50271)
75.000% <= 5.999 milliseconds (cumulative count 75004)
87.500% <= 8.087 milliseconds (cumulative count 87514)
93.750% <= 10.631 milliseconds (cumulative count 93761)
96.875% <= 13.255 milliseconds (cumulative count 96875)
98.438% <= 15.199 milliseconds (cumulative count 98438)
99.219% <= 17.823 milliseconds (cumulative count 99221)
99.609% <= 20.319 milliseconds (cumulative count 99611)
99.805% <= 23.279 milliseconds (cumulative count 99807)
99.902% <= 25.503 milliseconds (cumulative count 99903)
99.951% <= 26.863 milliseconds (cumulative count 99952)
99.976% <= 27.727 milliseconds (cumulative count 99976)
99.988% <= 28.351 milliseconds (cumulative count 99988)
99.994% <= 28.847 milliseconds (cumulative count 99994)
99.997% <= 29.087 milliseconds (cumulative count 99997)
99.998% <= 29.279 milliseconds (cumulative count 99999)
99.999% <= 29.391 milliseconds (cumulative count 100000)
100.000% <= 29.391 milliseconds (cumulative count 100000)

Linux常用命令

干我们这行,啥时候懈怠,就意味着长进的停止,长进的停止就意味着被淘汰,只能往前冲,直到凤凰涅槃的一天!

http://www.lryc.cn/news/252755.html

相关文章:

  • flask之邮件发送
  • 【Filament】Filament环境搭建
  • 外包干了2个月,技术倒退2年。。。。。
  • 使用 python ffmpeg 批量检查 音频文件 是否损坏或不完整
  • Django:通过user-agent判断请求是来自移动端还是PC端(电脑端)
  • Linux中ssh远程登录系统和远程拷贝
  • git常用命令小记
  • 深入Android S (12.0) 探索Framework之输入系统IMS的构成与启动
  • SoC with CPLD and MCU ?
  • 基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(二)——数据清洗、转换
  • vuepress-----6、时间更新
  • C++ ini配置文件的简单读取使用
  • 【稳定检索|投稿优惠】2024年经济管理与安全科学国际学术会议(EMSSIC 2024)
  • 什么是网站?
  • pg_stat_replication.state 含义
  • JavaWeb(六)
  • GPIO的使用--时钟使能含义--代码封装
  • 最小化安装 Neokylin7.0 用于搭建 Hadoop 集群
  • 苍穹外卖面试题-中
  • Python 重要数据类型
  • 03、pytest初体验
  • 智能指针及强相关知识经验总结 --- 移动语义、引用计数、循环引用、move()、自定义删除器等
  • Gson 自动生成适配器插件
  • React创建项目
  • Redis5新特性-stream
  • 删除PPT文件的备注内容
  • 2023年亚太杯APMCM数学建模大赛B题玻璃温室小气候调控
  • Oracle 查询语句限制只选择最前面几行,和最后面几行的实现方式。
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • 在 Mac 上使用浅色或深色外观