![设置测试服务器](https://linux22.com/image/488460/%E8%AE%BE%E7%BD%AE%E6%B5%8B%E8%AF%95%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我想在我的家庭网络上设置一个测试服务器,这样我就可以在本地开发我的网站,并在解决问题后更新我的网站。今年夏天我开始学习 php(我是所在大学的学生工),在工作中,我们将网站设置在 subversion 存储库中。然后,我们在与实时网站不同的开发网站上开展工作。当需要更新实时网站时,我的老板会“复制”(我想我不确定)存储库数据到实时网站。似乎我的老板不必更改代码中的任何链接等。我认为它“正常工作”的原因是因为网站上的每个人都使用不同的 URL 访问开发网站。我的问题是:我如何为自己实现相同(或类似)的服务器设置?如果您想知道,我正在使用 Ubuntu 9.04 桌面版,以及(我认为安装正确的)LAMP 服务器。
答案1
我假设“幕后”有一个脚本,用于从存储库中检索最新更新,然后替换一些数据。例如,如果开发站点是 dev.net,生产站点是 prod.net,则该脚本会将所有出现的 dev.net 替换为 prod.net,此外,该脚本还需要检查与数据库的连接是否指向正确的数据库服务器。
答案2
使用 apache 托管网站。如果缺少 apache、mysql、php 中的某些内容,您可以使用 apt-get 或 synaptic 安装。网站只需复制即可运行,可能是因为使用了相对链接而不是绝对链接。
例如,如果你想链接到文件夹 a 内的文件夹 b,那么有两种方法
<a href="b/other.php"> Link </a>
和
<a href="http://localhost/a/b/other.php"> Link </a>
第一个是相对链接,第二个是绝对链接。如果您只使用相对链接准备网站,则网站将通过复制粘贴运行,不会出现任何问题。
答案3
他不必更改链接的原因可能是因为应用程序中的所有内容都使用相对 URL。因此,指向页面的链接将是“/services.html”,而不是“http://www.mydomain.com/services.html“。
实时站点实际上也可能位于存储库中,在这种情况下,你的老板可能有一个脚本,可以将最新版本从开发存储库下载到生产存储库,然后提交生产存储库。