如何创建虚拟web开发环境和服务器

那么,如何平衡您的多任务能力和在本地环境中开发web应用程序的需要呢?输入虚拟机。...

在过去的几年中,Windows和macosx作为开发人员友好的操作系统已经取得了进展,但是每个web开发人员都需要在web的原生环境Linux中工作。

virtual-web-dev-environment

本文将向您展示如何做到两全其美:坚持使用稳定且对消费者友好的操作系统(如Windows或OSX)来满足您的日常需求,同时收获在与生产代码相同的生态系统中开发的好处。

介绍

很多web都运行在开发人员称之为“LAMP stack”的平台上,这个缩写词意味着Linux、Apache、MySQL、PHP捆绑在一起,就像你通常理解的web服务器一样工作。(一个密切相关的堆栈或一组技术是“LEMP”,其中“E”来自Apache的替代品Nginx的发音,称为“engine x”)

您可能注意到这里显式地包含了Linux,但开发人员推荐Linux的原因不仅仅是这个。其他技术—Apache(或Nginx)、MySQL和PHP—都有不同的工具和实现,可用于不同的平台,但由于历史和技术原因,基于Linux的配置占据了服务器空间的主导地位,而且往往更具可预测性。

007Ys3FFgy1h1onpm1ocnj3046046glg

可预测性和可靠性也是您希望在一个仅用于此目的的操作系统上开发的重要原因—一个专用的操作系统,而不是一个支持您作为web开发人员每天执行的无数任务的操作系统。换言之,您不希望在安装新图形驱动程序时需要重新启动的同一操作系统上运行服务器,也不希望在需要打包放进背包才能上路的机器上运行。一句话,在混合使用机器上运行服务器所需的进程和软件是混乱的。

那么,如何平衡您的多任务能力和在应用程序的本地环境中开发的需求呢?

输入虚拟机。

虚拟机与流浪汉

虚拟机是在主操作系统中运行的程序。它们有效地允许您在一个窗口中运行一个完全独立的操作系统,完全独立于物理机器上发生的任何事情,但要付出一些开销。

然而,优点有很多:

  • 安装、配置或删除软件时出错?没什么大不了的,你可以用一个全新的形象重新开始。
  • 你的实验有没有灾难性的失败并冻结了它周围的操作系统?同样,这不是问题,因为只有虚拟机受到影响。
  • 您需要在稍微不同的条件下迭代吗?每一组条件,如不同的软件版本或不同的软件(例如,使用Apache和Nginx),都可以成为一个单独的软件机或虚拟“盒子”

virtual-machine-linux

一个名为Vagrant的工具将帮助您部署包含各种风格的预配置Linux操作系统的“基本盒”。

本文假设您可以在没有GUI的情况下单独通过命令行界面(CLI)操作虚拟机。

在配置基本框之前,让我们先获得一个虚拟机提供者和Vagrant。

  1. 确保您的操作系统有一个虚拟机提供程序。Windows和Mac OSX都可以使用虚拟盒。VMware也在这两种平台上运行。(Windows 10 Pro及更高版本可以使用Hyper V,这是一个进步,因为它更好地利用了硬件。)
  2. 访问Vagrantup.com并选择合适的安装程序。
  3. 在本地目录树结构中,创建一个新文件夹来存放该框。(从属于您的用户配置文件的位置工作得很好,而系统目录中的位置通常不工作。)

web开发环境配置

自动化的魔力就在这里发生:一个名为PuPHPet的工具浓缩和GUI化了选择和配置LAMP中常用软件的过程,甚至通过添加对Ruby和GUI等服务器端语言的支持而超越了这一点节点.js(从技术上讲,JavaScript并不完全是服务器端的,但这种类型是),以及灯管其他部件的替代品。

PuPHPet为Vagrant创建基本配置文件。这个向导包括20多个不同的维度要配置,所以我只讨论一些最重要的维度。

007Ys3FFgy1h1onpnf6mkj30im07rmxf

  • 部署目标——在这里,您可以选择是创建适合VirtualBox、VMWare等的映像,还是创建适合AWS或Digital Ocean等云计算基础设施的映像。
  • System > Packages -- You can include any software here that you'd install as you would on a normal installation. In particular, you should include whichever packages you use for development that are included in the base of the OS distribution.
    • To include development dependencies for Ubuntu, specify build-essentials
    • To include the same for CentOS 7, specify "Development Tools"
  • Web服务器——选择Apache或Nginx作为L(A | E)MP堆栈的主干。
  • 语言——PHP,Ruby,节点.js,蟒蛇。
  • 数据库——这种方法最吸引人的特性之一可能是能够构造虚拟机来处理各种可用的数据库。虽然MySQL是默认的,但您可能希望使用MariaDB之类的更新版本。
  • 其余的选项有些异国情调,如果您不知道它们是什么,可以稍后再安装。毕竟,你拥有的是一个完全成熟的操作系统。

