百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

Linux上安装jdk Tomcat mysql redis等教程

liebian365 2024-11-22 17:13 26 浏览 0 评论

在Linux上安装JDK、Tomcat、MySQL和Redis的详尽指南

Linux环境下搭建开发环境,安装JDKTomcatMySQLRedis是常见的需求。本文将为你提供一个详细、专业的安装步骤,并配以丰富的解释和图示,确保你能够顺利完成安装和配置。


目录

  1. 安装JDK
  2. 安装Tomcat
  3. 安装MySQL
  4. 安装Redis
  5. 工作流程图
  6. 总结

?1. 安装JDK

Java开发工具包(JDK)是开发Java应用的基础。以下步骤将指导你在Linux上安装JDK。

步骤一:下载JDK安装包

  1. 选择JDK版本:可以从Oracle官网或OpenJDK官网下载适合的版本。推荐使用OpenJDK,因为它是开源且免费。
  2. wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
  3. 解释
  4. wget:下载工具,用于从指定URL下载文件。
  5. https://...:JDK下载链接,请根据需要选择合适的版本。

步骤二:解压安装包

将下载的压缩包解压到指定目录,例如 /opt。

sudo tar -zxvf openjdk-11.0.2_linux-x64_bin.tar.gz -C /opt/

解释

  • sudo:以超级用户权限执行命令。
  • tar -zxvf:解压缩命令,-z表示gzip压缩,-x解压,-v显示过程,-f指定文件。
  • /opt/:推荐的安装目录,可以根据需求更改。

步骤三:配置环境变量

编辑 ~/.bashrc文件,添加JDK的环境变量。

echo 'export JAVA_HOME=/opt/jdk-11.0.2' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

解释

  • JAVA_HOME:指定JDK的安装路径。
  • PATH:将JDK的 bin目录添加到系统路径,方便执行Java命令。
  • source ~/.bashrc:使环境变量立即生效。

验证安装

java -version

预期输出

openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment (build 11.0.2+9)
OpenJDK 64-Bit Server VM (build 11.0.2+9, mixed mode)

?2. 安装Tomcat

Tomcat是一个流行的Java Servlet容器,用于部署Java Web应用。

步骤一:下载Tomcat安装包

访问Apache Tomcat官网下载最新版本,例如Tomcat 9。

wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.58/bin/apache-tomcat-9.0.58.tar.gz

步骤二:解压安装包

sudo tar -zxvf apache-tomcat-9.0.58.tar.gz -C /opt/

解释

  • 将Tomcat解压到 /opt/目录。

步骤三:配置环境变量

编辑 ~/.bashrc文件,添加Tomcat的环境变量。

echo 'export CATALINA_HOME=/opt/apache-tomcat-9.0.58' >> ~/.bashrc
echo 'export PATH=$CATALINA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

解释

  • CATALINA_HOME:指定Tomcat的安装路径。
  • 将Tomcat的 bin目录添加到系统路径。

步骤四:启动Tomcat

$CATALINA_HOME/bin/startup.sh

解释

  • startup.sh:启动Tomcat的脚本。

访问Tomcat

打开浏览器,访问 http://localhost:8080,应能看到Tomcat的欢迎页面。


?3. 安装MySQL

MySQL是一个广泛使用的关系型数据库管理系统。

步骤一:使用包管理器安装MySQL

根据Linux发行版不同,使用相应的包管理器。

对于Debian/Ubuntu系统

sudo apt update
sudo apt install mysql-server -y

对于CentOS/RHEL系统

sudo yum update
sudo yum install mysql-server -y

步骤二:启动并配置MySQL服务

sudo systemctl start mysqld
sudo systemctl enable mysqld

解释

  • start:启动MySQL服务。
  • enable:设置MySQL服务开机自启。

步骤三:安全配置

运行安全脚本,设置root密码并移除匿名用户。

sudo mysql_secure_installation

解释

  • 根据提示设置root用户密码,移除匿名用户,禁止远程root登录,删除测试数据库等。

步骤四:配置防火墙

允许MySQL的默认端口(3306)通过防火墙。

sudo ufw allow 3306/tcp

解释

  • ufw:Ubuntu的防火墙工具,允许TCP协议的3306端口。

验证安装

mysql -u root -p

预期输出

Welcome to the MySQL monitor. Commands end with ; or \g.

?4. 安装Redis

Redis是一种高性能的键值存储数据库,常用于缓存和消息队列。

步骤一:下载Redis安装包

访问Redis官网下载最新稳定版。

wget http://download.redis.io/redis-stable.tar.gz

步骤二:解压安装包并编译

tar -zxvf redis-stable.tar.gz
cd redis-stable
make
sudo make install

解释

  • make:编译Redis源代码。
  • make install:安装Redis到系统路径。

步骤三:配置Redis

复制配置文件并进行修改。

sudo mkdir /etc/redis
sudo cp redis.conf /etc/redis/

编辑 /etc/redis/redis.conf,进行以下修改:

  • 设置后台运行
  • daemonize yes
  • 绑定IP和端口
  • bind 127.0.0.1 port 6379
  • 设置密码(可选):
  • requirepass yourpassword

步骤四:启动Redis服务

redis-server /etc/redis/redis.conf

解释

  • 启动Redis并指定配置文件路径。

设置Redis为系统服务

创建一个systemd服务文件 /etc/systemd/system/redis.service:

sudo nano /etc/systemd/system/redis.service

添加以下内容:

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

解释

  • 定义Redis服务的启动和停止命令。
  • 设置服务在系统启动时自动运行。

启动并启用Redis服务:

sudo systemctl start redis
sudo systemctl enable redis

验证安装

redis-cli ping

预期输出

PONG


配置说明表

组件

命令/配置

说明

JDK

