×

Loading...

@Vancouver

Topic

  • 工作学习 / 学科技术讨论 / 如何从零开始在家里架设一个网站?
    本文发表在 rolia.net 枫下论坛大概步骤如下:

    1)你需要在GoDaddy.com上购买一个域名,.Com域名一年10$,比如www.yahoo.com这就是个域名(Domain Name)。但是光有域名还不够,因为计算机不懂域名,只懂IP地址,比如24.133.166.55,每一个域名必须对应一个唯一的IP地址。比如www.yahoo.com对应的就是24.133.166.55(假设),一个域名所对应的IP地址是可以随时更改的,比如24.133.166.55这个IP的服务器坏掉了,那么Yahoo的工作人员就可以登录GoDaddy.com把www.yahoo.com的IP更改为另外一个有效的IP地址

    一般来说,如果你通过goDaddy购买域名,那么goDaddy会自动给你的域名分配一个IP,当然这个IP是指向GoDaddy的一个Demo网页的,你需要手动改动IP让它指向你的服务器

    2)找服务器host你的网页内容,很多方法,包括用WordPress,都不错,只是俺不会用。我所能教你的是最直接的办法:把内容host在你家里的电脑,如果不是大规模的商业运行,足够用了,就是费点电,要24小时开机。

    那么这涉及到一个问题,如何把你的域名mapping到你家里的电脑?这里我必须讲一下网络的基本原理,你家里的电脑是通过一个路由器(router)连接到互联网,这个路由器在互联网上有一个唯一的IP地址,也就是互联网地址,同时要注意,你通过路由器连接到互联网的电脑IP地址并不是互联网地址,只是这台路由器的“内部网”地址,如果你在command窗口下输入ipconfig,你会看到你的电脑IP地址为: 192.168.1.XXX,凡是以192.168开头的地址在互联网上都被认为是“内部网地址”,一旦互联网上的电脑碰到以 192.168开头的包,这个包会被自动的抛弃。

    好了,回到正题,如何找到你的路由器在互联网上的IP地址?最简单的方法是访问这个网站:http://checkip.dyndns.org/ ,它会告诉你你的router互联网IP是多少

    3)现在两个最重要的要素都有了,域名和IP,现在登录GoDaddy把你的域名所对应的IP改成你家里的router地址

    4)架设网站:现在需要在你的电脑上架设网站,这样,别人输入你的域名,你的网站才能有所回应,有很多免费的,阿帕奇,linux啥的,但是俺不会,也不敢兴趣。俺介绍一下Visual Studio 2013和IIS

    首先确保你的电脑启动了IIS,启动之后在浏览器的地址栏输入 http://localhost,应该会看到一个IIS的欢迎画面,这代表你的第一个网站已经架设成功,现在把你的手机断开wifi,使用3G上网,在手机地址栏里面输入你的路由器互联网IP: http://routerip.. 看看能不能看到同样的IIS欢迎画面?如果看不到(我估计99%都看不到),不能访问,你必须设置你的路由器的Port Forward

    为啥要设置Port Forward?

    前面讲过,路由器地址是是你在的internet上唯一可以被识别的地址(拿北韩歌颂金三的话说就是:我们只认它(router)),但是网站host在你的windows pc上,你必须告诉路由器,如果有网站的请求(就是所谓的HTTP Request)跑到我的路由器上,请让路由器把这个HTTP Request forward到我的启动IIS的Web Server上,这样我的IIS就可以处理进来的HTTP request了,这就是Port Forward

    如何设置port forward:拿我的linksys router举例:

    首先找到router在内部网的IP地址,在cmd下输入ipconfig,你会看到有一个Gateway IP Address,这个Gateway就是你的路由器在内部网的地址,一般都是
    Default Gateway . . . . . . . . . : 192.168.1.1

    启动浏览器,在浏览器地址栏中输入 http://192.168.1.1

    会弹出登陆router的设置页面,要输入用户名和密码,对linksys来说,用户名和密码一般都是 admin

    进入页面之后,点击 Applications & Gaming,你会看到一排可以设置的Port Forward列表,随便找一个空白不用的

    随意输入一个名字,在External Port, Internal Port中输入80端口(因为Http request 只访问80端口)在 To Ipaddress一栏输入你的Web Server的IP(router 的内部网的IP),然后Check Enabled,保存
    就这样
    然后用你的手机继续测试,输入 http://routerIP,你应该可以看到你的IIS欢迎界面了

    如果这一步通过了,输入你刚刚注册的域名 www.yourDomainName.com,同样的,你也应该看到你的IIS欢迎页面

    这样,一个在你家里面hosted web site就完成了,恭喜恭喜,you can do whatever you want to your web server

    唯一的缺点,ISP运营商,Rogers或者Bell,会定期的修改你的router的互联网IP地址,如果碰到这种情况,你只能登陆GoDaddy去修改你的网站域名所对应的IP地址,据说这样会导致你的域名24-48小时内不能用,不过我测了下,好像20分钟就可以,没那么玄乎

    如果你嫌这样太麻烦,可以申请一个static的IP地址,也就是商业IP地址,多交点钱就是了。不过这个我没试过,只是听人们传说有这个可能更多精彩文章及讨论,请光临枫下论坛 rolia.net
    • 对了,如果就是自己玩玩,完全可以不用注册什么域名,略过第一步就好,就用家里router的IP address当你的网站地址。那些准备面试web职位的,临时在家host一个web server,把自己的得意作品放上去,URL放在简历里,很惬意的
    • 【精华】 补充一点:web server 可以用 tomcat,很容易安装。用 tomcat,就可以用 Java 做动态网页,想学编程的网友可以从此入手。tomcat 很流行,大公司都用的。
    • 很不错,正想自己架一个, 谢谢分享!
    • 难道不需要在godaddy 里设置域名的DNS?好像每个域名应该指向DNS 的IP ADDRESS. 你家里电脑要装一个DNS server. 不知道windows是否需要设置这个。
      • 使用动态DNS...
      • 不需要,我帖子里写的就是我自己搭建网站的全部过程,没有任何额外的步骤
    • 关于第2点不是很懂.
      godaddy上不是有各种计划,和你说的是一回事吗?
      • 应该不是一回事,我相信你可以把你的网站host在goDaddy上,但是host在家里的优势是你完全控制你的服务器,你可以随意安装你喜欢的数据库,添加内存、硬盘等等。这些操作在goDaddy上是不可能让你做的
        • 谢谢回答.还是有点不明白
          添加内存和硬盘是为了更快更大吧?但是godday 上的host plan有的是无限的吧
        • 提个建议,初步玩玩,练手的还是用godaddy的入门级服务,虽然灵活性性低点,刚好够,技术熟练人士才在家搞
    • 以你的经验,ISP运营商大概多长时间修改一次你router的IP地址?
      • 没啥规律,一个月到半年都有可能
      • 平均一年一次吧,bell 和 rogers 我都用过。
    • 申请Static IP很容易。有的ISP不另收钱,有的收4-5块钱。 如果不申请Static IP也很方便。google 一下 dynamic DNS,有很多网站提供免费的动态DNS服务,如果你的IP改变了,DNS会自动更新为新的IP。
      用dynamic DNS, 你甚至不用在godaddy申请域名,只不过dynamic DNS不能提供 .com域名,只能提供指定结尾的域名,比如说 .ddns.net。
    • LZ 写得非常好,基本上该说的都说了。我原来用跟你同样的方法,但是最终还是放弃了。原因:速度慢,费电,综合成本比VPS高多了,如果不是特别的应用根本划不来。
      • 不错,能否推荐几个VPS运营商?
        • $30/year coupon code: MERRYCHRISTMAS https://billing.chicagovps.net/cart.php?a=add&pid=239&billingcycle=annually
          Professional OpenVZ SSD Cached VPS: 1024MB (1GB) RAM 30GB RAID-10 Protected SSD Cached Disk Space 1.5 TB Monthly Bandwidth 1x IPv4 Address Instant Setup OpenVZ Available in 6 locations: Chicago, Buffalo, Los Angeles, Atlanta, New Jersey, or Dallas! Price: $83.88 $30/year! (Over 60% OFF recurring) Order: https://billing.chicagovps.net/cart.php?a=add&pid=239&billingcycle=annually Use promo code MERRYCHRISTMAS to claim your locked in, discounted pricing of $30 per year!
          • 请问如何在CHICAGOVPS 的环境下,实施 webhosting,email server? 请PM你的联系方法。我想请教你。谢谢!
        • VPS: $5/Month 512MB Memory 1 Core 20GB SSD Disk 1TB Transfer
          • 请问安装digital ocean cPanel 里 Applications 1-Click Application Installs, 有那些FREE的软件, 如wordpress, 还是要自己买需要的软件?
    • my personal opinion: godaddy is not flexible enough (if you use vps or ps, then it is totally different, but it will be very expensive about 50-200 per month).
      let us talking about shared hosting:
      it is better to have the ssh service if you use linux server. otherwise it will be very painful to maintain the server (do routine job). web control panel usually is not enough for a serious website (especially web app, not just some dynamic page+static html)

      but godaddy is good start for the beginner.
    • Just FYI, Rogers (not sure about Bell) do telnet 80 port for their customers IPs randomly, they will send your warning letter when they catch you at first time. They want you spending more $ on their business plan.
      "Hosting your own game or Web server can also run afoul of ISP restrictions, either because ISPs block the ports you want to use or because running servers on a home connection violates the ISP's terms of service."