我使用我的 Ubuntu 9.10 开发机器为我的网站编写了许多 C++ 服务器端守护程序。
我上面提到的 C++ 应用程序是“无 GUI”守护进程(以及守护进程使用的库)。
我现在即将托管我的网站,需要决定使用 Debian 服务器还是 Ubuntu 服务器。
简而言之,情况如下:
- 我在 Ubuntu 桌面上进行开发,因为我更喜欢更友好的 GUI
- 我想在 Debian Server 上部署,因为(察觉到了吗?)Debian 服务器相对于 Ubuntu 服务器的稳健性(我可能完全错了 - 事实上,这才是这个问题的真正意义所在)
- 如果 Debian 服务器确实比 Ubuntu 服务器更强大,那么我别无选择,只能使用 Debian 服务器 - 但是,我的 Ubuntu 开发的 C++ 应用程序可以在服务器上运行吗?(或者我是否需要在服务器上重新编译它们?(我讨厌这样做,因为我想让服务器机器保持干净和轻便 - 没有 GUI,没有开发工具等)。最后一个问题实际上是关于 Ubuntu 和 Debian 之间的二进制兼容性。
我希望服务器强大、安全、稳定,并且仅充当服务器(即 LAMP,其他功能很少 - 没有 GUI 等)。考虑到这个要求,以及我需要运行我的 C++ 应用程序(在 Ubuntu 9.10 上开发),
我需要有关为服务器选择哪种操作系统的建议。理想情况下,任何建议都应有理由支持。我特别想听听那些经历过相同情况或做过类似事情的人的意见。
答案1
此外,每隔几周似乎就会出现一个新的“补丁” - 我不希望服务器出现这种情况(我想让服务器保持原样,让它继续提供页面服务)。
你这样做是错的。
Debian 稳定版的安全策略非常出色,如果他们提供安全更新,则意味着他们修复了某些存在安全漏洞的软件包。您实际上没有不更新的选择,否则您迟早会被黑客入侵。
当然,您可以编写一个脚本,每天自动调用更新和升级,但您最好亲自关注您的服务器。
我不想费力学习新操作系统
ubuntu 只是一个针对桌面使用而修改的 debian:可能不会有任何问题。
答案2
我使用 Ubuntu 和 Debian 的经验使我选择在服务器上使用 Debian - 他们更加注重稳定、可靠的版本以及在服务器领域的历史,而我使用 Ubuntu 的经验则相当不平衡。
话虽如此,这只是我的个人经验;我知道有人在 Ubuntu 上运行服务器场,所以这并非不可能。
如果您确实选择了 Ubuntu,请务必选择 LTS(长期版本),这样您就可以获得 3-5 年的错误修复/安全支持,而不是常规 Ubuntu 版本的 18 个月。
最后,Florian 非常正确,最好有一个可以反映生产环境的本地环境;实现此目标的最佳方式可能是使用 Xen/KVM/etc 客户机以及您的服务器所构建的任何内容。
答案3
只是一个可以考虑的替代方案 - 运行一个小型虚拟机在运行 Debian 服务器的 Ubuntu 主机中。这样做的目的是生成 Debian 软件包。您可以用所需的尽可能多的开发人员软件包和所有必要的构建工具污染此 VM。然后,使用命令行编译和构建您的软件包以进行部署。不是最优雅的解决方案,但它应该允许您在 Ubuntu 上完成 90% 的开发并部署一个可以在 Debian 上运行的二进制包。
答案4
如果我理解正确的话,您主要通过图形用户界面使用计算机,我猜您在只有命令行的计算机前可能会有点不知所措。用户界面确实会发生变化,但请记住,两者都使用 GNOME,并且没有太大区别。但 Debian 确实更粗糙。
关于更新,Debian 也定期更新其稳定版本,几乎每天都会更新。至于二进制兼容性,最好的方法是针对您要部署到的目标系统重新编译您的软件,即使它应该按原样运行,只要您使用的版本大致相同即可。
考虑到这一点,我有同样的感觉,ubuntu 可能对你来说是更好的选择。