Linux环境下的Java项目部署技巧:环境安装

news2025/2/3 12:28:43

安装 JDK:

  1. 第上传 jdk 压缩安装包到服务器
  2. 将压缩安装包解压缩:
    tar -xvf jdk-8uXXX-linux-x64.tar.gz
  3. 配置环境变量:
    1. 编辑 /etc/profile 文件,在文件末尾添加以下内容:
      export JAVA_HOME=/path/to/jdk   //JAVA_HOME=/usr/local/src/jdk1.8
      export PATH=$PATH:$JAVA_HOME/bin
      export CLASSPATH=.:$JAVA_HOME/libvi 
  4. 应用环境变量:
    1. 执行以下命令使配置文件生效:

  5. 验证安装:
    1. 执行以下命令检查 JDK 版本:
      java -version
    2. 使用  yum 命令安装 JDK
      yum install java-1.8.0-openjdk-devel

安装 Tomcat:

  1. 上传 Tomcat 压缩安装包到服务器
  2. 将压缩安装包解压:
    tar -xvf apache-tomcat-xxx.tar.gz
  3. 进入 conf/server.xml 修改端口号 8080 为 8
    cd redis-5.0.4
    make
    0(可忽略)
  4. 进入 bin 目录启动 tomcat:./startup.sh
  5. 验证 Tomcat 是否启动:浏览器中输入服务器IP和端口(默认为 8080),看是否能看到 Tomcat 默认页面
    1. 关闭 Tomcat :./shutdown.sh

安装Redis:

  1. 上传 redis 压缩安装包到服务器
  2. 将压缩安装包解压
    tar -xvf redis-xxx.tar.gz
  3. 进入安装包,编译 redis:
    cd redis-5.0.4
    make
  4. 安装 redis:
    make install
  5. 根据需要修改 redis 的配置文件,redis.conf 下面是配置文件中关键参数的说明
    1. bind:127.0.0.1(注释掉):
      1. bind 指用于设置 Redis 服务器监听的 IP 地址。当 bind 被设置为 127.0.0.1 时,意味着 redis 之监听来自本机 (localhost) 的连接请求。如果希望 redis 监听特定的网络接口,你可以指定该接口的 IP 地址。
      2. 另外,如果希望 redis 接受来自任何 IP 地址的连接(不推荐,除非有额外的安全措施),你可以将 bind 设置为 0.0.0.0 或者注释掉这一行
    2. protected-mode yes(设置为 no):
      1. 用于设置 redis 实例的保护模式。这个设置主要用于保护 redis 服务器免受未授权访问的影响
      2. 当 protected-mode 设置为 yes(默认情况)时,redis 只接受来自本地会话地址(localhost) 和 Unix 域套接字的连接请求这意味着只有运行在一条机器上的客户端才能访问 redis 实例,外部网络无法直接连接。这增加了 redis 服务器的安全性,防止了潜在的远程攻击
      3. 然而,如果需要将 redis 实例暴露给网络上的其他设备或服务器进行访问,你需要将 protected-mode 设置为 no。这样,redis 就会接受来自任何 IP 地址的连接请求。但请注意,这样做会降低 redis 的安全性,因为它允许任何能够访问你的 redis 服务器的设备或服务器进行连接
    3. prot 6379:
      1. prot 指令用于设置 redis 服务器监听的端口号
      2. prot 6379 表示 redis 服务器将监听 TCP 端口 6379 上的连接请求
    4. deamonize no(设置为 yes):
      1. 用来指定 redis 服务器是否应该以守护进程(daemon) 的方式在后台运行
      2. 如果设置 daemonize no (或该选择不存在 / 被注释掉)(默认值),redis 将会在前台运行,并且它的输出会直接显示在启动它的终端上。在这种模式下,如果终端关闭或会话断开,redis 服务也会终止
      3. 当设置 daemonize yes 时,redis 会在启动后成为后台服务,它会在系统后台运行,并且释放启动它的终端,使得终端可以继续接受其他命令或关闭。redis 的欸之信息和其他输出通常会被重定向到指定的日志文件中,而不是直接显示在其它的终端上
    5. #requirepass goobared:
      1. 用于设置访问 redis 服务所需的密码。当设置了 requirepass 之后,任何客户端在连接 reids 服务器并执行命令之前,都需要提供正确的密码进行身份验证。
      2. redis.conf 配置默认没有密码,可以自己通过这个设置密码。(一定要设置,不然部署到服务器上存在风险)
  6. 启动 redis:
    redis-server redis.conf

    或者

  7. 进入或退出 redis 客户端:
    1. 进入 redis:

      redis-cli -p 6379   #进入redis
      exit     #退出
      redis-cli    #如果是默认端口号6379,可省略

    2. 关闭 redis:

      redis-cli [-p 端口号] shutdown
      #当redis的端口号是默认端口号时,可以省略参数-p 端口号
    3. 查看 redis 与当前 ip 是否相连:

      redis-cli info   查看redis连接数
      redis-cli -h 62.234.175.16 -p 6379 -a Zjx19991126 ping
  8. 想要启动后的 redis 正确被客户端连接,除了 linux 上能正常启动 redis 以外,还需要开放服务器上的 redis 端口(6379) 和防火墙开发 redis 端口(6379)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2291269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【系统迁移】将系统迁移到新硬盘中(G15 5520)

