我正在为一家使用 Amazon EC2 的初创公司做一些兼职工作 - 他们在云中配置了一台 Windows 服务器,需要运行一些仅适用于 Windows 的软件,但他们的主要产品是基于 PHP 的 Web 应用程序;我想配置一台 Linux 虚拟机,这样我就不必处理在 Windows 机器上使用 WAMP 时出现的任何异常(也可以使用cron
在 Windows 上不起作用的东西)。虽然我涉足过服务器,但我对整个虚拟化事情还很陌生。
对我来说,最快启动和运行它的方法是什么?我没有预算为这个项目购买软件,所以我需要使用免费工具;我可以下载类似 VirtualBox 的东西并通过它配置 Linux 服务器吗?设置虚拟服务器以便可以像完全不同的服务器一样通过互联网访问它,我应该知道什么奇怪的事情吗?或者它与“真实”服务器相同吗?
答案1
答案2
如果您可以访问裸机,我建议您使用 ESXi(VMWare,免费),并将 Windows 放在一个主机上,将 Linux 放在另一个主机上。这将为您提供最佳性能。
如果您只能访问 Windows 操作系统,但可以在其上安装软件,则可以使用 VMWare Server 2.0(VMWare,免费)。它将作为 Windows 服务运行,您的 Linux 操作系统可以在其中运行。性能不会那么好,但如果您无法访问裸机,这是您唯一的选择。
其他选项包括 Virtual PC(Microsoft,免费),但它不是一项服务。Virtual Server(Mircosoft,免费)作为服务运行,但我更喜欢 VMWare Server 2.0。还有 Sun 的 Virtual Box(免费),但它的成熟度不如上述任何一款产品。
VMWare 的游戏是虚拟化,因此我会坚持使用它们进行生产。至少目前如此。
设置虚拟服务器操作系统后,按照通常方式设置远程访问(可以使用控制台窗口进行安装)。然后,像访问任何其他服务器一样访问它。
答案3
正如 LEAT 所提到的,VMWare 提供了一个稳定的虚拟化平台。最快的方法是简单地(安装 VMWare 后)创建一台新的 VMWare PC,然后像安装全新计算机一样将系统安装到该 PC 上,然后在其上安装软件。如果您知道以后要在相同的硬件上运行相同的虚拟机(例如在拥有标准笔记本电脑的公司中),那么请在完成后继续创建虚拟机的映像以节省下次的时间。
关于您的网络问题,您可以让虚拟机控制网络接口(如果您有多个网络接口,这是一个很好的选择),或者您可以将虚拟机 NAT 到虚拟 IP(我很确定 VMWare 已经为您设置好了)。
虽然使用虚拟机进行网络连接效果很好,但您应注意 USB 和串行端口。USB 端口对于某些设备来说可能有点奇怪,而串行端口则可能非常麻烦。如果您的服务器不需要访问任何这些端口(听起来您不需要),那么您应该不会遇到问题。
祝你好运!
编辑:这些是免费 VMWare 产品的链接。
ESXi:https://www.vmware.com/tryvmware/index.php?p=free-esxi&lp=1
答案4
我会为此选择 VmWare 并选择 OpenBSD 作为操作系统,这里有一些关于制作 apache/php/mysql 堆栈的提示,你应该很快就能完成:):
安装 mysql;
# pkg_add ftp://你的镜像站/pub/OpenBSD/4.5/packages/i386/mysql-server-5.0.77.tgz #mysqld_safe& 安装mysql数据库 #mysql_secure_安装
将其添加到您的 /etc/rc.local 以启动 mysql,并通过套接字链接进入 apache 的 chroot:
如果 [ -x /usr/local/bin/mysqld_safe ]; 那么 rm -R /var/www/var/运行/mysql mkdir -p /var/www/var/run/mysql chown _mysql:_mysql /var/www/var/run/mysql /usr/local/bin/mysqld_safe --user=_mysql & 睡 10 ln -f /var/run/mysql/mysql.sock /var/www/var/run/mysql/mysql.sock 菲
然后您可以安装 php 支持:
# pkg_add ftp://你的镜像站/pub/OpenBSD/4.5/packages/i386/php5-core-5.2.8p0.tgz # ln -s /var/www/conf/modules.sample/php5.conf \ /var/www/conf/模块
接下来编辑 /etc/rc.conf 并更改 httpd 标志以使其在启动时启动,如果我没有忘记什么,那你就准备好了。