栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ubuntu虚拟机安装包括jdk,mysq,tomcat环境

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ubuntu虚拟机安装包括jdk,mysq,tomcat环境

Ubuntu20.04虚拟器安装

安装过程需要包括配置静态ip,启动ssh远程连接,和文件传输,配置常用的jdk,python等编程语言的开发环境安装配置mysql数据库,以及将ubuntu配置为web服务器的过程。使用的ubunt版本为20.04。

配置静态ip

虚拟机默认安装时dhcp协议,就是同一局域网下有主机自动分配ip给用户(虚拟机)。需要将其改为静态避免出现变动。

系统默认配置(有的可能不一样,没有ethernets内容):

network:
    ethernets:
        ens33:
            dhcp4: yes
            addresses: []
 
    version: 2

配置成如下后面内容:(用管理员账号root,一般用户无法更改配置内容)

每个人的ip时不一样的将其配置为dhcp分配的一个就可以了,配置的相关信息可以通过如下方式查看:

通过ip addr查看dhcp分配的ip,结合上面的信息进行配置如下:

注意要找到该系统文件,本来就有的,不是新文件,不同版本文件名可能不一样。配置完成后输入sudo netplan apply

ubuntu配置静态ip

应用网络配置后查看网络的连通性:ping [自己主机号]

ctrl + c停止,如上图配置成功。

SSH远程连接

在本机上测试同一局域网下虚拟机的连通性:

为什么在window上可以ping同虚拟机的网络联通性呢?

Ping 的原理是 ICMP 协议.ICMP 的全称是 Intent Control Message Protocol, 中文过来就是 互联网控制报文协议。它是互联网协议族的核心协议之一。它用于TCP/IP网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。

Vmware工具 为我们提供了三种网络工作模式,分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-only(仅主机模式)。

VMware 虚拟机三种网络模式详解感谢作者https://www.cnblogs.com/cnjavahome/p/11266931.html

能ping后就在winodw上用软件连接虚拟机了。如Xshell远程连接软件。如下:

虚拟机上who命令查看当前用户名:

Xshell连接部分就不叙述了,主要描述遇到的问题:

当信息无误的填写后去连接不上:

也不知道什么原因,看到这位博主才解决,感谢@柳风123的文章Xshell连接虚拟机中的Ubuntu

Xshell等远程连接软件都是通过ssh协议连接的,SSH 为 [Secure Shell]的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

在虚拟机上开启ssh远程连接:

sudo service sshd start
sudo /etc/init.d/ssh start

如果出现Failed to start sshd.service: Unit sshd.service not found.类似这种命令就需要安装该服务:

sudo apt install openssh-server

安装成功后默认就会启动服务,输入ps -e | grep ssh命令查询ssh服务,出现sshd就完成了。

接下来就可以通过Xshell连接了,弹出以下信息表示连接成功(ssh服务默认端口号为22):

Xshell连接ubuntu

FTP协议传输文件

虚拟机上没有可视化界面,不便于文件管理,通过使用FTP的软件像虚拟机传送文件如Xftp(其连接和Xshell差不多,都是通过):

FTP与SFTP

配置jdk环境

这里以jdk环境为例,其他语言配置的过程都一样。

上传或下载jdk的压缩包:

#解药到当前目录
tar -zxvf test.tar.gz

#解压到指定目录
tar -zxvf test.tar.gz  -C /home/user/    #从系统目录写全

Ubuntu各种压缩文件解压命令大全

cd 切换到解压的jdk的bin目录,输入pwd查看当前目录,并复制

配置environment文件 vi /etc/environment先切换root用户

#path后追加 :$JAVA_HOME/bin
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$JAVA_HOME/bin"

#set java environment
export JAVA_HOME=/home/server/Java/jdk1.8.0_11
export JRE_HOME=$JAVA_HOME/jre

输入source /etc/environment命令使配置文件生效。

配置profile文件 vi /etc/profile

#set Java environment
#在文件后面追加
export JAVA_HOME=/usr/local/java/jdk1.8.0_271   #jsk的bin目录完整路径,刚复制的部分
export JRE_HOME=$JAVA_HOME/jre  
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH  
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 

输入source /etc/profile命令使配置文件生效。

查看是否配置成功java -version和javac -version

ubuntu配置jdk环境变量

python语言配置步骤基本一样(只有解析器路径)。

除了自己配置环境变量外,还有系统默认配置:

# 安装python3,通过命令行安装系统会自动配置环境变量
sudo apt-get install python3

#安装python2
sudo apt-get install python

# 安装的python3在/usr/bin下,为python3建立软连接
sudo ln -s /usr/bin/python3 /usr/local/bin/python3  # 在系统根目录下不是/home目录

# 安装pip3
sudo apt-get install python3-pip
 
# 更新pip
sudo pip3 install --upgrade pip

重启后环境变量自动生效。输入python或python3能进入python编辑环境就行了。

