阿里云服务器安装Java开发环境最佳实践

news2024/10/10 12:19:19

服务器环境安装

    • 环境依赖
    • 服务器配置
        • 配置SSH登录
        • 打开安全配置端口
        • 远程连接配置秘钥
      • Linux服务器常用指令
        • 向远程服务器传送文件
        • systemctl 相关
    • 安装MySql
      • 安装步骤
        • step1 检查并清除以前的mysql相关文件
        • step2 安装
        • step3 MySQL参数配置
        • step4 设置开机启动
        • step5 初始化数据库
        • step6配置数据库连接信息
    • 安装Redis
        • step1 安装
        • step2 Redis配置修改
        • step3 配置客户端连接
        • step4 设置开机自启动

环境依赖

开发环境离不开服务器、数据库存储等,服务器我们可以直接买阿里云的就行,开发环境可以买个最低配就行,2c2g的配置就行了。
在这里插入图片描述
服务器有了,还需要数据库、Redis、缓存等组件,前期开发把这些全部买齐,成本蛮高的。一个人开发也不需要测试环境多么的高可用,所以需要的环境自己搭建就行了。对于团队开发,建议购买线上服务,保证安全高可用。下面主要介绍如何在一台ECS上搭建一套开发环境。

服务器配置

服务器购买完之后,环境初始化启动完成之后,配置SSH登录。

配置SSH登录
打开安全配置端口

在这里插入图片描述

远程连接配置秘钥
  1. 复制本地电脑公钥
    在这里插入图片描述
  2. 将秘钥保存到服务端
    在这里插入图片描述
  3. 本地登录
ssh root@ip地址

Linux服务器常用指令

向远程服务器传送文件
# scp 本地路径 用户名@ip地址:远程路径,如下
︎scp ./xxx/xxx.jar root@61.215.123.10:/tmp/app/jar/
systemctl 相关

后面安装MySQL和Redis,需要服务开启自动启动,会用到systemctl命令

https://linux.cn/article-5926-1.html

Systemctl能够管理的单元包括:服务(.service),挂载点(.mount),套接口(.socket)和设备(.device)作为单元。
单位的目录:/usr/lib/systemd/system(Centos)或/etc/systemd/system(Ubuntu)
systemctl命令兼容了service,即systemctl也会去/etc/init.d目录下,查看,执行相关程序。
Linux 服务管理有两种方式 service和systemctl

安装MySql

服务器系统选择的是:Alinux
查看系统版本:

# 查看系统版本
cat /etc/redhat-realse

参考文章:https://blog.csdn.net/zzulishulei/article/details/121404906

安装步骤

该步骤适用于Alinux,其他linux系统可参考使用。

step1 检查并清除以前的mysql相关文件

查看并卸载mysql的安装包。
执行命令:dnf list installed | grep mysql 。或者使用对应的rpm命令。 如果有内容,则使用 dnf remove 包名 卸载。
执行命令:find / -name mysql 。如果有内容,则使用 rm -rf 文件路径 删除文件。
在这里插入图片描述在这里插入图片描述
dnf其他指令

1. dnf list installed  表示查询所有安装过的rpm包 
2. grep mysql  表示使用正则表达式查询包含关键字mysql的内容
3. 分别开repository 和 package的关系。 rpm包包含在repository中,这也是 dnf repolist 和 dnf list 的区别
4. whereis、which、find、location的区别和用法  https://www.cnblogs.com/kex1n/p/5233821.html
5. rpm ,yum ,dnf 之间的区别和关系  https://www.ywnz.com/linux/6252.html 
step2 安装
dnf install -y mysql-server
step3 MySQL参数配置
  1. 查找数据库的默认配置文件的读取位置
mysql --help | grep my.cnf
  1. 修改my.cnf
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d                

[mysqld]

#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
 
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
 
#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
 
#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
 
#最大连接数
max_connections = 400
 
#最大错误连接数
max_connect_errors = 1000

#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
step4 设置开机启动
systemctl enable --now mysqld
step5 初始化数据库

按照提示操作即可:

