使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

2023-01-13 2280阅读

温馨提示:这篇文章已超过456天没有更新,请注意相关的内容是否还可用!

windows浏览器作为前端; 一个Ubuntu虚拟机运行web前端应用程序; Ubuntu 虚拟机运行业务层服务; Ubuntu 虚拟机运行数据层服务。使用Windows 10自带的Hyper-V安装虚拟机,并为每个虚拟机指定网卡Default Switch,以使用虚拟交换机功能。每个虚拟机都使用 DHCP 进行动态 IP 地址分配。windows主机的静态IP地址的设置就不详细说了。下面介绍Ubuntu Server环境下静态IP地址的设置。创建虚拟机并指定网络适配器Default Switch后,在windows主机的“network and internet”中添加虚拟网络“vEthernet”和“vEthernet”两个虚拟以太网适配器。修改配置后,执行$sudo netplan apply 使修改生效。即在“启用或停止windows功能”中勾选telnet客户端,确认成功后,即可在windows的CMD中使用telnet命令。对应的进程名为inetd,程序位置为/usr/sbin/inetd。

1. WEB应用开发环境

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)
(图片来源网络,侵删)
使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)
(图片来源网络,侵删)

windows浏览器作为前端; 一个Ubuntu虚拟机运行web前端应用程序; Ubuntu 虚拟机运行业务层服务; Ubuntu 虚拟机运行数据层服务。

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

使用虚拟机部署Web分布式开发环境

2.宿主机和虚拟机的地址设置

使用Windows 10自带的Hyper-V安装虚拟机,并为每个虚拟机指定网卡Default Switch,以使用虚拟交换机功能。 每个虚拟机都使用 DHCP 进行动态 IP 地址分配。

下图是安装的三个Ubuntu虚拟机系统分配的动态IP地址。

创建 Ubuntu 虚拟机时由 DHCP 分配的动态 IP 地址

对于开发环境或者运行环境,最好使用静态IP,因为DHCP是动态分配IP的,同一个主机有时会分配不同的IP地址。

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

展示层、服务层、数据层、前端主机IP规划

windows主机的静态IP地址的设置就不详细说了。 下面介绍Ubuntu Server环境下静态IP地址的设置。

创建虚拟机并指定网络适配器Default Switch后,在windows主机的“network and internet”中添加虚拟网络“vEthernet(Default Switch)”和“vEthernet(Hvsilcs)”两个虚拟以太网适配器。 如下所示。

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

使用Hyper-V创建虚拟机时指定网卡的界面截图

需要配置vEthernet(Default Switch)适配器的“Share”和“Network”属性,如下图,这样就完成了虚拟网络的设置。

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

为虚拟适配器配置共享和网络属性

接下来,设置每个虚拟机的网络属性。 Netplan 是 Ubuntu 18.04 上默认的网络管理工具。 通过编辑/etc/netplan/下的配置文件50-cloud-init.yaml,可以修改配置DHCP、IP地址、子网掩码、默认网关、DNS服务器。

下面这个文件把原来的配置注释掉,取消DHCP,设置为静态属性,直接设置Web虚拟机的网络参数。 其他虚拟机与此类似,不再直接给出。

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

Ubuntu网络配置文件,设置静态属性

修改配置后,执行$sudo netplan apply 使修改生效。 执行ifconfig命令后,你会发现新的配置已经生效了。 宿主机的DNS为192.168.1.1,虚拟机的DNS也设置为192.168.1.1,虚拟机也可以上网。

3.从主机到各个虚拟机的Telnet设置

在上位机windows10上打开telnet客户端。 即在“启用或停止windows功能”中勾选telnet客户端,确认成功后,即可在windows的CMD中使用telnet命令。

ubuntu虚拟机开启telnet服务的方法,包括安装和开启监控; 安装telnet服务功能:

(1)安装openbsd-inetd监听进程:sudo apt-get install openbsd-inetd。

openbsd-inetd是一个监听外部网络请求的系统守护进程【也就是socket】。 对应的进程名为inetd,程序位置为/usr/sbin/inetd。

系统启动时虚拟机配置web服务器,首先读取/etc/inetd.conf文件,看里面是否配置了标准服务。 如果有,比如有telnet标准服务配置,inetd系统服务会启动一个tcp监听LISTEN。 当有一个外部网络请求到来时,它会查询/etc/inetd.conf 该请求应该调用什么服务,并启动相应的服务。

openbsd-inetd后台进程的启动减少了需要启动的后台进程总数,在有需要的时候启动相应的后台进程。

(2) 安装telnetd:sudo apt-get install telnetd

安装过程安装了telnet服务程序,在/etc/inetd.conf中添加一行:

telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

正是通过这种配置,当 inetd 后台进程启动时,才会创建一个 tcp LISTEN 请求。

(3) 重启openbsd-inetd:sudo /etc/init.d/openbsd-inetd restart

(4)查看telnet的运行状态:sudo netstat -a|grep telnet 应该可以发现ubuntu上的telnet监控已经启动了

(5)登录:telnet IP地址,输入用户名和密码后,即可登录ubuntu。

(6)需要注意:Windows自带cmd窗口,有时会出现乱码,属性设置为“使用旧控制台”显示本地内容时不会再出现乱码,汉字会出现乱码在cmd中telnet到主机时,不能设置字符编码;

(7) 下载CRT工具Xshell,作为telnet终端使用。 可以设置字符编码为utf-8,就不会出现汉字乱码了。 这个工具有免费版,但是一个Xshell进程可以打开的telnet窗口数量限制在不超过4个,但是够用了。

推荐使用第三方终端工具,使用方便,有安全选项,保证数据安全传输。

