我是靠谱客的博主 勤奋舞蹈,最近开发中收集的这篇文章主要介绍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 -versionjavac -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后就不需要了

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

  1. ubuntu安装mysql感谢作者

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

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

  4. 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防火墙。

在这里插入图片描述

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

解决方案:

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

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

    #重启mysql数据库
    sudo /etc/init.d/mysql restart
    
  3. 又出现了新的错

在这里插入图片描述

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

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

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

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

在这里插入图片描述

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

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

在这里插入图片描述

  1. 重启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

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

在这里插入图片描述

上网查了很多资料,发现是由于版本的问题,我使用的是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 server
  • Navicat连接mysql出现1251Client does not support authentication protocol requested by server的解决方案
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword'; #更新一下用户的密码 root用户密码为newpassword

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

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

参考教程:

  1. Ubuntu20.04安装Mysql

  2. ubuntu20.04安装mysql8.0

  3. ubuntu安装mysql8.0并远程连接

  4. 在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 中定义。

参考文档:

  1. 如何在 Ubuntu 20.04 上安装 Tomcat 9感谢作者@雪梦科技
  2. 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

最后

以上就是勤奋舞蹈为你收集整理的ubuntu虚拟机安装包括jdk,mysq,tomcat环境的全部内容,希望文章能够帮你解决ubuntu虚拟机安装包括jdk,mysq,tomcat环境所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部