mysql_secure_installation
依次需要判断的内容:
  配置验证密码组件,输入 y 
  配置密码验证等级,可以输入 0 、1 、2 ,分别对应三个等级。
  输入密码,需要输入两次,页面上不会显示出你输入的密码,输入完之后按回车即可
  确认使用该密码,输入 y
  是否移除匿名用户,输入 y
  是否禁止root用户远程登录  如果需要远程登录,请输入 n
  是否移除测试数据库,输入 y
  是否重载权限表,输入 y

step6配置数据库连接信息
mysql -uroot -p   通过新密码再次登陆
create user 'root'@'%' identified by '新密码';    授予远程访问权限
grant all privileges on *.* to 'root'@'%';  授予远程访问权限
flush privileges;  授予远程访问权限
alter user 'root' @'%' identified with mysql_native_password by '新密码'; 授权mysql_native客户端工具

安装完成之后需要开放对应的端口,阿里云服务器默认是没有打开3306端口的,所以按需在安全组开放对应端口。
在这里插入图片描述

安装Redis

step1 安装
sudo yum install -y redis-6.0.5
step2 Redis配置修改

修改 redis.conf 中 daemonize 为 yes,确保守护进程开启,也就是在后台可以运行.
在这里插入图片描述

step3 配置客户端连接

允许所有客户端连接,注释掉配置文件中这一行
在这里插入图片描述

step4 设置开机自启动
3.设置开机自动启动

chmod -R 777 /var/log/redis/

service redis start

service redis stop

service redis status

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

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

相关文章

DDD 的四层领域模型是怎样的?包含哪些基础概念?

DDD的四层领域模型如下所示: 展现层:这一层负责向用户显示信息和解释用户命令,完成前端界面逻辑。并将用户请求传递给应用层。应用层:这一层是很薄的一层,负责协调领域层中的领域对象,组成具体应用场景。应…

工厂制造细节无需知--工厂方法模式

1.1 需要了解工厂制造细节吗? "简单工厂只是最基本的创建实例相关的设计模式。但真实情况中,有更多复杂的情况需要处理。简单工厂生成实例的类,知道了太多的细节,这就导致这个类很容易出现难维护、灵活性差问题,…

python--IO流和字符流的写入写出

1.IO流:(input output stream) python的IO流只有一个函数:open函数 属性不用带括号;方法通通要带括号 输入输出流:狭义上来说,指的就是内存数据和磁盘这种可以永久 存储数据的设备 IO流 IO流…

LongAdder 和 Striped64 基础学习

cs,表示 Cell 数组的引用;b,表示获取的 base 值,类似于 AtomicLong 中全局变量的 value 值,在没有竞争的情况下数据直接累加到 base 上,或者扩容时,也需要将数据写入到 base 上;v&am…

计算机考研408有向无环图描述表达式可靠构造方法

目录 前言目标(以王道书为例)构造方法1. 建树2. 后序遍历1. a2. b3. 4. b5. c6. d7. 8. *9. *10. c 前言 对王道视频中的分层合并思想不是很满意,笔者提出自己的构造方法。 目标(以王道书为例) 构造方法 笔者通过王…

GitGithub小册:版本管理必备利器

在 GitHub上创建仓库 这一步骤的前提是先注册一个 GitHub的账号,由于那都是小场面,就不再巴拉巴拉。 说明一下,全文如果没有特别的单独说明,文中所有用【】括起来的内容都代表网页或者软件节点的操作按钮或者步骤选择项。 打开 Gi…

【QT入门】 自定义标题栏界面qss美化+按钮功能实现

往期回顾: 【QT入门】 鼠标按下和移动事件实现无边框窗口拖动-CSDN博客【QT入门】 设计实现无边框窗口拉伸的公用类-CSDN博客【QT入门】对无边框窗口自定义标题栏并实现拖动和拉伸效果-CSDN博客 【QT入门】 自定义标题栏界面qss美化按钮功能实现 一、最终效果 二、…

AI论文速读 |【综述】 时序分析基础模型:教程与综述

论文标题:Foundation Models for Time Series Analysis: A Tutorial and Survey 作者: Yuxuan Liang(梁宇轩), Haomin Wen(温浩珉), Yuqi Nie(PatchTST一作), Yushan Jiang, Ming J…

redis的常用基本命令与持久化

