通过使用阿里云服务器,搭建Java程序的运行环境

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 通过使用阿里云服务器,搭建Java程序的运行环境

一. 远程连接服务器(centos7.3)

1.远程连接修改密码

在小编购买服务器后,来的服务器的管理界面

在点击后会单出这样一个界面

在这其中我们由于在购买的服务器中的·centos中的系统初始账号root并没有密码,所以我们就要通过远程连接单出的界面来进行密码的修改

chroot /sysroot
passwd root
# 输入新密码并确认
touch /.autorelabel
exit
reboot

在其中

  1. 重新启动计算机,并在 GRUB 菜单中选择要启动的 CentOS 系统。
  2. 在 GRUB 菜单中按下 "e" 键,进入编辑模式。
  3. 找到以 "ro" 开头的那一行,并将其替换为 "rw init=/sysroot/bin/sh"。
  4. 按下 Ctrl + X 启动修改后的系统。

2.通过MobaXterm.连接服务器

按照小编的图片操作即可

3.开发访问端口号

二.配置环境

在配置环境之前需要将项目通过拖拽的方式加载到MobaXterm,在这里小编就不要再操作了可以查看小编的这篇博客

1.java的环境变量配置 (1.8)

通过 tar -xvf jdk-8u151-linux-x64.tar.gz 解压即可 其中简单来说就是    tar -xvf  +jdk的全名

然后通过配置java的环境变量     vim /etc/profile

在指定的位置加入

环境变量的配置  在其中 jdk前面是 java的解压路径 可以通过 pwd查看

#java environment
export JAVA_HOME=/root/java/jdk1.8.0_151
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH 

然后在设置环境变量生效    source /etc/profile

设置完后 在通过  java -version 查看是否配置成功

2.启动tomact的运行(8.5)

在运行之前必须要解压我们的tomact  通过

tar -xvf apache-tomcat-8.5.20-11.16.tar.gz

然后i等待解压即可

然后就是启动防火墙,以及开放端口号 以及刷新防火墙的规则

#开放端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

#跟新防火墙规则

firewall-cmd --reload

#防火墙列表

firewall-cmd --zone=public --list-ports

#防火墙状态

systemctl status firewalld

#启动防火墙

systemctl start firewalld

systemctl disable firewalld.service

在其中3306是mysql的端口号 ,8080就是tomact的端口号

然后在进bin 目录 通过  ./startup.sh   启动tomact 然后在访问 ip +8080即可

3.配置mysql(5.7)

首先查看centos中是否自带有数据库 rpm -qa|grep mariadb

如果有的话删除  rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64      语法为    rpm -e --nodeps +数据库名字                                                                              

然后解压即可    tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C mysql-5.7

然后在通过  cd  mysql-5.7进入文件夹 进行下一步操作 以次输入 即可

rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm                      

rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm

注意:在安装第四个依赖时 可能会出现 以下错误

解决措施(小编是通过第一个解决的安装插件之后成功加载成功)

这个错误表明安装 MySQL Community Server 5.7.35 时缺少 libaio 库的依赖项。libaio 是 Linux 下异步 I/O 操作的库,MySQL 在运行过程中需要该库来提高性能和稳定性。

您可以尝试通过以下步骤解决这个问题:

1.安装 libaio 库: 使用包管理工具(如 yum)安装 libaio 库。在大多数基于 Red Hat 的系统上,可以使用以下命令安装:

sudo yum install libaio

2.重新安装 MySQL Community Server: 安装完 libaio 库后,再次尝试安装 MySQL Community Server。如果之前的安装过程被中断,建议先卸载已安装的 MySQL,然后再重新安装。

3.更新系统软件源: 如果上述步骤没有解决问题,可能是因为系统软件源配置不正确或缺少相关软件包。您可以尝试更新系统的软件源列表,并再次安装 MySQL Community Server

sudo yum update

然后启动mysql 的服务即可   systemctl start mysqld

查看mysql默认数据库密码   grep "password" /var/log/mysqld.log   然后登录   mysql -uroot -p   在输入密码时 密码不会显示已经输入)

#设置密码校验策略(0 or LOW),要不密码太LOW不让你过

set global validate_password_policy=0;

#设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)

set global validate_password_length=4;

#更新密码

set password = password("123456");

#输入后使修改生效还需要下面的语句

FLUSH PRIVILEGES;

#可以退出,试试用新密码重新登录

exit

#Centos7下无法远程连接mysql数据库
#数据库没有授权,允许以root身份远程登录mysql

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

#输入后使修改生效还需要下面的语句

FLUSH PRIVILEGES;

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
71 9
|
1月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
70 1
|
26天前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
39 0
|
2月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
191 2
|
2月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
157 1
|
1天前
|
安全 Java Kotlin
Java多线程——synchronized、volatile 保障可见性
Java多线程中,`synchronized` 和 `volatile` 关键字用于保障可见性。`synchronized` 保证原子性、可见性和有序性,通过锁机制确保线程安全;`volatile` 仅保证可见性和有序性,不保证原子性。代码示例展示了如何使用 `synchronized` 和 `volatile` 解决主线程无法感知子线程修改共享变量的问题。总结:`volatile` 确保不同线程对共享变量操作的可见性,使一个线程修改后,其他线程能立即看到最新值。
|
1天前
|
消息中间件 缓存 安全
Java多线程是什么
Java多线程简介:本文介绍了Java中常见的线程池类型,包括`newCachedThreadPool`(适用于短期异步任务)、`newFixedThreadPool`(适用于固定数量的长期任务)、`newScheduledThreadPool`(支持定时和周期性任务)以及`newSingleThreadExecutor`(保证任务顺序执行)。同时,文章还讲解了Java中的锁机制,如`synchronized`关键字、CAS操作及其实现方式,并详细描述了可重入锁`ReentrantLock`和读写锁`ReadWriteLock`的工作原理与应用场景。
|
2天前
|
安全 Java 编译器
深入理解Java中synchronized三种使用方式:助您写出线程安全的代码
`synchronized` 是 Java 中的关键字,用于实现线程同步,确保多个线程互斥访问共享资源。它通过内置的监视器锁机制,防止多个线程同时执行被 `synchronized` 修饰的方法或代码块。`synchronized` 可以修饰非静态方法、静态方法和代码块,分别锁定实例对象、类对象或指定的对象。其底层原理基于 JVM 的指令和对象的监视器,JDK 1.6 后引入了偏向锁、轻量级锁等优化措施,提高了性能。
12 3
|
2天前
|
存储 安全 Java
Java多线程编程秘籍:各种方案一网打尽,不要错过!
Java 中实现多线程的方式主要有四种:继承 Thread 类、实现 Runnable 接口、实现 Callable 接口和使用线程池。每种方式各有优缺点,适用于不同的场景。继承 Thread 类最简单,实现 Runnable 接口更灵活,Callable 接口支持返回结果,线程池则便于管理和复用线程。实际应用中可根据需求选择合适的方式。此外,还介绍了多线程相关的常见面试问题及答案,涵盖线程概念、线程安全、线程池等知识点。
16 2
|
10天前
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
40 6