文章目录 前言问题描述解决步骤(红色为 debug 步骤)参考文献 前言 参数: 电脑 dell g15 5520硬盘:1T 自带硬盘 海力士 2230 -> 2T 西数蓝盘 2280 问题描述 电脑硬盘过小(且只有一个接口),将…

小智 AI 聊天机器人

小智 AI 聊天机器人 (XiaoZhi AI Chatbot) 👉参考源项目复现 👉 ESP32SenseVoiceQwen72B打造你的AI聊天伴侣!【bilibili】 👉 手工打造你的 AI 女友,新手入门教程【bilibili】 项目目的 本…

MySql运维篇---008:日志:错误日志、二进制日志、查询日志、慢查询日志,主从复制:概述 虚拟机更改ip注意事项

#先登录mysql mysql -uroot -p1234#通过此系统变量,查看当前mysql的版本中默认的日志格式是哪个 show variables like %binlog\_format%;1.2.3 查看 由于日志是以二进制方式存储的,不能直接读取,需要通过二进制日志查询工具 mysqlbinlog 来查…

理解DeepSeek源代码之如何安装triton包

DeepSeek选择了开源路线,在github上可以下载到所有的源代码还有参数(数据集应该没有开源),大语言模型的源代码规模其实非常小,DeepSeek V3的模型函数不过804行,阅读源代码有助于更好理解大语言模型。 1. D…

C++ Primer 标准库类型string

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…

为AI聊天工具添加一个知识系统 之83 详细设计之24 度量空间之1 因果关系和过程:认知金字塔

本文要点 度量空间 在本项目(为AI聊天工具添加一个知识系统 )中 是出于对“用”的考量 来考虑的。这包括: 相对-位置 力用(“相”)。正如 法力,相关-速度 体用 (“体”)。例如 重…

如何配置Java JDK

步骤1:点击资源,点击Java下载 https://www.oracle.com/ 步骤2:点击java下载、JDK23下载,下载第一行第一个 步骤3:解压到一个空文件夹下,复制lib地址 步骤4:在设置里面搜索“高级系统设置”;点击…

CodeGPT使用本地部署DeepSeek Coder

