Hosting Rails - 走 VPS 路线?
我是一名专业的windows/.Net开发人员,一直在慢慢学习rails/ruby/python/等。在我的空闲时间。在过去 8 年左右的时间里,我也一直在使用各种 Linux 发行版。然而,我绝对不是一名 nix 系统管理员。
我现在正想开始在 Rails 中做我的副业项目。在我对托管的搜索中,我发现 Rails 的共享托管具有限制性且缺乏控制。我希望能够运行我想要的任何 ruby/rails 版本。我正在考虑尝试一下,从 linode 或 slicehost 等公司获得一个便宜的 VPS 计划,然后自己做。最终,我将首先托管 1 或 2 个在 MySql 上运行的低容量 RoR 应用程序。我是不是陷入了困境?整个“维护”部分让我有点犹豫。同时,这将是一次很好的学习经历。
使用 Virtual Box 在虚拟机上安装 Ubtunu 服务器之类的东西是否有意义,以便我可以进行试运行?如果是这样,你能推荐一些指南、书籍或者我真正需要注意的一般事情吗?
I am a professional windows/.Net developer who has been slowly learning rails/ruby/python/etc. in my free time. I have also been playing with various Linux distros over the past 8 years or so. One thing I am definitely not, however, is a nix Sys Admin.
I am at the point where I want to start doing my side projects in Rails. In my search for hosting, I am finding shared hosting for Rails to be restrictive and lacking in control. I want to be able to run whatever ruby/rails version I want. I am thinking about taking the plunge and getting a cheap VPS plan from something like linode or slicehost and just do it myself. Ultimately, I will start by hosting 1 or 2 low volume RoR apps running on top of MySql. Am I getting in over my head? The whole "maintenance" part makes me a little hesitant. At the same time, it would be a great learning experience.
Would it make sense to install something like Ubtunu server on a VM using Virtual Box so I can do a trial run? If so, can you recommend guides, books, or in general things I really need to watch out for.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
DotCloud 和 Heroku 是两个不错的选择。管理自己的服务器(使用 Linode/SliceHost/EC2)的最大缺点是您提到的系统管理。您必须非常小心安装的内容和打开的端口。
我已经从事兼职管理工作几年了,犯了一个简单的错误,将 postgres 的密码设置得足够简单,导致有人侵入我的 Linode 盒子。就在我犯下这个错误的几个小时后,我必须在 24 小时内修复该错误,因为 Linode 的系统管理员收到了有关该错误的通知。这些服务(Linode 等)都有关于如何保护您的盒子的指南,因此请一旦您决定要使用此类服务,请务必阅读它们。最基本的做法是锁定 SSH,但如果您不遵守安全策略,有很多方法可能会导致您陷入困境。
DotCloud and Heroku are 2 good options. The biggest disadvantage to managing your own server (using Linode/SliceHost/EC2) is the system administration that you mentioned. You have to be very careful in what you install and the ports that are open.
Ive been doing part time administration for a few years now and made a simple mistake of making postgres' password simple enough and that caused someone to hack into my Linode box. This was just a few hours after I made that mistake and had to fix that within 24 hours as Linode's sysadmins were getting notifications about that. Each of these services (Linode etc) have a guide on how to secure your box , so please make sure that you read them up once you decide that you are going to use such a service. The most basic thing to do would be to lock down SSH but there are many ways by which you can get screwed if you dont follow the security policies.
如果您有钱购买一台完全托管的 VPS。这消除了处理服务器事务的大量麻烦,同时您可以专注于正确处理轨道。 LiquidWeb 是我的最爱,并且在我看来拥有最好的支持,但我在 HostGator 上也获得了一些很好的体验。不过,多逛逛,你可能会找到更合适的。
使用 Linux 设置 VM 是一种很好的练习方法,不过您最好选择最终 VPS 将使用的发行版。目前 CentOS 似乎是主机的首选,尤其是在价格较低的主机上。
Go for a fully managed VPS if you have the money for one. That takes out a lot of the ball ache from handling the server stuff while you can focus on getting rails right. LiquidWeb is my favourite and has the best support out there in my opinion, but I've had some good experiences with HostGator too. Shop around a bit though, you might find something more suitable.
Setting a VM up with linux is a fine way of practicing, though you'll be better off going with a distro that your eventual VPS will be using. CentOS seems to be the preferred one by hosts at the moment, especially on the lower priced hosts.
我不同意其他答案。如果您明智,并且了解端口是什么,那么确实没有那么多需要管理的内容:
cron、ntpd、sshd 和 rsyslogd 的默认配置将开箱即用,在 Ubuntu 上运行良好。
以上所有内容都很容易学习,有很好的文档记录,并且在 https://superuser.com/ 上提供了大量帮助,并且IRC 和许多其他地方。
是的,有一个学习曲线。不,我不建议从银行应用程序开始。根据我的经验,这一切都在任何具有大学水平计算知识的人的能力范围内。
PS
使用(最新)LTS 版本的 Ubuntu。
I disagree with the other answers. If you're sensible, and understand what a port is, there's really not that much to administer:
The default configuration of cron, ntpd, sshd and rsyslogd will work fine on Ubuntu out of the box.
All of the above are easy to learn about, very well documented, and there's bucket loads of help available on https://superuser.com/ and IRC and many other places.
Yes, there's a learning curve. No, I wouldn't recommend starting with a banking app. In my experience, it's all very much within the capability of anyone with a university level knowledge of computing.
PS
Use the (latest) LTS version of Ubuntu.