安装mysql数据库 下载数据库
# 下载数据库
sudo apt install mysql-server

#安装出错就跟新系统再次安装
sudo apt update

#sudo 是赋予root权限,切换超级用户root后就不需要了

刚学数据运维,配置过程参考的资料:

    ubuntu安装mysql感谢作者

    Ubuntu20.04安装MySQL8.0配置远程连接感谢作者@哲这这

    Ubuntu20.04安装Mysqlg感谢作者@風の住む街~

    Ubuntu配置访问权限感谢作者@lduzhenlin

输入sudo systemctl status mysql查看mysql是否启动,出现下面active(running)即为正在运行:

mysql启动后对其进行初始化

初始化最重要的就是配置用户名和密码输入sudo mysql_secure_installation指令:

进入第一个配置:

是否进行密码的强校验?no

第二个配置:

为数据库设置密码。要输入两次,密码不会显示出来,尽量用字母和数字,不要出现其他字符。上面已经说了为root设置密码,默认用户是root。

第三个配置:

是否删除匿名用户:N

第四个配置:

是否禁止远程连接? no,命令行操作数据库不方便,需要借助可视化工具,需要远程连接。

第五个配置:

是否删除测试数据库?删不删都可以。

第六个配置:

配置是否生效? y

配置完成:

总结以下主要又以下几个配置项:

#1
VALIDATE PASSWORD PLUGIN can be used to test passwords...
Press y|Y for Yes, any other key for No: N (选择N ,不会进行密码的强校验)

#2
Please set the password for root here...
New password: (输入密码)
Re-enter new password: (重复输入)

#3
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them...
Remove anonymous users? (Press y|Y for Yes, any other key for No) : N (选择N,不删除匿名用户)

#4
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network...
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N (选择N,允许root远程连接)

#5
By default, MySQL comes with a database named 'test' that
anyone can access...
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N (选择N,不删除test数据库)

#6
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (选择Y,修改权限立即生效)

连接数据库

检查数据库状态:

systemctl status mysql.service和之前一样,启动后就可以访问数据了。

和window上一样mysql -u root -p命令访问,注意要是root用户下,普通用户没权限,或添加sudo前缀:

配置远程访问

使用Navicat软件对数据库访问,知道ip就可以了:

确定后却报错:

故障原因:默认状态下Mysql不允许除本机外的主机访问(SSH除外),修改mysqld.cnf文件即可解决问题,但修改文件后可能会导致安全问题,所以建议配置ufw防火墙。

    连接虚拟机mysql报错10061bind-address参数配置要求,以及怎么去使得mysql能够允许远程的客户端访问

解决方案:

    更改mysql默认配置允许远程访问

    # 编辑配置文件
    sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
    
    #修改默认配置允许远程访问
    bind-address		= 127.0.0.1 [虚拟机ip地址]   #中间用空格隔开
    

    重启mysql应用配置

    #重启mysql数据库
    sudo /etc/init.d/mysql restart
    

    又出现了新的错

1130 - Host XXX is not allowed to connect to this MySQL server。

    登录要连接的数据库的主机(虚拟机)

    修改数据库内部信息,将将用户localhost改为%(通配符,允许任何用户访问)

    # 进入数据
    sudo mysql -u root -p
    
    #进入user(用户表)修改用户信息,允许所有用户使用数据库
    use mysql;
     
    select host from user where user='root';
    
    

    修改用户信息允许需要的ip访问

    # 将localhost改为%允许所有ip访问
    update user set host = '%' where user ='root';
    
    #或者insert将允许的ip插入
    insert into user values ('192.168.xxx.xxx');
    
    
    

    重启mysql,重新连接

    sudo service mysql restart

Host XXX is not allowed to connect to this MySQL server

Host ‘192.168.1.3’ is not allowed to connect to thisMySQL server

    本以为可以连接成功了,结果。。。。出现了以下错误 ,继续改错吧

上网查了很多资料,发现是由于版本的问题,我使用的是Linux的mysql的加密规则在版本8前后改变了。mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,所以可以升级navcat的版本或者改变mysql的加密规则

#输入该指令查看加密规则
select host,user,plugin,authentication_string from mysql.user;

#是caching_sha2_password而不是mysql_native_password

加密规则改变了,navcat的还是原来的,所以升级以下或者修改加密规则即可。

修改加密规则client does not support authentication protocol requested by serverNavicat连接mysql出现1251Client does not support authentication protocol requested by server的解决方案

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword'; #更新一下用户的密码 root用户密码为newpassword

为了更上时代去升级版本了!

    本以为跟新后就可以连接了,结果又报错,真的服了!

这次原因是密码错误,但是我是输的正确的呀,是由于数据库中没有密码:

select host, user, authentication_string, plugin from user;查询发现,密码那行为空的,

sql语句跟新或插入一个密码即可。当我跟新以一个密码后连接成功:

