Linux编程环境和软件设施安装
一、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>
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!