本地机器上的 Web 服务器,有啥陷阱吗?
Posted
技术标签:
【中文标题】本地机器上的 Web 服务器,有啥陷阱吗?【英文标题】:Web server on local machine, are there any gotchas?本地机器上的 Web 服务器,有什么陷阱吗? 【发布时间】:2014-03-06 09:28:09 【问题描述】:如果我使用 xampp 或其他一些软件在我的 PC 上设置本地“网络服务器”,因为我还没有主机,我是否应该期望一些可以在网络上运行的 html、javascript 或 php 代码不会在本地网络服务器上工作,或者它实际上是与实际网络服务器相同的测试环境?
【问题讨论】:
不是一个真正的问题。但这就是 xampp、wamp 等的重点。它们或多或少应该起到真正的服务器的作用。我认识的大多数开发人员都在本地进行开发。 在网络上运行的代码应该在本地服务器上运行 有一些例外,比如邮件,这通常是一个真正的痛苦。 【参考方案1】:如果您的代码与主机系统(操作文件和目录、运行操作系统命令)或其他程序(如邮件程序)交互,那么当您从 Windows 机器移动到真正的主机(即很可能是linux)。此外,如果您使用任何非标准的 php 模块,让它们在 Windows 上运行可能会很麻烦。
使用 linux 安装虚拟机并在其本地环境中运行 web/db 服务器可能是比 xammp 或类似工具更好的选择。这个配置更难设置,但从长远来看更方便灵活。流行的 VM 运行器是 VirtualBox、Parallels 和 VMWare - 用谷歌搜索它们。
【讨论】:
【参考方案2】:确保您运行的服务版本与您的主机提供的服务版本相同。这将对您有所帮助:http://www.host-shopper.com/basic-web-hosting-options.html
【讨论】:
【参考方案3】:一个很大的区别是操作系统特定的目录结构;我使用的是 windows 计算机,但 LAMPP 是在 linux 服务器上,所以我必须牢记这些差异。
在我的电脑上,webroot 是
C:\xampp\htdocs
在我的 XAMMP linux 机器上,webroot 是
/opt/lampp/htdocs
但在我的 apache linux 机器上,webroot 是
/var/www/
或
/var/www/html/
这些设置通常反映默认值,它们可以在您的服务器配置中更改,但就试图在服务器上转储一些本地代码而言,这将是一个很大的问题,任何绝对路径引用都可能会崩溃和烧毁。
【讨论】:
【参考方案4】:我能想到的主要问题是 localhost 上的子域,但你现在应该已经准备好了。
顺便说一句,一旦你设置好了,我建议你去看看 GitHub,这样如果你破坏了你的网站,你可以恢复。
【讨论】:
以上是关于本地机器上的 Web 服务器,有啥陷阱吗?的主要内容,如果未能解决你的问题,请参考以下文章