Linux编程环境和软件设施安装

发布时间:2023年12月21日

一、Linux编程环境安装

1.yum安装

A. 安装

apt install yum

?B. 我们可以通过一个指令,来检查当前的yum源

yum repolist

从图中,我们可以看到我们安装的 CentOS7 采用的是网易的163yum源。

C. 网络 yum 源配置文件位于 /etc/yum.repos.d/ 目录下,文件扩展名为"*.repo"

?可以看到,该目录下有 7 个 yum 配置文件,通常情况下 CentOS-Base.repo文件生效。

D. 添加阿里云yum源

(1) 先通过 yum install wget ,安装wget命令
(2) 备份默认的网易163的yum源,执行指令 :
? ? ? ? 切换目录: cd /etc/yum.repos.d/
? ? ? ? 创建备份目录: mkdir bak
? ? ? ? 移动现有的yum源文件到bak: mv *.repo bak/
(3) 下载阿里云的yum源
? ? ? ?wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.a
liyun.com/repo/Centos-7.repo
(4) 执行命令,重新生成cache
? ? ? ? yum clean all
? ? ? ?yum makecache
(5) 再次查看yum源

?之后,我们通过yum指令安装软件,就是从阿里云下载的。

?2. vim安装(文本编辑工具)

命令: yum install vim

安装过程中,会有确认提示,此时输入 y,然后回车,继续安装:

3.??lrzsz安装(文件上传下载工具)

?(1)?搜索lrzsz安装包

yum list lrzsz

(2)?在线安装lrzsz

yum install lrzsz.x86_64



(3)?测试

在命令行中输入 rz , 就会自动打开一个文件选择的窗口,然后选择要上传的文件。

二、Linux软件安装

1.?软件安装方式

?2. 基于二进制包安装JDK

(1)?上传安装包

使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux

由于上述在进行文件上传时,选择的上传目录为根目录 /,上传完毕后,我们执行指令 cd / 切换到
根目录下,查看上传的安装包。

(2)?解压安装包

执行如下指令,将上传上来的压缩包进行解压,并通过-C参数指定解压文件存放目录为/usr/local。

tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local

(3)配置环境变量

使用vim命令修改/etc/profile文件,在文件末尾加入如下配置

JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH

1). 编辑/etc/profile文件,进入命令模式
vim /etc/profile
2). 在命令模式中,输入指令 G , 切换到文件最后
G
3). 在命令模式中输入 i/a/o 进入插入模式,然后切换到文件最后一行
i
4). 将上述的配置拷贝到文件中
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
5). 从插入模式,切换到指令模式
ESC
6). 按:进入底行模式,然后输入wq,回车保存
:wq?

(4)?重新加载profile文件

为了使更改的配置立即生效,需要重新加载profile文件,执行命令:?

source /etc/profile

(5) 检查安装是否成功

java -version


?

3. 基于二进制包安装Tomcat

?(1)?上传安装包

使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux

由于上述在进行文件上传时,选择的上传目录为根目录 /,上传完毕后,我们执行指令 cd / 切换到
根目录下,查看上传的安装包。

(2)?解压安装包

将上传上来的安装包解压到指定目录/usr/local下,执行命令为

tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local

(3)??启动Tomcat

进入Tomcat的bin目录启动服务。执行命令为:

cd /usr/local/apache-tomcat-7.0.57/
cd bin
sh startup.sh或者./startup.sh

(4)Tomcat进程查看

上述我们将Tomcat启动完成之后,并不能知道Tomcat是否正常运行,那么我们验证Tomcat启动是否成功,有多种方式,我们这里主要介绍常见的两种方式:

1). 查看启动日志
Tomcat的启动日志输出在Tomcat的安装目录下的logs目录中,Tomcat的启动及运行日志文件名为
catalina.out,所以我们查看Tomcat启动日志,主要可以通过两条指令,如下:

1). 分页查询Tomcat的日志信息
    more /usr/local/apache-tomcat-7.0.57/logs/catalina.out