export JAVA_HOME=/opt/jdk-11.0.2

设置JDK安装路径


export PATH=$JAVA_HOME/bin:$PATH

添加JDK到系统路径

Tomcat

export CATALINA_HOME=/opt/apache-tomcat-9.0.58

设置Tomcat安装路径


export PATH=$CATALINA_HOME/bin:$PATH

添加Tomcat到系统路径

MySQL

sudo mysql_secure_installation

设置安全配置


sudo ufw allow 3306/tcp

配置防火墙允许MySQL访问

Redis

daemonize yes

设置Redis后台运行


bind 127.0.0.1

绑定Redis监听地址


requirepass yourpassword

设置Redis访问密码(可选)


??注意事项

  • 权限管理:确保以超级用户或具有相应权限的用户执行安装和配置命令。
  • 版本兼容:选择与系统和项目需求兼容的JDK、Tomcat、MySQL和Redis版本。
  • 安全配置:特别是在生产环境中,务必配置好各组件的安全设置,避免未授权访问。
  • 环境变量:正确配置环境变量可以简化命令执行,但需谨慎操作,避免影响系统其他部分。
  • 服务管理:使用 systemd管理Redis等服务,确保服务随系统启动自动运行。

总结

通过以上步骤,你已成功在Linux系统上安装并配置了JDKTomcatMySQLRedis。这些组件的结合为Java Web应用的开发和部署提供了坚实的基础。记得定期更新软件版本,并根据项目需求进行优化配置,以保持系统的稳定性和安全性。

小贴士

  • 备份配置文件:在修改任何配置文件之前,建议备份原文件,以便出现问题时快速恢复。
  • 监控服务状态:使用 systemctl status命令定期检查服务运行状态,确保各组件正常运行。
  • 日志管理:关注各组件的日志文件,及时发现并解决潜在问题。

希望这份指南能助你顺利搭建开发环境,提升工作效率。如有疑问,欢迎进一步探讨!

相关推荐

4万多吨豪华游轮遇险 竟是因为这个原因……

(观察者网讯)4.7万吨豪华游轮搁浅,竟是因为油量太低?据观察者网此前报道,挪威游轮“维京天空”号上周六(23日)在挪威近海发生引擎故障搁浅。船上载有1300多人,其中28人受伤住院。经过数天的调...

“菜鸟黑客”必用兵器之“渗透测试篇二”

"菜鸟黑客"必用兵器之"渗透测试篇二"上篇文章主要针对伙伴们对"渗透测试"应该如何学习?"渗透测试"的基本流程?本篇文章继续上次的分享,接着介绍一下黑客们常用的渗透测试工具有哪些?以及用实验环境让大家...

科幻春晚丨《震动羽翼说“Hello”》两万年星间飞行,探测器对地球的最终告白

作者|藤井太洋译者|祝力新【编者按】2021年科幻春晚的最后一篇小说,来自大家喜爱的日本科幻作家藤井太洋。小说将视角放在一颗太空探测器上,延续了他一贯的浪漫风格。...

麦子陪你做作业(二):KEGG通路数据库的正确打开姿势

作者:麦子KEGG是通路数据库中最庞大的,涵盖基因组网络信息,主要注释基因的功能和调控关系。当我们选到了合适的候选分子,单变量研究也已做完,接着研究机制的时便可使用到它。你需要了解你的分子目前已有哪些...

知存科技王绍迪:突破存储墙瓶颈,详解存算一体架构优势

智东西(公众号:zhidxcom)编辑|韦世玮智东西6月5日消息,近日,在落幕不久的GTIC2021嵌入式AI创新峰会上,知存科技CEO王绍迪博士以《存算一体AI芯片:AIoT设备的算力新选择》...

每日新闻播报(September 14)_每日新闻播报英文

AnOscarstatuestandscoveredwithplasticduringpreparationsleadinguptothe87thAcademyAward...

香港新巴城巴开放实时到站数据 供科技界研发使用

中新网3月22日电据香港《明报》报道,香港特区政府致力推动智慧城市,鼓励公私营机构开放数据,以便科技界研发使用。香港运输署21日与新巴及城巴(两巴)公司签署谅解备忘录,两巴将于2019年第3季度,开...

5款不容错过的APP: Red Bull Alert,Flipagram,WifiMapper

本周有不少非常出色的app推出,鸵鸟电台做了一个小合集。亮相本周榜单的有WifiMapper's安卓版的app,其中包含了RedBull的一款新型闹钟,还有一款可爱的怪物主题益智游戏。一起来看看我...

Qt动画效果展示_qt显示图片

今天在这篇博文中,主要实践Qt动画,做一个实例来讲解Qt动画使用,其界面如下图所示(由于没有录制为gif动画图片,所以请各位下载查看效果):该程序使用应用程序单窗口,主窗口继承于QMainWindow...

如何从0到1设计实现一门自己的脚本语言

作者:dong...

三年级语文上册 仿写句子 需要的直接下载打印吧

描写秋天的好句好段1.秋天来了,山野变成了美丽的图画。苹果露出红红的脸庞,梨树挂起金黄的灯笼,高粱举起了燃烧的火把。大雁在天空一会儿写“人”字,一会儿写“一”字。2.花园里,菊花争奇斗艳,红的似火,粉...

C++|那些一看就很简洁、优雅、经典的小代码段

目录0等概率随机洗牌:1大小写转换2字符串复制...

二年级上册语文必考句子仿写,家长打印,孩子照着练

二年级上册语文必考句子仿写,家长打印,孩子照着练。具体如下:...

一年级语文上 句子专项练习(可打印)

...

亲自上阵!C++ 大佬深度“剧透”:C++26 将如何在代码生成上对抗 Rust?

...

取消回复欢迎 发表评论: