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

服务器环境安装

    • 环境依赖
    • 服务器配置
        • 配置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 startservice redis stopservice redis status

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

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

相关文章

ABAP开发中常用弹窗的应用详解

在ABAP程序设计中为提示和交互的需要会经常用到弹窗, 所谓弹窗就是弹出一个框,告诉用户什么事情、需要确认什么、或者让用户输入什么内容等等,它价值在于通过提示、提醒、警告,帮助用户顺利完成业务流程中的必要操作或给用户提供实…

【JS】打乱数组顺序,用作领域:随机播放音乐

思路 循环数组随机获取数组下标取值: 取当前随机下标数组取当前循环的下标数组 相互替换步骤3的数组 /*** 随机数组顺序* param {Array} arr 数组* returns Array*/ const shufArr arr > {for (let i arr.length - 1; i > 0; i--) {const j Math.floor(M…

中国智慧城管哪家做的好?

智慧城市管理综合执法系统建立全市统一的法律法规、裁量基准、执法事项、执法文书和基础信息库,实现从获取线索、立案、调查、处理到结案全过程的信息化和文书制作的智能化。全面支持移动执法办案,提高执法效率。 技术架构: 微服务javasprin…

中颖51芯片学习1. 系统时钟及IO口输出操作

中颖51芯片学习1. 系统时钟及IO口输出操作 一、芯片介绍1. 规格2. 资源3. 中断源:4. 方框图5. 封装(1)32脚LQFP封装(2)28脚SOP封装(3)20脚SOP封装 二、开发环境搭建1. 安装keil2. 安装中颖keil插…

安全测试重点思考(中)--如何防止漏洞XSS和CSRF漏洞

如何防止漏洞XSS和CSRF漏洞 XSS漏洞的预防springsecurity框架来预防xss漏洞的步骤将特殊字符进行实体转义使用类库和修改cookie属性使用安全的HTTP Only Cookie使用安全的Cookie使用CSP(内容安全策略)使用专门的XSS防护库输入验证和过滤 XSS的面试题你对…

day18-分发糖果

问题描述: n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果&#xff0…

4.2总结

了解了部分Api的使用并学习了接口的API API API包含了较多种类(System,Runtime等) System其实就是一个工具类,提供了一些与系统相关的方法 下面有一些常间的System方法 方法名说明public static void exit (int status)终止当前运行的ja…

深入浅出 -- 系统架构之微服务架构常见的六种设计模式

面向服务的架构(SOA) 面向服务的架构(SOA)是一种设计方法,也是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的…

DLC原理解析及其优化思考

1. 引言 Discreet Log Contract (DLC) 是由麻省理工学院的Tadge Dryja在2018年提出的一套基于预言机的合约执行方案。DLC 允许两方根据预定义的条件进行有条件付款。各方确定可能的结果并进行预签名,并在预言机签署结果时使用这些预签名来执行支付。 因此&#xff…

国产数据库Oracle兼容性测试(一)

一个国产数据库Oracle兼容性测试用例: -- TestPoint : function return record type create table emp(empno number,sal number); insert into emp values(1234,3000);CREATE or replace PACKAGE emp_mgmt ASTYPE EmpRecTyp IS RECORD (empno NUMBER, sal NUMBER)…

HarmonyOS应用开发ArkUI(TS)电商项目实战

项目介绍 本项目基于 HarmonyOS 的ArkUI框架TS扩展的声明式开发范式,关于语法和概念直接看官网官方文档地址:基于TS扩展的声明式开发范式, 工具版本: DevEco Studio 3.1 Canary1 SDK版本: 3.1.9.7(API V…

春招3月面试题的总结--南京,山东,西安,东莞四家公司总结。

1.南京某公司 1.Java的几种基本数据类型?分别是多少字节? byte,8bit 1字节 char,16bit 2字节 short,16bit 2字节 int,32bit 4字节 float,32bit 4字节 long,64bit 8字节 doubl…

睿尔曼-具身智能双臂主从手项目方案

具身智能双臂主从手项目方案 一、公司介绍 成立于2018年,是一家专注于超轻量仿人机械臂研发、生产及销售的国家级高新技术企业。总部位于北京石景山区首特产业园,工厂坐落于江苏省常州科教城智能数字产业园,团队的核心成员毕业于北京航空航…

前端验证码

一、基础验证码 gVerify.js: !(function (window, document) {function GVerify(options) { //创建一个图形验证码对象,接收options对象为参数this.options { //默认options参数值id: "", //容器IdcanvasId: "verifyCanvas", //ca…

springboot实现七牛云的文件上传下载

一&#xff1a;依赖包 <dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><qiniu-java-sdk.version>7.7.0</qiniu-java-sdk.version></dependency>二:具体实现 RestController RequestMapping…

c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(三)

本地化库 本地环境设施包含字符分类和字符串校对、数值、货币及日期/时间格式化和分析&#xff0c;以及消息取得的国际化支持。本地环境设置控制流 I/O 、正则表达式库和 C 标准库的其他组件的行为。 平面类别 定义字符分类表 std::ctype template< class CharT > clas…

【办公软件】开发常用网站

文章目录 一、开发社区二、开发学习三、视图工具四、开发工具五、前端web开发工具六、开发接口官网 备用产看。 https://www.webhub123.com https://www.webhub123.com/#/home/detail?projectHashid59183272&ownerUserid22053727 java全栈只是体系&#xff1a;https://www…

嵌入式软件面试---编程基础篇

嵌入式软件工程师面试中&#xff0c;编程基础部分通常涵盖以下几个核心主题&#xff1a; C/C基础知识 语法和语义&#xff1a;包括但不限于变量定义、数据类型、运算符、流程控制语句&#xff08;if-else、switch-case、for、while、do-while循环&#xff09;、函数定义及调用…

Java中常见的线程同步方式

在Java中&#xff0c;当多个线程同时访问共享资源时&#xff0c;为了防止数据不一致或损坏的问题&#xff0c;需要进行线程同步。Java提供了多种线程同步的方式&#xff0c;以下是一些常见的方法&#xff1a; 1. 使用synchronized关键字 synchronized关键字可以修饰方法或代码…

【nc工具信息传输】

nc&#xff0c;全名叫 netcat&#xff0c;它可以用来完成很多的网络功能&#xff0c;譬如端口扫描、建立TCP/UDP连接&#xff0c;数据传输、网络调试等等&#xff0c;因此&#xff0c;它也常被称为网络工具的 瑞士军刀 。 nc [-46DdhklnrStUuvzC] [-i interval] [-p source_po…