PuPHPet将在配置过程结束时生成存档。将其解压缩到配置新服务器参数之前创建的目录。

现在,执行以下操作:

$ vagrant up

观察结果:

007Ys3FFgy1h1onpoenqqj30im06tjs2

由于本地目录中没有基本框,vagrant将从Atlas检索图像,Atlas是预先配置的vagrant框的存储库。

(从技术上讲,可以通过发出以下命令将其中任何一个添加到本地计算机:

$ vagrant box add USER/BOX

)

总结

在这一点上,你的虚拟机启动,你基本上是在线的。只剩下一件事:发出命令

$ vagrant ssh

让你自己进入一个合适的SSH会话,让你的(无头)VM充当LAMP服务器。恭喜!

了解更多

从这里开始,在流浪汉中有更多的话要说,也有更多的事要做,正如你所知道的,用你自己的发展操场来完成无**的工作。请查看官方的入门指南,以了解我所说的内容。

您是否曾经在自己的开发环境中使用过虚拟机?你是使用这个设置还是采取了不同的方法?在下面的评论部分分享你的想法!

  • 发表于 2021-03-15 21:34
  • 阅读 ( 234 )
  • 分类:编程

你可能感兴趣的文章

如何使用cloud9在虚拟服务器上免费安装wordpress

建立一个本地的WordPress服务器并运行起来是非常复杂的。如果您是经验丰富的开发人员,那么使用XAMPP或WAMP设置本地服务器是有意义的。但是如果你是一个初学者,只想搞乱一个自托管的WordPress安装(这与wordpress.com网站),看看...

  • 发布于 2021-03-14 04:53
  • 阅读 ( 217 )

qubes os 3.2:最安全的linux操作系统

...例如,Kali Linux是一个道德黑客和渗透测试Linux发行版。有服务器Linux操作系统、media center Linux发行版等。 ...

  • 发布于 2021-03-14 14:08
  • 阅读 ( 468 )

如何选择正确的web编程语言

...pt在流行程度上超过了PHP和Java。诸如此类的节点.js,一个服务器端JavaScript环境,使用JS作为主干。 Java——不要混淆JavaScript和Java。Java是编程社区中长期存在的主流。因为它已经存在了20多年,有一个庞大的专门社...

  • 发布于 2021-03-16 01:36
  • 阅读 ( 232 )

每个程序员都应该知道的13个最好的浏览器ide

...了通过代码创建交互式艺术的工具。与安装库和运行本地服务器不同,p5.jsweb编辑器允许您即时在线编码。 ...

  • 发布于 2021-03-21 19:14
  • 阅读 ( 437 )

微软红心程序员!ms提供的11个免费开发工具

...案 带有自动完成、调试器、数据库集成、服务器设置和配置 为各种不同的应用程序类型提供源代码控制、错误跟踪和部署工具 最适合.NET开发人员 对于在iOS、Android和Windo...

  • 发布于 2021-03-22 05:32
  • 阅读 ( 397 )

如何设置自己的wamp服务器

...机。web宿主运行在一个很可能运行某种形式的Linux的远程服务器上。 ...

  • 发布于 2021-03-23 15:33
  • 阅读 ( 268 )

什么是paas(平台即服务),它如何改变计算?

...过包含IaaS,您将不必担心管理项目所需的基础设施,从服务器到存储和网络。除了节省时间和精力之外,使用PaaS还意味着不需要从头开始创建和管理平台。 ...

  • 发布于 2021-03-28 21:10
  • 阅读 ( 207 )

如何有效地创建和管理python虚拟环境

... 让我们研究一下如何使用各种可用的管理工具创建和管理Python虚拟环境。 ...

  • 发布于 2021-03-30 13:53
  • 阅读 ( 242 )

2021年及以后如何使用adobeflash

...换Flash内容,访问者无需下载。 如果遇到问题,请确保web服务器配置为正确提供.WASM(web程序集)文件。请记住,游客将需要点击一个“播放”按钮的荷叶边工作。 那些旧的flash游戏和卡通片呢? 如果你想沿着记忆的小路旅行,...

  • 发布于 2021-03-31 18:59
  • 阅读 ( 234 )

创建最终的firefox web开发配置文件

...的同时启动一个单独的配置文件。还有一个更详细的解释如何做到这一点。 firefox.exe -P WebDev -no-remote 现在,您已经为Firefox配置了一个单独的配置文件,只用于web开发,让我们来看看我们可以用来使Firefox成为最终web开发工具的扩...

  • 发布于 2021-04-14 13:14
  • 阅读 ( 147 )
闷骚Di
闷骚Di

0 篇文章

相关推荐