4.主机到各个虚拟机的FTP设置

直接登录Ubuntu主机,以字符终端的形式开发,不方便快捷。 一般在Windows主机上使用集成开发环境。 开发完成后部署到服务器,所以需要配置机器间的ftp功能。

(1)windows宿主机必须保证ftp/tftp客户端的正常运行虚拟机配置web服务器,这里不再详述。

(2)ubuntu虚拟机,如果没有安装ftp服务器,则

sudo apt-get remove/install vsftpd(非常安全的 FTP 守护进程)

安装vsftpd服务器后,会在/etc/目录下创建一个vsftpd.conf配置文件

服务 vsftpd 启动或 /etc/init.d/vsftpd 启动

服务端vsftpd安装启动后,会响应win客户端的ftp请求,但禁止上传文件。 下图是未设置静态IP时的截图。

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

Ubuntu的vsftpd默认安装启动后,可以响应ftp请求,但是不能传输文件

修改/etc/vsftpd.conf,取消“write_enable=YES”前面的#。 重启vsftp服务器,service vsftpd restart;

编辑vsftpd的conf配置文件,设置writable选项,即可正常使用ftp

ftp需要的配置文件:/etc/vsftpd.conf,里面有很多设置项,根据实际需要调整。

在三台Ubuntu主机上安装vsftpd服务器,修改安装服务器生成的配置文件vsftpd.conf,修改write_enable=YES。

在使用vsftp服务时,经常需要启动、停止、重启vsftp服务。 以下是用于这些操作的说明:

启动Vsftpd服务的命令为:service vsftpd start或/etc/init.d/vsftpd start

停止Vsftpd服务的命令为:service vsftpd stop或/etc/init.d/vsftpd stop

重启Vsftpd服务的命令为:service vsftpd restart或/etc/init.d/vsftpd restart

查看vsftpd服务运行状态:service vsftpd status

5.宿主机windows10安装jdk

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

具体安装过程就不详细说了,直接下载JDK,按照安装向导安装即可。jdk相关的三个主要环境变量

JAVA_HOME=C:\Program Files\Java\jdk-11.0.5

类路径=C:\Program Files\Java\jdk-11.0.5\lib

路径=C:\Program Files (x86)\NetSarang\Xshell6\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT% \System32\OpenSSH\;C:\Program Files\Java\jdk-11.0.5\bin;

6.在Web虚拟机上安装jdk

sudo apt-get install default-jdk

安装后的java可执行程序目录如下:

/usr/lib/jvm/java-11-openjdk-amd64/bin

验证在Ubuntu上安装JDK是否成功

/etc/profile文件修改,环境变量很重要。 设置并输出环境变量后,系统就可以正常执行了。

在最后添加

导出 JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

export CLASSPATH=/usr/lib/jvm/java-11-openjdk-amd64/lib

导出 PATH=$PATH: /usr/lib/jvm/java-11-openjdk-amd64/bin

使配置文件生效

#source /etc/配置文件

Ubuntu 列出所有环境变量:#env

列出一个环境变量:#echo $JAVA_HOME

其他虚拟机安装JDK步骤相同,不再赘述。

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

7.在web虚拟机主机上安装TOMCAT

sudo cp apache-tomcat-9.0.30.tar.gz /usr/local/

cd /usr/本地

tar -zxvf apache-tomcat-9.0.30.tar.gz 解压tomcat到当前目录

sudo chmod 755 -R apache-tomcat-9.0.30/ 授予文件权限

cd /usr/local/apache-tomcat-9.0.30/bin

在startup.sh的启动文件后添加jdk环境变量和tomcat环境变量

导出 JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

export CLASSPATH=/usr/lib/jvm/java-11-openjdk-amd64/lib

导出 PATH=$PATH: /usr/lib/jvm/java-11-openjdk-amd64/bin

导出 TOMCAT_HOME=/usr/local/apache-tomcat-9.0.30

须藤./startup.sh

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

成功启动Tomcat服务器

表示启动成功。

为了在其他机器上运行本机上的tomcat控制台,需要允许Tomcat通过防火墙

Tomcat默认端口是8080,要允许这个端口通过防火墙,命令如下:

sudo ufw 允许 8080

ufw 是 Ubuntu 的防火墙

使用浏览器在宿主机windows主机上查看web主机的tomcat配置界面(截图时静态IP还没有配置)

出现如下画面,说明192.168.1.110的windows主机访问172.18.5.233的web服务器成功。

貌似远程调用Tomcat控制台成功了,但是实际点击某些功能会报错,如下图。 要完整运行tomcat,需要修改一些配置文件。

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

点击Server Status、Manager App、Host Manager报错

红框内的是不可用的,必须配置才能远程使用。

使用windows虚拟机搭建Ubuntu分布式Web开发环境(一)

没有设置远程使用Tomcat控制台的额外配置参数,图中红框内的功能不可用

第一步:在$tomcathome/conf/Catalina/localhost/下创建

manager.xml,填写以下内容,确保可以远程调用:

第二步:修改配置文件$tomcathome /conf/tomcat-users.xml,定义远程执行的用户名和密码

将以下代码添加到 $tomcathome/conf/tomcat-users.xml 中的标记中:

第三步:修改配置文件 $tomcathome /webapps/host-manager/META-INF/context.xml

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|172\.18\.5\.\d+" / >

即在Valve组件中的allow行添加172\.18\.5\.\d+

其中172.18.5.0这个网段是我配置的虚拟机的网段,可以根据不同的情况进行调整。

三个步骤完成后,就可以正常使用远程执行tomcat的控制台了。

8.应用服务器和数据库服务器安装

本文不讨论这方面的内容,留待后续补充

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]