Windows系统中开发的Java项目在虚拟机中的Linux系统中跑起来
背景:由于Linux系统一般用作服务器的部署,大部分的开发实际在Windows系统,所以在Win系统开发的项目一般都部署在Linux系统。只有一台电脑使用时,就采用在本地电脑安装虚拟机,在虚拟机中安装Linux系统,再在Linux系统进行服务的部署。
一、软件信息及介绍
- 虚拟机:VirtualBox6.0.1;
- Linux系统:ubuntu-16.04.6-desktop-i386;
- jdk版本:jdk-8u281-linux-i586.tar.gz;
软件介绍:选择VirtualBox,而没有选择VirtualMachine是因为VirtualMachine为商业软件,VirtualBox开源;选择Ubuntu是因为Ubuntu是供学习使用好上手的;注意:安装了32位的系统,安装jdk时就只能安装32位的jdk了,若安装了32位的系统,安装64位的jdk,在验证jdk安装是否成功时,会报错:cannot execute binary file
二、整体步骤
- 安装VirtualBox6.0.1;(略…)
- Ubuntu镜像下载;(不推荐官方,参考:ubuntu 16.04 镜像下载)
- 在VirtualBox中安装Ubuntu16;(略…)
- 在Ubuntu中配置ip;
a).图形界面配置;
b).命令窗口配置; - VirtualBox中配置网路:使得Win系统与Ubuntu系统能相互网路连接;
- 在Ubuntu中安装ssh服务并启动;
- 在Ubuntu中安装jdk;
a).通过WinSCP、Xftp等工具将win系统下载的jdk上传到Ubuntu;
b).直接在Ubuntu中下载jdk; - 设置jdk环境变量,并验证;
- 通过WinSCP、Xftp等工具将项目包上传到Ubuntu,并启动;
I、在Ubuntu中配置Ip:
- 使用命令配置: a).使用ifconfig命令:#ifocnifg 查看网卡信息;#ifconfig 网卡名称 ip地址; ifconfig 查看IP
sudo ifconfig eth0 192.168.1.222
sudo ifconfig eth0 down
sudo ifconfig eth0 up
ping (wionds ip)
b).使用ip命令;
- 使用图形界面配置:
参考大神的:virtualbox 设置桥接模式
II、在VirtualBox中设置网络
详细介绍参考大神的:virtualbox 设置桥接模式 配置好网路在同一个网段,并在VirtrualBox中的网络设置好后,能相互ping通主机和虚拟系统即可;
注意:本机和虚拟机能相互ping通网络,不能使用ssh远程登录的几个可能原因:
- Linux中ssh服务没有安装;安装详细介绍参考大神的:linux安装ssh和开启 ssh服务
- Linux防火墙没有关闭,导致SSH连接失败(关闭防火墙);
- LinuxSSH服务没有启动,查看是否启动SSH服务;
- SSH服务启动后,仍然连接不上,需要确认是否是SSH服务得端口问题,核对连接端口( /etc/ssh/sshd_config);
III、在Ubuntu中安装jdk
1.使用WinSCP等工具将宿主机下载的jdk压缩文件上传到Ubuntu中;(或者在Ubuntu中下载);
2.将下载的jdk.tar.gz解压;(#tar -xzvf ..jdk.tar.gz)
IV、设置环境变量并验证
1.使用root权限配置的环境变量针对每个用户有效;针对个人用户的在其他文件;
#vi /etc/profile; 在文件中增加:
【1】32位jdk环境变量配置:
【2】64位jdk环境变量配置:
2.重新导入该文件生效:#source /etc/profile
3.#java -version 验证;
注意:若验证时报错:cannot execute binary file,很有可能是系统的位数和jdk位数不一致导致的,可参考大神的:安装JDK出现 cannot execute binary file
V、将项目包上传到服务器上部署
一般使用WinSCP、Xftp等工具,选择协议时选择Sftp协议。使用Xftp连接时报错:,请参考博主: 找不到匹配的outgoing encryption 算法