十五、linux之搭建JavaEE环境

1 概述

如果需要在 Linux 下进行 JavaEE 的开发,我们需要安装如下软件
在这里插入图片描述

2 安装 JDK

安装步骤

    1. mkdir /opt/jdk
mkdir /opt/jdk

在这里插入图片描述

    1. 通过 xftp6 上传到 /opt/jdk 下
      在这里插入图片描述
    1. cd /opt/jdk
      在这里插入图片描述
    1. 解压 tar -zxvf jdk-8u261-linux-x64.tar.gz
tar -zxvf jdk-8u261-linux-x64.tar.gz

在这里插入图片描述
在这里插入图片描述

    1. 创建目录 /usr/local/java
mkdir /usr/local/java 
    1. 移动目录到/usr/local/java 统一管理
mv /opt/jdk/jdk1.8.0_261 /usr/local/java 
    1. 配置环境变量的配置文件(在Linux的任何下都能找到java和javac)
#查看PATH目前的环境变量有哪些
echo $PATH

在这里插入图片描述
编辑etc下的profile 文件

vim /etc/profile 

#找到profile文件的最后输入

 export JAVA_HOME=/usr/local/java/jdk1.8.0_261  #引入到PATH环境变量export PATH=$JAVA_HOME/bin:$PATH  

在这里插入图片描述

 #让新的环境变量生效source /etc/profile 

在这里插入图片描述

测试是否安装成功

  1. 编写一个简单的 Hello.java 输出"hello,world!
vim Hello.java
public class Hello{public static void main(String[] args){System.out.println("Hello,World!");}
}

3 tomcat 的安装

步骤

1、创建目录

#在/opt下创建目录
mkdir /opt/tomcat

在这里插入图片描述
2、使用xftp上传文件到tomcat目录下
在这里插入图片描述
3、解压缩到/opt/tomcat

tar -zxvf apache-tomcat-8.5.59.tar.gz

在这里插入图片描述
4、进入apache目录下

cd apache-tomcat-8.5.59/bin

在这里插入图片描述

5、启动 tomcat ./startup.sh

./startup.sh 

在这里插入图片描述
6、在物理机上ping一下linux的ip
在这里插入图片描述

7、 开放端口 8080

firewall-cmd --permanent --add-port=8080/tcp
#或者
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#重启防火墙
firewall-cmd --reload#查看已开启的端口
firewall-cmd --list-ports 
或者
firewall-cmd  --query-port=8080/tcp
#查看防火墙状态
firewall-cmd --state
#开启防火墙
systemctl start firewalld
#开启端口;zone:作用域
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#重启防火墙
firewall-cmd --reload

在 windows、Linux 下 访问 http://linuxip:8080
在这里插入图片描述
例子:在tomcat的访问文件夹加一个自己的html文件
在这里插入图片描述

demo.html

<!-- tomcat目录下的webapps/ROOT -->
<h3>demo</h3>

在这里插入图片描述

4 idea2020 的安装

步骤

  1. 下载地址: https://www.jetbrains.com/idea/download/#section=windows
    在这里插入图片描述

  2. 解压缩到/opt/idea

mkdir /opt/idea
tar -zxvf ideaIU-2020.2.3.tar.gz

在这里插入图片描述

  1. 启动 idea bin 目录下 ./idea.sh,配置 jdk(需要到虚拟机操作)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置字体大小
file----settings
在这里插入图片描述

  1. 编写 Hello world
public class hello {public static void main(String[] args) {System.out.println("hello");}
}

在这里插入图片描述

5 mysql5.7 的安装(!!)

PS:centos7.6自带的类mysql数据库是mariadb,会跟mysql冲突,要先删除

  1. 运行rpm -qa|grep mari,查询mariadb相关安装包
rpm -qa|grep mari

在这里插入图片描述

  1. 运行rpm -e --nodeps mariadb-libs,卸载
rpm -e --nodeps mariadb-libs
rpm -e --nodeps marisa

在这里插入图片描述

  1. 新建文件夹/opt/mysql,并cd进去
mkdir /opt/mysql
cd /opt/mysql

在这里插入图片描述

  1. 运行wget http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar,下载mysql安装包(因为包比较大,直接使用xftp上传)
    链接: https://pan.baidu.com/s/1ZVHnBvFTb3mHbSa5YUqfAQ?pwd=kd33 提取码: kd33
    在这里插入图片描述

5.运行tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

#因为这个文件后面没有.gz,所以解压的时候是-xvf,而不是-zxvf
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

在这里插入图片描述
在这里插入图片描述
6. 开始真正安装mysql,依次运行以下几条(需要按顺序执行)

rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7. 运行systemctl start mysqld.service,启动mysql

systemctl start mysqld.service

在这里插入图片描述

  1. Mysql自动给root用户设置随机密码,运行grep “password” /var/log/mysqld.log可看到当前密码
grep "password" /var/log/mysqld.log

在这里插入图片描述
9. 开始设置root用户密码,运行mysql -u root -p,用root用户登录,提示输入密码可用上述的(不要自己敲,要复制粘贴),可以成功登陆进入mysql命令行