2). 查询日志文件尾部的50行记录
   tail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out

?只要Tomcat在启动的过程中,日志输出没有报错,基本可以判定Tomcat启动成功了。

2). 查询系统进程
我们也可以通过Linux系统的查看系统进程的指令,来判定Tomcat进程是否存在,从而判定Tomcat是
否启动。执行如下指令:

ps -ef|grep tomcat

说明:
? ? ? ? ps 命令是linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息
? ? ? ?"|" 在Linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入
? ? ? ?使用ps命令查看进程时,经常配合管道符和查找命令 grep 一起使用,来查看特定进程

(4)防火墙操作

访问地址:http://192.168.138.130:8080,我们发现是访问不到的。

tomcat启动成功了,但就是访问不到,原因就在于Linux系统的防火墙,系统安装完毕后,系统启动时,防火墙自动启动,防火墙拦截了所有端口的访问。
操作防火墙,具体指令如下:
?

注意:
? ? ? ? ?A. systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态
等操作
? ? ? ? ?B. firewall-cmd是Linux中专门用于控制防火墙的命令
? ? ? ? ?C. 为了保证系统安全,服务器的防火墙不建议关闭?

要想访问到Tomcat,就可以采取两种类型的操作:

?A. 关闭防火墙,关闭之后,再次访问Tomcat,就可以访问到了。

? ? ? 执行指令 :?

 systemctl stop firewalld

B. 开放Tomcat的端口号8080

? ? ? 执行指令:

①. 先开启系统防火墙
systemctl start firewalld

②. 再开放8080端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent

③. 重新加载防火墙
firewall-cmd --reload

?执行上述的操作之后,就开放了当前系统中的8080端口号,再次访问Tomcat。

(5)停止Tomcat

在Linux系统中,停止Tomcat服务的方式主要有两种:

A. 运行Tomcat提供的脚本文件

在Tomcat安装目录下有一个bin目录,这个目录中存放的是tomcat的运行脚本文件,其中有一个脚本就是用于停止tomcat服务的。我们可以切换到bin目录,并执行如下指令,来停止Tomcat服务:

sh shutdown.sh

./shutdown.sh

B. 结束Tomcat进程

我们可以先通过 ps -ef|grep tomcat 指令查看tomcat进程的信息,从进程信息中获取tomcat
服务的进程号。然后通过kill -9 的形式,来杀死系统进程。

通过上述的指令,我们可以获取到tomcat的进程号为 79947。接下来,我们就可以通过指令 ,来杀死tomcat的进程 :

kill -9 79947

执行完上述指令之后,再访问Linux系统中的Tomcat,就访问不到了。

注意:

? ? ? ? ? kill命令是Linux提供的用于结束进程的命令,-9表示强制结束

? ? ? ?

? ? ? ? ?虽然上述讲解的两种方式,都可以停止Tomcat服务,但是推荐使用第一种方式
(./shutdown.sh)执行脚本来关闭tomcat服务,如果通过第一种方式停止不了tomcat了,这
个时候,我们可以考虑使用第二种方式,强制杀死进程。

4. 通过rpm安装MySQL?

RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安
装软件的工具。

(1)?检测当前系统是否安装过MySQL相关数据库

需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:

rpm -qa 查询当前系统中安装的所有软件
rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件

通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。

通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和
MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。

(2)?卸载现有的MySQL数据库

在rpm中,卸载软件的语法为:rpm -e --nodeps? 软件名称

通过指令,卸载 mariadb,具体指令为:

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64


执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。

(3)?将MySQL安装包上传到Linux并解压

A. 上传MySQL安装包,将该安装包上传到Linux系统的根目录 / 下面。

B. 解压到/usr/local/mysql

? ? ?执行如下指令:

mkdir /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql

(4)?按顺序安装rpm安装包

rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

