Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署

如果你对在Linux环境下,对安装JDK、Tomcat、MySQL、Redis等有疑问,安装过程中经常出现问题,不妨看看本文,希望对你有用。

0、检查是否能连接外网

  • 查看虚拟机的IP地址
ifconfig   

如果显示ifconfig命令找不到,则需要安装net-tools插件:

yum install net-tools

此外,还可以通过 ip addr命令来查看虚拟机的IP地址

1、安装JDK

安装版本为jdk1.8.0_171,FinalShell上传jdk的安装包到Linux的根目录,将jdk的安装包解压到 /usr/local目录下

jdk-8u171-linux-x64.tar.gz

打开/etc/profile,配置环境变量,JAVA_HOME 和PATH

 vim /etc/profile
 # 如果显示 -bash: vim: 未找到命令,则需要安装vim
 yum install vim

/etc/profile配置文件的末尾加上如下配置:

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

保存修改的配置后退出 /etc/profile,source命令重新加载/etc/profile,使其生效。

source /etc/profile

其后,通过 java -verison 就可查看jdk的相关信息,来检查是否安装成功。
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第1张图片

2、安装Tomcat

安装版本为 tomcat-7.0.57,上传Tomcat的安装包到Linux的根目录,将Tomcat的安装包解压到 /usr/local目录下

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

切换到Tomcat的bin 目录下通过 sh startup.sh启动Tomcat,

sh startup.sh
# 或者
./startup.sh

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第2张图片
验证Tomcat是否启动成功,可以查看日志
tail -10 catalina.outmore catalina.out命令)

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第3张图片
或者ps查看进程:

ps -ef | grep tomcat

当然,还可以在Window端通过IP+端口的方式来访问,Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第4张图片
这种方式需要Linux关闭防火墙,可通过如下命令:

# 暂时关闭防火墙
systemctl stop firewalld
# 永久关闭防火墙
systemctl disable firewalld
# 此外,查看防火墙状态的命令1:
systemctl status firewalld
# 或者命令2:
firewall-cmd --state
# 开放指定端口(需要在防火墙开启状态下去开放或关闭指定端口),如:3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 关闭指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

停止Tomcat服务:
bin目录下运行停止服务的脚本shutdown.sh

sh shutdown.sh
或
./shutdown.sh

3、安装MySQL

安装版本为 mysql-5.7.25,上传MySQL的安装包,将其解压到/usr/local/mysql目录下,

mkdir /usr/local/mysql
cd /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz
  • RPM:即RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。
  • 安装rpm软件包之前,需要检测当前虚拟机是否安装MySQL、mariadb(需要卸载):
# 查询当前系统中安装的所有软件
rpm -qa       
# 查询当前系统中带有名为mysql的软件
rpm -qa | grep mysql
# 查询当前系统中带有名为mariadb的软件,找到并删除
rpm -qa | grep mariadb
# Centos7自带mariadb,会与mysql冲突,应删除
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

注:卸载已经安装的冲突应用:

rpm -e --nodeps 软件应用名

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第5张图片

按照如下顺序安装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软件包之间存在着一定的依赖关系。
安装完成后,可以通过yum update升级现有的软件和系统内核

启动和验证mysql是否安装成功

# 启动mysql服务
systemctl start mysqld
# 查看mysql服务状态
systemctl status mysqld
# 开机就启动mysql服务,避免每次手动启动服务
systemctl enable mysqld
# 查看已经启动的服务
netstat -tunlp
# 查看已经启动的、名为mysql的服务
netstat -tunlp | grep mysql       
# 查看名为mysql的进程
ps -ef | grep mysql

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第6张图片
初次登录MySQL,需要在/var/log/mysqld.log日志文件中查阅临时密码:

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

在这里插入图片描述

登录mysql,修改密码,并开放访问权限:

