Linux上安装jdk Tomcat mysql redis等教程
liebian365 2024-11-22 17:13 26 浏览 0 评论
在Linux上安装JDK、Tomcat、MySQL和Redis的详尽指南
在Linux环境下搭建开发环境,安装JDK、Tomcat、MySQL和Redis是常见的需求。本文将为你提供一个详细、专业的安装步骤,并配以丰富的解释和图示,确保你能够顺利完成安装和配置。
目录
- 安装JDK
- 安装Tomcat
- 安装MySQL
- 安装Redis
- 工作流程图
- 总结
?1. 安装JDK
Java开发工具包(JDK)是开发Java应用的基础。以下步骤将指导你在Linux上安装JDK。
步骤一:下载JDK安装包
- 选择JDK版本:可以从Oracle官网或OpenJDK官网下载适合的版本。推荐使用OpenJDK,因为它是开源且免费。
- wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
- 解释:
- wget:下载工具,用于从指定URL下载文件。
- 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系统上安装并配置了JDK、Tomcat、MySQL和Redis。这些组件的结合为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字符串复制...
- 二年级上册语文必考句子仿写,家长打印,孩子照着练
-
二年级上册语文必考句子仿写,家长打印,孩子照着练。具体如下:...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- wireshark怎么抓包 (75)
- qt sleep (64)
- cs1.6指令代码大全 (55)
- factory-method (60)
- sqlite3_bind_blob (52)
- hibernate update (63)
- c++ base64 (70)
- nc 命令 (52)
- wm_close (51)
- epollin (51)
- sqlca.sqlcode (57)
- lua ipairs (60)
- tv_usec (64)
- 命令行进入文件夹 (53)
- postgresql array (57)
- statfs函数 (57)
- .project文件 (54)
- lua require (56)
- for_each (67)
- c#工厂模式 (57)
- wxsqlite3 (66)
- dmesg -c (58)
- fopen参数 (53)
- tar -zxvf -c (55)
- 速递查询 (52)