说明:
? ? ? ? 因为rpm安装方式,是不会自动处理依赖关系的,需要我们自己处理,所以对于上面的rpm包的安装顺序不能随意修改。
? ? ? ?安装过程中提示缺少net-tools依赖,使用yum安装(yum是一种在线安装方式,需要保证
联网)

? ? ? ? 可以通过指令(yum update)升级现有软件及系统内核?

(5)MySQL启动

MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就可以通过
systemctl指令来查看mysql的状态、启动mysql、停止mysql。

systemctl status mysqld 查看mysql服务状态
systemctl start mysqld 启动mysql服务
systemctl stop mysqld 停止mysql服务

说明:
? ? ? ? ?可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令:
systemctl enable mysqld?

可以通过如下两种方式,来判定mysql是否启动:

netstat -tunlp 查看已经启动的服务
netstat -tunlp | grep mysql 查看mysql的服务信息
ps –ef | grep mysql 查看mysql进程

(6) MySQL登录

A.??查阅临时密码

MySQL启动起来之后,我们就可以测试一下登录操作,但是我们要想登录MySQL,需要一个访问密码,而刚才在安装MySQL的过程中,并没有看到让我们设置访问密码,那这个访问密码是多少呢?

那实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。

可以执行如下指令:

?cat /var/log/mysqld.log

这种方式,可以看到所有的日志数据,文件比较大时,很不方便查看数据。我们可以通过管道符 | 配合grep来对数据进行过滤。

通过以下指令,查询日志文件内容中包含password的行信息。

cat /var/log/mysqld.log | grep password

B. 登录MySQL

获取到root用户的临时密码之后,我们就可以登录mysql数据库,修改root的密码,为root设置一个
新的密码。并且我们还需要开启root用户远程访问该数据库的权限,这样的话,我们就可以在
windows上来访问这台MySQL数据库。

执行如下指令:

①. 登录mysql(复制日志中的临时密码登录)
   mysql -uroot -p

②. 修改密码
   set global validate_password_length=4; 设置密码长度最低位数
   set global validate_password_policy=LOW; 设置密码安全等级低,便于密码可以修改成root
   set password = password('root'); 设置密码为root

③. 开启访问权限
   grant all on *.* to 'root'@'%' identified by 'root';
   flush privileges;

操作完上述的指令之后,数据库root用户的密码以及远程访问我们就配置好了,接下来,可以执行
exit退出mysql,再次通过新的密码进行登录。

也可以使用安装在windows系统中的sqlyog或者Navicat来远程连接linux上的MySQL。

注意: 要想在windows上能够访问MySQL,还需要开放防火墙的3306端口,执行如下指令:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

5. 基于二进制包安装redis

(1)下载Redis,并上传到服务器(放在opt下)

Redis官网:https://redis.io/

历史版本:http://download.redis.io/releases

(2)对Redis文件进行解压

tar zxvf redis-7.0.5.tar.gz 

(3)进入redis目录下,安装gcc

cd redis-3.2.1

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

yum install gcc-c++

查看gcc版本:?

 gcc -v

输入make命令配置Gcc需要的文件?:

make

再次进行make:?

make

make install确认所有都安装完成:?

make install

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

(4)将redis配置文件复制到bin目录下

(先新建文件夹然后再将redis配置文件coyp进去)?

将配置文件复制一份,以后用这个配置文件来启动。

mkdir redisconfig

cp /opt/redis-7.0.5/redis.conf redisconfig

(4)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 123321

?Redis的其它常见配置:

# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

vim redis.conf

?

(5)?启动redis-server服务

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

redis-server redisconfig/redis.conf

?(6)使用redis-cli连接测试

redis-cli -p 6379

(7)查看redis的进程是否开启?(新开一个窗口)

ps -ef|grep redis

(8)关闭redis服务?

shutdown

再次查看服务:

(9)设置Redis开机自启动?

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

vi /etc/systemd/system/redis.service

内容如下:

最重要的是:ExecStart=/usr/local/bin/redis-server /usr/local/bin/redisconfig/redis.conf这个,这里指定了redis-server的配置文件

根据配置文件的不同这里的名字也是不同的

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/bin/redisconfig/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

(10)开启redis端口防火墙允许远程连接

A.查看防火墙状态

在Linux系统中,可以使用以下命令来查看防火墙状态:

sudo systemctl status firewalld

如果输出结果中显示firewalld服务已经启动,则说明防火墙处于开启状态。

B.添加Redis端口规则

在Linux系统中,可以使用以下命令添加Redis的端口规则:

sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent

其中,6379是Redis默认监听的端口号。–zone指定了添加规则的区域,–add-port指定要开放的端口号和协议类型(tcp或udp),–permanent表示该规则将持久化保存。

C.重新加载防火墙配置

执行完上述命令后,需要重新加载防火墙配置才能生效:

sudo firewall-cmd --reload

D.验证是否成功

sudo firewall-cmd --list-ports

执行命令来查看当前开放的端口列表。如果6379出现在列表中,则说明已经成功添加Redis端口规则并且防火墙已经允许该端口进行通信。

(11)性能测试?

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

redis-benchmark [option] [option value]

序号?? ?选项? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?描述? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?默认值
1? ? ? ? ? -h? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?指定服务器主机名? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 127.0.0.1
2? ? ? ? ? -p? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 指定服务器端口? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 6379
3? ? ? ? ? -s? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?指定服务器? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?socket??
4? ? ? ? ? -c? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?指定并发连接数? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?50
5? ? ? ? ? -n? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 指定请求数? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 10000
6? ? ? ? ? -d? ? ? ? ? ? ? ? ? ? ? ? ? 以字节的形式指定 SET/GET 值的数据大小? ? ? ? ? ? ? ? ? ? ? ? ? ? 2
7? ? ? ? ? -k? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1=keep alive 0=reconnect? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
8? ? ? ? ? -r? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SET/GET/INCR 使用随机 key, SADD 使用随机值?? ?
9? ? ? ? ?-P? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?通过管道传输 请求? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
10? ? ? ?-q? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?强制退出 redis。 仅显示 query/sec 值?? ?
11? ? ? –csv? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?以 CSV 格式输出?? ?
12? ? ? ?*-l*? ? (L 的小写字母)? ? ? ? ?生成循环,永久执行测试?? ?
13? ? ? ? -t? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 仅运行以逗号分隔的测试命令列表。?? ?
14? ? ? ?*-I*? ?(i 的大写字母)? ? ? ? ? ? Idle 模式。仅打开 N 个 idle 连接并等待。
?

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

redis-benchmark -h localhost -p 6379 -c 100 -n 100000

6. 基于yum安装Git

通过yum命令在线安装git,执行如下指令:

yum list git 列出git安装包
yum install git 在线安装git

通过上述指令,安装好git之后,我们就可以通过 git --version去验证git的环境。

7. Maven安装

A. 上传资料中提供的maven的安装包

B. 解压maven安装包到/usr/local目录

tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local

C. 在/etc/profile配置文件中配置环境变量

vim /etc/profile

修改配置文件,进入到命令模式,按G切换到最后一行,按a/i/o进入插入模式,然后在最后加入如下内容 :

export MAVEN_HOME=/usr/local/apache-maven-3.5.4

export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

然后按ESC进入到命令模式,输入 :wq 保存并退出

让配置的环境变量生效,还需要执行如下指令:

source /etc/profile

D. 修改maven的settings.xml配置文件,配置本地仓库地址

cd /usr/local/apache-maven-3.5.4/conf     切换目录

vim settings.xml           编辑settings.xml配置文件

在其中增加如下配置,配置本地仓库地址:

<localRepository>/usr/local/repo</localRepository>

并在settings.xml中的标签中,配置阿里云的私服

<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

文章来源:https://blog.csdn.net/qq_53464269/article/details/135124969
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。