你有空吗?跟我一起搭个服务器好不好?
昨天闲的没事的时候,随手翻了翻写过的文章,发现一个很严重的问题。就是大多数时间我都在滔滔不绝的讲理论,却很少有涉及动手操作的文章(比如这篇《大年初四,让我们一起来动手撸代码吧》)。对程序员来说,丰富的理论姿势虽然很重要,但没有实战经验,就好像阅片无数却依然无从下手一样,注定是无法性福的。
现在我决定弥补一下。你只需要抽出5分钟喝咖啡的时间,跟我一起动动手,就可以搭起一台服务器来取悦自己,只要5分钟哦有木有?
第一步,准备。
准备?只需要一台PC就够了。Windows和Mac都可以,经过我的大数据分析(约40%的用户在用Windows看本公众号),我还是决定用Windows(主要还是老找人家产品经理借Mac怪不好意思的)。
为什么一台普通的PC就可以做服务器呢?说白了,服务器其实就是一台普通PC,只不过它强一点、网速快一点、装的软件更专业一点。性能强悍是必须的,像京东、淘宝这些网站,每天流量那么大,你只给它配个四核CPU加4M宽带,分分钟就冲垮了,让不让人好好剁手了?服务器上装的软件,一般也是没有界面的,不像你们家里的PC,有一个华丽呼哨的桌面壁纸,还能打打撸啊撸、看看葫芦娃啊什么的。
更多的情况是,因为流量太大,一台服务器远远不够,通常需要一整个仓库来放服务器。这些服务器分工明确,有的负责接入层,专门用来响应各种请求,就像客服一样,天天跟客户打交道。还有的负责逻辑层,就像是幕后的工程师,接到客服提的单子,然后做逻辑运算,比如校验用户输入的用户名密码,客户是否是VIP等等。最后一般是是存储层的服务器,它们是仓库管理员,你去网上买东西,最后生成的订单就通过它们存下来。
第二步,下载Nginx。
Nginx(读engine X)就是把我们普通PC变成服务器的软件,注意它有很多版本,我们选Windows平台的:
http://nginx.org/download/nginx-1.8.1.zip。解压后出现一个文件夹,双击里面的nginx.exe,然后你会发现。。。特码什么反应都没有。
这就对了。Nginx是来自俄罗斯的开源软件,它有个大名鼎鼎前辈叫Apache(阿帕奇),通常放在一起比较。前者性能要好很点,后者老牌更稳定一点。Nginx所做的工作就是,不停的监听的你网卡,然后对收到的网络请求做出响应。你双击nginx.exe之后,Nginx就作为一个后台进程启动起来了。后台进程又叫守护进程(daemon),没有UI,一直在后台悄悄的运行,一般用来做一些监控、安全之类的工作(像各种管家、卫士们的进程,看不见摸不着,关也关不掉)。
Nginx非常适合做静态网页的服务器。所谓静态网页,就是你的网页写的什么样,展示在用户浏览器里就是什么样,它不会跟用户进行交互,就好像一本纸质书一样。与之对应的动态页面,则更像是一本电子书,你可以操作它、设置它,但它本质上还是书。还有,你熟知的Facebook、github、163.com这些都在用Nginx做服务器。
第三步:测试。
Nginx装好之后,你会看到几个目录,其中一个是/html,用来放置你写的html代码。你下载的Nginx已经有两个写好的网页了。一般默认的页面取名叫index.html,就是入口的意思。除此之外,还有一个50x.html,是网络报50x的错误码之后,用户看到的页面。(50x是一些服务器错误系列http状态码,我们之前介绍过网页跳转系列的30x,你可以复习一下《什么是HTTP 302跳转?》,这也是本公众号的开山第一篇呢)。
现在,打开你的浏览器,输入127.0.0.1,看下是不是出现和我一样的页面,如果是的话,恭喜,你的服务器就搭起来了。
现在你可以把index.html改成你想要的样子了。
这里忍不住多说两句。我们知道,每一台服务器都有一个IP地址,用户就是通过这个IP地址连接到你的服务器。127.0.0.1也是一个IP地址,但是它是回路地址,一般用来测试的。回路的意思是,当你输入这个地址,浏览器企图通过网卡连接127.0.0.1这个服务器的时候,发现它是一个回路,就绕了一圈回来了。回来不代表什么都没有,你的网卡还是把它当成一个外部请求来对待,于是浏览器连接到了你的Nginx服务器,服务器醒过来开始响应,自动把index.html吐给你。
现在你的服务器搭起来了,你可以用回路地址来访问html目录下的网页,就好像真的在浏览别人的网站一样。但毕竟127.0.0.1是一个寂寞的IP地址,迟早有一天你会扑向外面的互联网世界。到时候你可以租一台真正的服务器,买一个属于自己的域名,把你感兴趣的、想玩的东西都放上去。少年,去做一个极客吧,看好你哦!
#专栏作家#
给产品经理讲技术,微信公众号(pm_teacher),人人都是产品经理专栏作家。资深程序猿,专注客户端开发若干年,对前端、后台技术略懂,热衷于对新的科技领域的探索。
本文原创发布于人人都是产品经理,未经许可,不得转载。
现在服务器是怎么租?为什么要租外面的而不能用自己的电脑经营?
确实写的简单易懂,这才是最重要的,搞一堆专业名词显得自己很专业,但是没有技术基础的人也看不懂
想要 码代码
文章写的通俗易懂,逻辑很清晰明了,棒棒哒
作为科普文章,真的很棒
棒棒哒!
赞