Windows男孩如何从* nix web开发开始?

时间:2010-01-05 17:28:09

标签: ruby-on-rails linux apache

我已经成为Windows / M $男孩超过15年,并且使用Classic ASP和ASP.net专门从事网页设计10年。麻烦是我想要玩的所有最新的时髦语言(使用Python,Rails,NitroJS的Django)都是基于* nix的,并且经常在Mac上运行,所有人都使用Apache而不是IIS端口/版本的嗅探。

我使用Ruby on Rails很多,因为它在我的XP专业版开发设置中运行愉快,但是当它使用* nix在真实的实时服务器上启动并运行时,我真的非常努力。我想填补空白,希望跨越两个阵营,但不知道从哪里开始。

如何缩小我在* nix系统上运行网络应用程序的知识差距?我需要知道什么以及我在哪里可以找到它(书籍,链接等)?

SSH,隧道,chmod'ing ......对我来说都是希腊语:)

编辑:感谢你对这一切的所有重要答案,显然是神经紧张。各地的优秀建议。我本周末安装了Ubuntu来玩游戏,时间真的如此:)

8 个答案:

答案 0 :(得分:2)

听起来你需要首先处理* nix基础知识。其他一切都建立在此之上。例如,尝试使用PHP / Python配置您的普通Apache /如果没有这方面的知识,那将是非常艰难的 - 如果您可以首先进入服务器:)

考虑到这一点:http://www.amazon.com/Unix-Programming-Environment-Prentice-Hall-Software/dp/013937681X/ref=sr_1_1?ie=UTF8&s=books&qid=1262712609&sr=8-1。 Oldie但goldie,应该可以轻松访问来自其他环境的任何程序员。也许有人可以推荐这个的更新版本?

答案 1 :(得分:2)

我同意这里的其他人的意见,如果你想进入* nix管理,安装和实际使用 a * nix机器是一个很好的起点。如果你从未花时间在系统上,即使尝试托管一个简单的FTP服务器也会很痛苦。

如果你必须选择,我主张安装和使用Linux发行版,而不是购买Mac。别误会我的意思;我没有反对Macs,但我看到的Linux服务器比Mac服务器多了很多。而且我确信无论您使用哪个客户,都会感谢您使用免费操作系统设置服务器。

正如其他人所提到的,Ubuntu是一个很好的发行版,如果你之前从未使用过Linux。一旦你花了一些时间在Ubuntu上,随意尝试一些其他发行版,如Ubuntu Server EditionFedora。哦,并确保在重新分区硬盘和安装Linux之前备份数据。这很重要。

一旦你习惯使用Ubuntu(或者你安装的任何东西),你需要做的第一件事就是学习一些基本的命令行实用程序。来自Oracle的article是一个很好的起点。如果您想了解更多详细信息,则系列文章中会有more篇文章。

如果您遇到运行Linux的疑难解答问题,请使用support forums 。它们是宝贵的资源。如果您想要更正式的阅读(您可以),请尝试Essential System AdministrationLinux Administration for Beginners。我认为两者都会比这里列出的其他一些书更便宜,更新。

如果您想了解如何在* nix机器上托管Web服务器,我肯定会建议您了解一般的系统管理。当然,您不需要 知道如何设置cron作业来托管Web服务器,但从长远来看,它将使您的生活更轻松。


其他细节

Windows Vista和Windows 7(以及XP也可以使用)中有一个分区工具,可让您重新分区硬盘。在Windows XP中,您可以在“开始”菜单中找到分区工具>控制面板>管理工具>计算机管理>存储>磁盘管理。确保您在经典视图中查看控制面板。打开磁盘管理后,只需右键单击主分区,然后(在备份数据后!)缩小主分区。现在你有一些安装Linux的空间。

要安装大多数Linux发行版,请下载相应的.iso文件,将其刻录到CD,然后启动CD。使用像ImgBurn这样的程序将文件刻录到CD。从那里,安装非常简单。在调整分区大小的同时,在先前释放的任何空间上安装Linux。如果您注意到Linux同时创建了交换分区和常规分区,请不要担心;这是完全正常的(Windows制作交换文件,Linux使用交换分区)。