目前NV和github都托管了DeepSeek,生成Key后可以很方便的用CodeGPT接入。CodeGPT有三种方式使用AI,分别时Agents,Local LLMs(本地部署AI大模型),LLMs Cloud Model(云端大模型,从你自己…

JAVA安全—反射机制攻击链类对象成员变量方法构造方法

前言 还是JAVA安全,哎,真的讲不完,太多啦。 今天主要是讲一下JAVA中的反射机制,因为反序列化的利用基本都是要用到这个反射机制,还有一些攻击链条的构造,也会用到,所以就讲一下。 什么是反射…

【深度学习】softmax回归的简洁实现

softmax回归的简洁实现 我们发现(通过深度学习框架的高级API能够使实现)(softmax)线性(回归变得更加容易)。 同样,通过深度学习框架的高级API也能更方便地实现softmax回归模型。 本节继续使用Fashion-MNIST数据集,并保持批量大小为256。 import torch …

基础篇03-图像的基本运算

本节将简要介绍Halcon中有关图像的两类基本运算,分别是代数运算和逻辑运算。除此之外,还介绍几种特殊的代数运算。 目录 1.引言 2. 基本运算 2.1 加法运算 2.2 减法运算 2.3 乘法运算 2.4 除法运算 2.5 综合实例 3. 逻辑运算 3.1 逻辑与运算 …

工具的应用——安装copilot

一、介绍Copilot copilot是一个AI辅助编程的助手,作为需要拥抱AI的程序员可以从此尝试进入,至于好与不好,应当是小马过河,各有各的心得。这里不做评述。重点在安装copilot的过程中遇到了一些问题,然后把它总结下&…

Alibaba开发规范_编程规约之命名风格

文章目录 命名风格的基本原则1. 命名不能以下划线或美元符号开始或结束2. 严禁使用拼音与英文混合或直接使用中文3. 类名使用 UpperCamelCase 风格,但以下情形例外:DO / BO / DTO / VO / AO / PO / UID 等4. 方法名、参数名、成员变量、局部变量使用 low…

MATLAB中的IIR滤波器设计

在数字信号处理中,滤波器是消除噪声、提取特征或调整信号频率的核心工具。其中,无限脉冲响应(IIR)滤波器因其低阶数实现陡峭滚降的特性,被广泛应用于音频处理、通信系统和生物医学工程等领域。借助MATLAB强大的工具箱&…

vector容器(详解)

本文最后是模拟实现全部讲解,文章穿插有彩色字体,是我总结的技巧和关键 1.vector的介绍及使用 1.1 vector的介绍 https://cplusplus.com/reference/vector/vector/(vector的介绍) 了解 1. vector是表示可变大小数组的序列容器。…

python学opencv|读取图像(五十二)使用cv.matchTemplate()函数实现最佳图像匹配

【1】引言 前序学习了图像的常规读取和基本按位操作技巧,相关文章包括且不限于: python学opencv|读取图像-CSDN博客 python学opencv|读取图像(四十九)原理探究:使用cv2.bitwise()系列函数实现图像按位运算-CSDN博客…

【VUE案例练习】前端vue2+element-ui,后端nodo+express实现‘‘文件上传/删除‘‘功能

近期在做跟毕业设计相关的数据后台管理系统,其中的列表项展示有图片展示,添加/编辑功能有文件上传。 “文件上传/删除”也是我们平时开发会遇到的一个功能,这里分享个人的实现过程,与大家交流谈论~ 一、准备工作 本次案例使用的…

使用真实 Elasticsearch 进行高级集成测试

作者:来自 Elastic Piotr Przybyl 掌握高级 Elasticsearch 集成测试:更快、更智能、更优化。 在上一篇关于集成测试的文章中,我们介绍了如何通过改变数据初始化策略来缩短依赖于真实 Elasticsearch 的集成测试的执行时间。在本期中&#xff0…

【R语言】函数

一、函数格式 如下所示: hello:函数名;function:定义的R对象是函数而不是其它变量;():函数的输入参数,可以为空,也可以包含参数;{}:函数体,如果…

VSCode插件Live Server

简介:插件Live Server能够实现当我们在VSCode编辑器里修改 HTML、CSS 或者 JavaScript 文件时,它都能自动实时地刷新浏览器页面,让我们实时看到代码变化的效果。再也不用手动刷新浏览器了,节省了大量的开发过程耗时! 1…