# 登录mysql(使用临时密码)
mysql -uroot -p  
# 设置最短密码长度
set global validate_passwo`rd_length=4;
# 设置密码的安全等级,便于密码可以使用`123456`这类简单密码
set global validate_password_policy=LOW;
# 设置密码为`123456`
set password = password('123456');
# 开放访问权限,允许外部用密码`123456`访问本地的mysql
grant all on *.* to 'root'@'%' identified by '123456';
# 刷新权限,让配置立即生效
flush privileges;

注意:不要忘了命令后面的分号,表示命令结束,要立即执行。
如此,就可以使用配置的正式密码(123456)来登录mysql了。

mysql -uroot -p123456

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第7张图片

# 查看mysql中的数据库
show databases;

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第8张图片
此外,还可以Windows中访问Linux系统的mysql。
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第9张图片

补充:安装lrzsz
lrzsz是一款在linux里可代替ftp上传和下载的程序,当然,你也可以使用FinalShell,FinalShell自带文件上传和下载的功能。

# 在服务器上搜索lrzsz安装包
yum list lrzsz
# 安装lrzsz
yum install lrzsz.x86_64

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第10张图片

4、部署项目

项目部署可以通过手动部署和Shell脚本的方式来部署,这里就只介绍下手动部署。

4.1、手动部署项目

在IDEA工具中,将项目打包成jar包,这是一个简单的Springboot项目,创建项目后,只编写了DeployController和application.yml。
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第11张图片
application.yml:

server:
  port: 9898

logging:
  level:
    com.example.demo: debug
@RestController
@RequestMapping("/deploy")
@Slf4j
public class DeployController {

    @GetMapping("/test")
    public String test(){
        System.out.println("正在测试项目部署:");
        return "测试项目部署中。。。";
    }

    @GetMapping("/hello")
    public String hello(){
        log.info("项目已经成功部署!");
        return "deploy_project_test 已部署成功!";
    }
}

1)点击Lifecycle中的package选项
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第12张图片
2)或者在Terminal终端通过命令的方式打包,切换到想要打包的项目路径下,输入命令: mvn clean package
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第13张图片
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第14张图片
打包完成后,会在target目录下生成一个名为 demo的jar包
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第15张图片
上传刚刚打包的jar包到虚拟机的/usr/local/deploy目录下(可以是任意目录),且切换到deploy目录,通过 java -jar命令来启动项目。

java -jar demo-0.0.1-SNAPSHOT.jar

如果要能通过外部访问,需要查看本机是否关闭了防火强,或开启了防火墙,则要检查是否开放了要部署的项目端口。关于防火墙和开放端口的命令在前面安装Tomcat时有讲过。

firewall-cmd --zone=public --list-port

部署项目的端口是9898,可以在本地浏览器上发送请求:
http://192.168.40.144:9898/deploy/hello
http://192.168.40.144:9898/deploy/test
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第16张图片
可以在Linux端的控制台看到有关日志:

但这样的部署方式存在一定的问题,该方式通过控制台霸屏来运行,如果退出终端,就无法访问该部署项目,需要改为后台运行程序,并将日志输出到日志文件中,方便运维查阅日志。

# 以nohup不挂断的方式来启动项目(即使关闭控制台,也能正常访问)
# 运行日志将记录在demo01.log中
nohup java -jar demo-0.0.1-SNAPSHOT.jar &> demo01.log &
  • 关闭服务
# 查询正在运行的进程
ps -ef | grep 'java -jar'
# 杀死进程(-9 表示强制杀死,pid是进程号)
kill -9 pid

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第17张图片
如此,杀死进程后,服务就无法访问了。

  • 你也可以通过Shell脚本的方式来部署项目,需要安装git和maven,为避免本文篇幅过长,具体操作可以参考:springboot打包不同环境配置与shell脚本部署
    我就介绍下一些前置的安装教程。
4.2、安装git
# 列出服务器上git的安装包
 yum list git
 # 在线安装git
 yum install git.x86_64

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第18张图片

4.3、安装maven

将maven的安装包解压在/usr/local/目录下,

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

编辑/etc/profile,将maven的环境变量添加到文件末尾

vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第19张图片
如此,就可通过mvn -version来查看当前maven的有关信息
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第20张图片
配置maven的本地仓库
(修改apache-maven-3.5.4/conf/settings.xml):

# 创建本地仓库的文件夹
mkdir maven_repo/
# 编辑settings.xml
cd apache-maven-3.5.4/conf/settings.xml
vim settings.xml

将如下本地仓库的配置添加到settings.xml

/usr/local/maven_repo</localRepository>

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第21张图片

5、安装Redis

安装版本为redis-6.2.1,将Redis安装包上传到根目录下,并解压到/usr/local目录,

tar -zxvf redis-6.2.1.tar.gz -C /usr/local

安装Redis的依赖环境gcc:

yum install gcc-c++

进入/usr/local/redis-6.2.1(我将redis解压在/usr/local)进行编译,命令为:

make

进入redis-6.2.1的src目录,进行安装,命令为:

make install

上述操作执行完成后,在redis目录下的redis.conf就是redis的配置文件,redis-6.2.1/src目录下的redis-server和redis-cli就是启动Redis服务端和客户端的脚本Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第22张图片
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第23张图片
在src目录下,启动redis服务端和客户端的命令如下:

./redis-server
./redis-cli

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第24张图片
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第25张图片

6、RocketMQ

  • 下载RockeMQ需要的环境:
    Linux64位系统、JDK1.8(64位)、源码安装需要安装Maven 3.2.x
  • RocketMQ下载地址:RockMQ官网下载地址
  • 下载RockMQ4.4.0的二进制安装包(rocketmq-all-4.4.0-bin-release),并将其上传Linux系统,创建rocketmq,存放rocketmq服务
    在这里插入图片描述Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第26张图片
  • benchmark:存放一些demo以供运行
  • bin:存放可执行文件
  • conf:实例配置文件 ,包括broker配置文件、logback配置文件等
  • lib:依赖jar包,包括Netty、commons-lang、FastJSON等
  • rocketmq目录下,执行如下命令启动NameServer
# 1.启动NameServer
nohup sh bin/mqnamesrv &
# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/namesrv.log
  • 输出如下日志,就表示rocketmq服务已经成功启动:
    Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第27张图片
  • 启动Broker
# 1.启动Broker, 9876是Broker的默认启动端口
nohup sh bin/mqbroker -n localhost:9876 &
# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/broker.log 

问题如下,显示无法读取数据:
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第28张图片

  • 原因在于RocketMQ默认的虚拟机内存较大,启动Broker如果因为内存不足失败,需要编辑runbroker.sh和runserver.sh两个配置文件,修改JVM内存大小
# 编辑runbroker.sh和runserver.sh修改默认JVM大小
vi runbroker.sh
vi runserver.sh

参考配置:

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m  -XX:MaxMetaspaceSize=320m"

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第29张图片

  • 关闭RocketMQ服务
# 1.关闭NameServer
sh bin/mqshutdown namesrv
# 2.关闭Broker
sh bin/mqshutdown broker
  • 依次启动NameServer、Broker:
 nohup sh mqnamesrv &
 nohup sh mqbroker -n localhost:9876 &
 # 查看启动的Java进程
 jps

如下,使用jps可见Broker和NameServer已经启动成功:
Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第30张图片

7、安装Docker

  • 在安装Docker之前,一定要保证是Centos7及以上版本,我这里是Centos7.6,可用命令 cat /etc/redhat-release 查看
    Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第31张图片

7.1、安装相关依赖

  • yum安装gcc相关
yum -y install gcc
yum -y install gcc-c++
  • 安装需要的软件包
yum install -y yum-utils
  • 设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 更新yum软件包索引
yum makecache fast
  • 安装DOCKER CE
yum -y install docker-ce docker-ce-cli containerd.io

7.2、测试

  • 启动docker
systemctl start docker
  • 查看docker服务的运行状态
systemctl status docker
  • 运行自定义镜像(永远的helloworld)
docker run hello-world
  • 查看本地主机上的镜像
docker images

docker images命令Options说明:
-a :列出本地所有的镜像(含历史映像层)
-q :只显示镜像ID。

docker images -a
docker images -q

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第32张图片

Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署_第33张图片

你可能感兴趣的:(安装教程,linux,tomcat,mysql,idea,java)