参考教程:

    Ubuntu20.04安装Mysql

    ubuntu20.04安装mysql8.0

    ubuntu安装mysql8.0并远程连接

    在Ubuntu 20.04上安装MySQL教程

虚拟机模拟远程服务器

模拟远程服务器最重要的就是web服务器,浏览器发送http请求,需要服务器来解析。

为了避免配置环境变量,直接在虚拟机用shell命令下载。

下载并安装Tomcat

#更新系统
sudo apt update
#查询tomcat版本,选择安装版本

#安装tomcat9-admin
sudo apt install tomcat9

使用apt-get install自动安装的就不需要配置环境变量了,配置环境变量的目的是告诉系统,有这样一些资源,典型的是你使用tab键能够找到可以运行的程序,如果这个程序的位置没有设置在path环境变量里面就无法自动提示。像上传,解压,自己配置了路径虽然也能允许但系统并不知道,所以需要配置环境变量。

安装完成会出现这样的ERROR,输入sudo apt update后再次安装

安装完成后会自动开启服务,输入ss -ltn查看8080端口是否占用,tomcat默认使用8080端口:

如上图所示,tomcat已经启动,通过下面的指令对tomcat实现开关:

# 开启tomct
sudo systemctl enable tomcat9
# 关闭tomcat
sudo systemctl disable tomcat9

在主机上的浏览器输入[ip]:8080端口,出现下图所示内容就可以了:

大致意思是:

它工作了!

如果您通过 Web 浏览器看到此页面,则表示您已成功设置 Tomcat。 恭喜!

这是默认的 Tomcat 主页。 它可以在本地文件系统上找到:/var/lib/tomcat9/webapps/ROOT/index.html

Tomcat 的老手可能会很高兴得知这个 Tomcat 系统实例安装在 :CATALINA_HOME : /usr/share/tomcat9以及CATALINA_base:/var/lib/tomcat9,遵循的规则在/usr/share/doc/tomcat9-common/RUNNING.txt.gz压缩包中。

如果您还没有这样做,您可以考虑安装以下软件包:

tomcat9-docs:该软件包安装了一个允许在本地浏览 Tomcat 9 文档的 Web 应用程序。 安装后,您可以通过单击此处访问它。

tomcat9-examples:这个包安装了一个允许访问 Tomcat 9 Servlet 和 JSP 示例的 Web 应用程序。 安装后,您可以通过单击此处访问它。

tomcat9-admin:这个包安装了两个 Web 应用程序,可以帮助管理这个 Tomcat 实例。 安装后,您可以访问 manager webapp 和 host-manager webapp。

注意:出于安全原因,使用 manager webapp 仅限于角色为“manager-gui”的用户。 host-manager webapp 仅限于角色为“admin-gui”的用户。 用户在 /etc/tomcat9/tomcat-users.xml 中定义。

参考文档:

    如何在 Ubuntu 20.04 上安装 Tomcat 9感谢作者@雪梦科技Ubuntu20.04 安装tomcat感谢作者@白不懂黑的静

相关目录及作用说明:(默认安装,自己配置环境的不一样)

/etc/tomcat9- 全局配置/usr/share/tomcat9/- 程序主目录/usr/share/tomcat9/conf/Catalina/localhost/- 本机部署的 Catalina 配置/var/lib/tomcat9/- 工作主目录,/var/lib/tomcat9/webapps- (web文件实际存放于此)

安装了tomcat9-admin的需要在全局配置中创建用户才可以访问admin管理页面:

在/etc/tomcat9下是 tomcat 的全局配置,这里需要修改 tomcat-users.xml添加新管理员

启动和关闭tomcat

除了上面命令关闭tomcat外(默认配置了环境变量)还可以通过.sh脚本关闭:

/usr/share/tomcat9是 tomcat 的主程序目录。/usr/share/tomcat6/bin/startup.sh是开启命令。(window上也有,不过用不上,用.bat开启)/usr/share/tomcat6/bin/shutdown.sh是关闭命令。

其目录和window上差不多:

存放开关tomcat脚本的目录:

localhost/```- 本机部署的 Catalina 配置

/var/lib/tomcat9/- 工作主目录,/var/lib/tomcat9/webapps- (web文件实际存放于此)

安装了tomcat9-admin的需要在全局配置中创建用户才可以访问admin管理页面:

在/etc/tomcat9下是 tomcat 的全局配置,这里需要修改 tomcat-users.xml添加新管理员

启动和关闭tomcat

除了上面命令关闭tomcat外(默认配置了环境变量)还可以通过.sh脚本关闭:

/usr/share/tomcat9是 tomcat 的主程序目录。/usr/share/tomcat6/bin/startup.sh是开启命令。(window上也有,不过用不上,用.bat开启)/usr/share/tomcat6/bin/shutdown.sh是关闭命令。

其目录和window上差不多:

存放开关tomcat脚本的目录:

注意是运行shutdown.sh脚本而不是shutdown。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/762667.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号