你会发现几乎所有提到的发行版都有32位和64位版本。 32位版本往往与某些硬件和程序稍微兼容; 64位版本更好地利用了您的硬件。例如,我在桌面上运行32位版本的Ubuntu,因为(不幸的是)其中只有一个32位驱动程序可用于无线网卡。此外,亚马逊只提供他们的MP3下载程序(lol),这是从他们那里购买音乐所必需的32位发行版。在我的笔记本电脑上,我运行64位分发,因为它更能够利用我有限的硬件。

答案 2 :(得分:1)

我是这样做的:

  1. 有一台Mac,开始将它作为我的主要非工作时间工作站用于实验性项目:iPhone应用程序,Automator脚本,Cocoa,Ruby。
  2. 在MacOS上安装了Mono,开始编写我在Unix环境中已经习惯的ASP.net内容。
  3. 渐渐地,我开始少用Windows。我确保我的所有.net项目都符合Mono标准,因此我可以在平台之间来回传送代码。
  4. 利润?
  5. 与你如何学习Unix并不是一样,因为你是一个有全职工作和生活的普通人,如何在不疯狂的情况下慢慢涉足Unix。

答案 3 :(得分:1)

我建议您在计算机或VM上安装UNIX,然后开始弄清楚。 Ubuntu是一款流行的Gnu / Linux发行版,它易于安装且非常简单。

有太多书籍浮现在脑海中,但真正让我从旧的DOS时代转向UNIX(Solaris第一)的是Kernighan和Pike的“Unix编程环境”。它现在有点过时,但它确实为您提供了一些关于人们如何在UNIX世界中做事的深刻见解。

一旦你可以在命令行上做事(我应该花几周时间),你可以尝试在你的机器上部署一个Rails项目,搜索链接,然后吸收任何你需要的东西来获得这份工作完成。我认为这比坐在一本书上并尝试从头开始阅读它以理解UNIX更有效。

祝你好运。

答案 4 :(得分:1)

Ubuntu linux是一个非常简单的起点:https://help.ubuntu.com/community/Installation

有一本好的介绍性书籍会有所帮助。当我开始时,我发现Harley Hahn的Unix / Linux指南非常有用:http://www.harley.com/books/sg3.html

我很敬畏ubuntu人员制作的东西是多么容易,并且让你自己的linux安装真正有用。

在家中使用linux的可能途径:

  • 从可启动CD安装Ubuntu

    • 在windows
    • 下载ISO文件
    • 在Windows下将ISO文件刻录到CD - 使用您喜欢的任何软件来执行此操作
    • 启动CD(确保您的BIOS允许您从CD启动)
    • 使用CD重新分区Windows机器,以便未使用的空间可以容纳Ubuntu

      • 我已经在笔记本电脑上使用windows vista完成了这项操作,并对它的操作非常容易感到惊讶......(当然,你应该首先备份笔记本电脑上的所有重要信息......)
    • 使用CD选项插入可以选择窗口或Ubuntu的启动菜单
  • 安装apache - 将帮助您了解web admin / sys admin
  • 安装php - 会给你带来一些有趣的玩法
  • 尝试编写一些基本的bash脚本 - 比如.bat文件,但功能更强大,是sys管理员概念的良好起点

答案 5 :(得分:0)

由于早期的挑战可能是使用命令行界面,我建议从bash脚本开始;它是一种易于学习的语言,与DOS批处理脚本相似(但功能更强大)。 Bash会让你开始使用命令行,因为它会大量使用常用命令和非常用命令。这是bash的绝佳指南:http://tldp.org/LDP/abs/html/

无论您使用的是Windows还是Mac OS,虚拟机都非常重要。我使用VirtualBox(免费),但Parallels也很好(虽然商业)。这将允许您设置几乎任何类型的Linux / Windows机器并摧毁它们而不受惩罚。

答案 6 :(得分:0)

如果你想在泳池里舔脚趾,Cygwin是个不错的选择。您可以将它安装在Windows框中,并开始在您已熟悉的系统上学习命令行。它使您可以访问许多优秀的* nix命令行工具(less,tail,ssh等)。它还为您提供了一种在Windows框中使用这些工具的方法,这些工具每天都在使用。

当我必须使用Windows机器时,我仍然经常使用它(在本地主机的SSH中,所以比启动DOS命令提示符更强大),当我最终离开Windows时,我做了更好的准备,因为我一直在使用CLI及其许多工具。

答案 7 :(得分:0)

这本书Running Linux很棒。使用Linux时非常方便的参考。

从基本命令行使用到管理和编程。几乎涵盖了你需要知道的一切。