文章目录 redis的基本命令1.授权密码2.增加、覆盖、查询、删除、切换库名、移动、清空数据库 Redis持久化RDB模式主动备份自动备份RDB备份过程 AOF备份模式开启AOF备份模式执行流程 总结 redis的基本命令 1.授权密码 config set requirepass 密码设置完密码需要认证密码以后才…

最简单的 H.264 视频码流解析程序

最简单的 H.264 视频码流解析程序 最简单的 H.264 视频码流解析程序原理源程序运行结果下载链接参考 最简单的 H.264 视频码流解析程序 参考雷霄骅博士的文章:视音频数据处理入门:H.264视频码流解析 本文中的程序是一个H.264码流解析程序。该程序可以从…

​IAA+IAP混合变现趋势下,出海手游广告玩法解析 | TopOn出海干货

3月23日,TopOn 携手罗斯基及汇量科技旗下一站式跨渠道智能投放工具XMP联合主办的“2023游戏出海新机会”上海站线下沙龙成功举办。 本次活动邀请到多位业内知名公司、平台的负责人,分别从海外投放增长策略、产品融合玩法方向、商业混合变现模式、三方安…

C++万物起源:类与对象(三)拷贝构造、赋值重载

目录 一、拷贝构造函数 1.1拷贝构造函数的概念与特征 1.2拷贝构造的实现 1.3默认构造函数 1.4拷贝构造函数典型调用场景 二、赋值运算符重载 2.1赋值运算符重载的格式 一、拷贝构造函数 1.1拷贝构造函数的概念与特征 在c语言语法中,我们可以将一个变量赋值给…

OSPF中配置静态路由备份 实验简述

OSPF中配置静态路由备份 实验简述 静态路由备份是一种网络路由的备份机制,用于提高网络的可靠性和冗余性。而静态路由备份则是在主路由失效时,自动切换到备用路由,以确保网络的连通性。 主路由默认优先级为60,备份路由设置优先级1…

Doris实践——信贷系统日志分析场景的实践应用

目录 前言 一、早期架构演进 1.1 架构1.0 基于Kettle MySQL离线数仓 1.2 架构2.0 基于 Presto / Trino统一查询 二、基于Doris的新一代架构 三、新数仓架构搭建经验 3.1 并发查询加速 3.2 数仓底座建设 四、Doris助力信DolphinScheduler 和 Shell 贷业务场景落地 4.…

前端学习<四>JavaScript基础——03-常量和变量

常量(字面量):数字和字符串 常量也称之为“字面量”,是固定值,不可改变。看见什么,它就是什么。 常量有下面这几种: 数字常量(数值常量) 字符串常量 布尔常量 自定义…

C#编写MQTT客户端软件

主要参考C#MQTT编程06--MQTT服务器和客户端(winform版)_c#mqttserver-CSDN博客 但由于使用的.NET版本和MQTT库版本存在差异,因此有些不同。 MQTT协议内容在此不做描述,仅介绍VS使用C#的实现过程。本次使用VS2015,.netframwork4.6。 C#语言本身…

从零到一:基于 K3s 快速搭建本地化 kubeflow AI 机器学习平台

背景 Kubeflow 是一种开源的 Kubernetes 原生框架,可用于开发、管理和运行机器学习工作负载,支持诸如 PyTorch、TensorFlow 等众多优秀的机器学习框架,本文介绍如何在 Mac 上搭建本地化的 kubeflow 机器学习平台。 注意:本文以 …

STM32单片机智能电表交流电压电流程序设计(电流 电压互感器TV1005M+TA1005M)

资料下载地址:STM32单片机智能电表交流电压电流程序设计(电流 电压互感器TV1005MTA1005M) 1、摘要 5、基于STM32F103单片机智能电表交流电压电流设计 本设计由STM32单片机核心板电路交流电压电流检测模块电路WIFI模块电路指示灯电路组成。 1、通过电压互感器TV100…

【Canavs与艺术】绘制蓝白绶带大卫之星勋章

【图例】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>用Canvas绘制蓝白绶带大卫之星勋章</title><style type&quo…

计算机网络—TCP协议详解:特性、应用(2)

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;マリンブルーの庭園—ずっと真夜中でいいのに。 0:34━━━━━━️&#x1f49f;──────── 3:34 &#x1f504; ◀️…