mysql -u root  -p

在这里插入图片描述
10. 设置root密码,对于个人开发环境,如果要设比较简单的密码(生产环境服务器要设复杂密码),可以运行

#提示密码设置策略,(validate_password_policy默认值1,)
set global validate_password_policy=0; 
#设置登录密码()
set password for 'root'@'localhost' =password('12345678');
#使密码设置生效
flush privileges;

在这里插入图片描述
11. 查看数据库

show databases;

在这里插入图片描述

  1. 退出数据库
quit;

在这里插入图片描述

6、关于mysql数据库密码

当修改密码的时候会报错:

mysql> set password for ‘root’@‘localhost’ =password(‘123456’);
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

出现问题的主要原因是 MySQL 有默认的密码策略:

  • 至少包含 1 位大小写
  • 至少包含 1 位数字
  • 包含 1 个特殊符号
  • 必须 8 位及以上

如果不想把密码设置的那么复杂,就需要修改默认的密码策略。

查看当前的密码策略
SHOW VARIABLES LIKE 'validate_password%';
根据需求修改以下变量
  • validate_password.policy:密码策略,默认值为MEDIUM。可以设置为LOW、MEDIUM、STRONG或者自定义。例如,可以将其设置为LOW以降低密码复杂性要求。

    SET GLOBAL validate_password.policy = LOW;#或者
    SET GLOBAL validate_password.policy = 0;
    

    不同策略的要求:
    0/LOW:只验证长度;
    1/MEDIUM:验证长度、数字、大小写、特殊字符;默认值。
    2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;

  • validate_password.length:密码最小长度,默认值为8。可以根据需要修改最小密码长度

    SET GLOBAL validate_password.length = 6;
    
  • validate_password.number_count:密码中的数字要求,默认值为1。可以增加或减少数字的要求。

    SET GLOBAL validate_password.number_count = 1;
    
  • validate_password.special_char_count:密码中特殊字符的要求,默认值为1。可以增加或减少特殊字符的要求。

    SET GLOBAL validate_password.special_char_count = 1;
    
  • validate_password.mixed_case_count:密码中大写字母和小写字母的要求,默认值为1。可以增加或减少大写字母和小写字母的要求。

    SET GLOBAL validate_password.mixed_case_count = 1;
    
修改配置文件以使修改的密码策略永久生效。

打开MySQL的配置文件(通常是 mysqld.cnf 或 my.cnf),添加下面的内容到文件中:

validate_password.policy=LOW
validate_password.length=6
validate_password.number_count=1
validate_password.special_char_count=1
validate_password.mixed_case_count=1

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

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

相关文章

基于PHP的音乐网站的设计与实现

摘 要 本系统采用PHP编程语言和MySQL数据库技术搭载了Apache服务器&#xff0c;完成了基于PHP的音乐网站设计&#xff0c;通过此次毕 业论文的撰写我明白了对于论文的选题要精确&#xff0c;要明确&#xff0c;要有明确的见解&#xff0c;要有足够的论证和创意&#xff0c;必须…

mysql 触发器进入历史

一、触发器 MySQL 触发器&#xff08;Triggers&#xff09;是一种数据库对象&#xff0c;它与表关联&#xff0c;能在特定的事件&#xff08;如插入、更新或删除&#xff09;发生时自动执行一些指定的操作。使用触发器可以帮助我们自动维护数据库的完整性、一致性&#xff0c;…

Springboot项目搭建(8)-用户登出与个人中心修改

1.提要信息 1.1 catch和then方法 then和catch是JavaScript中Promise对象的两个方法&#xff0c;用于处理异步操作的成功&#xff08;成功回调&#xff09;和失败&#xff08;失败回调&#xff09;情况。这两个方法通常与async/await语法一起使用&#xff0c;但也可以单独使用…

【2024】使用Docker搭建redis sentinel哨兵模式集群全流程(包含部署、测试、错误点指正以及直接部署)

目录&#x1f4bb; 前言**Docker Compose介绍**最终实现效果 一、搭建集群1、创建文件结构2、创建redis节点3、验证节点4、创建sentinel哨兵5、验证Sentinel功能 二、spring连接1、添加依赖2、添加配置3、启动测试 三、直接部署流程1、拉取配置2、修改端口创建 前言 本篇文章主…

Python毕业设计选题:基于django+vue的智慧社区可视化平台的设计与实现+spider

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 管理员功能界面 养老机构管理 业主管理 社区安防管理 社区设施管理 车位…

webpack 项目访问静态资源

使用 webpack dev serve 启动 react 项目后&#xff0c;发现无法使用 http://localhost:8080/1.png 访问到项目的 /static 目录下的 1.png 文件。我的 webpack-dev.js 配置如下&#xff1a; const webpack require(webpack) const webpackMerge require(webpack-merge) cons…

【FAQ】使用Node.js 镜像 构建本地项目

在nodejs官方并没有提供使用node.js构建本地项目的方法&#xff0c;但是通过阅读官方文档&#xff0c;可以发现&#xff0c;官方在包管理器界面提供了如下语句 所以node.js容器是可以执行语句的 下面通过docker 的 -w 、-v 参数设置容器工作目录和目录映射&#xff08;实现本…

MySQL技巧之跨服务器数据查询:进阶篇-从A服务器的MySQ数据库复制到B服务器的SQL Server数据库的表中

MySQL技巧之跨服务器数据查询&#xff1a;进阶篇-从A服务器的MySQ数据库复制到B服务器的SQL Server数据库的表中 基础篇已经描述&#xff1a;借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MyS…

Flutter 指纹识别

在这篇博客中&#xff0c;我们将介绍如何使用 Flutter 的 local_auth 插件在 Android 和 iOS 设备上实现指纹识别功能。通过这一步一步的实现&#xff0c;我们将学习如何检查设备是否支持生物识别、如何触发指纹验证&#xff0c;并处理可能出现的错误。 效果图&#xff08;因为…

CentOS 9 配置静态IP

文章目录 1_问题原因2_nmcli 配置静态IP3_使用配置文件固定IP4_重启后存在的问题5_nmcli 补充 1_问题原因 CentOS 7 于 2014年6月发布&#xff0c;基于 RHEL 7&#xff0c;并在 2024年6月30日 结束维护。 CentOS 9 作为目前的最新版本&#xff0c;今天闲来闲来无事下载下来后…

面阵相机的使用和注意事项

引言 面阵相机&#xff08;Area Scan Camera&#xff09;是一种广泛应用于工业视觉、医学成像、安防监控以及科研领域的图像采集设备。与线扫相机不同&#xff0c;面阵相机的传感器包含多行像素&#xff08;例如1280x1024、1920x1080等&#xff09;&#xff0c;能够在一个曝光…

损失函数分类

1. NLLLoss&#xff08;负对数似然损失&#xff09; 定义&#xff1a; 直接对预测的概率 p(yi) 的负对数求平均。通常配合 Softmax 使用&#xff0c;输入为对数概率。 优点&#xff1a; 对离散分类问题效果良好。更灵活&#xff0c;用户可以自行计算 Softmax。 缺点&#x…

python冒号是什么意思

例如&#xff1a; user: User User.objects.filter(iddata.get(uid)).first() 变量名后面的冒号是&#xff1a;类型注解&#xff0c;3.6以后加入的&#xff0c;冒号右边是类型&#xff0c;仅仅是注释&#xff0c;有些鸡肋。 变量注释的语法&#xff1a;注释变量类型,明确指出…

打字指法和键盘按键功能简介

打字指法和键盘按键功能简介 一、打字指法简介&#xff08;附视频演示&#xff09; 基本要领和练习步骤&#xff1a; 手指位置&#xff1a;正常情况下&#xff0c;大拇指放在空格键上&#xff0c;其余四个手指分别放在 ASDF 和 JKL; 键上。 打字姿势&#xff1a;打字时手指…

H3C ACL实验

实验拓扑 实验需求 按照图示配置 IP 地址全网路由互通在 SERVER1 上配置开启 TELNET 和 FTP 服务配置 ACL 实现如下效果 192.168.1.0/24网段不允许访问 192.168.2.0/24 网段&#xff0c;要求使用基本 ACL 实现 PC1 可以访问 SERVER1 的 TELNET 服务&#xff0c;但不能访问 FTP…

【热门主题】000077 物联网智能项目:开启智能未来的钥匙

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【热…

AIGC时代 | 如何从零开始学网页设计及3D编程

文章目录 一、网页设计入门1. 基础知识2. 学习平台与资源3. 示例代码&#xff1a;简单的HTMLCSSJavaScript网页 二、3D编程入门1. 基础知识2. 学习平台与资源3. 示例代码&#xff1a;简单的Unity 3D游戏 《编程真好玩&#xff1a;从零开始学网页设计及3D编程》内容简介作者简介…

Java并发07之ThreadLocal

文章目录 1 ThreadLocal原理2 内部结构3 内存泄露问题4 entry的key为什么被设计为弱引用 1 ThreadLocal原理 ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问时能保证各个线程的变量相对独立于其他线程内的变量。ThreadLocal实例通常来说都是private st…

python股票数据分析(Pandas)练习

需求&#xff1a; 使用pandas读取一个CSV文件&#xff0c;文件内容包括股票名称、价格和交易量。完成以下任务&#xff1a; 找出价格最高的股票&#xff1b; 计算总交易量&#xff1b; 绘制价格折线图。 代码实现&#xff1a; import pandas as pd import matplotlib.pyplot …

鸿蒙NEXT元服务:论如何免费快速上架作品

【引言】天下武功&#xff0c;唯快不破。 本文讨论如何免费且以最快速度上架自己的作品。 作者以自己从零开始到提交发布审核一共俩小时的操作流程分享给大家作参考。 【1】立项选择 结论&#xff1a;元服务&#xff0c;单机&#xff0c;工具类&#xff08;非游戏&#xff…