如何学习服务器
① 如何一步步学习开发服务器
因为题目中提到了Nginx和Tengine,所以这里假设是Linux下面的HTTP服务器的开发。
HTTP服务器开发是个漫长的体力活,如果真的想做下去,必须要有强烈的兴趣支撑。但是除此之外,HTTP服务器开发并没有什么特别高深的算法在里面,好好努力的话,做出来自己的HTTP服务器也并不是一件太难的事。
需要准备的有:
扎实 的C语言编程基础。相信到了大三的时候,你已经有了几年的变成经验,但是对于开发HTTP服务器来说,还是远远不够。课本中会给你C语言的一个大概讲解,但是在现实世界中,还是会有很多课本中覆盖不到的地方。因为你已经在阅读Nginx的代码了,所以建议你首先检查一下代码中是否有不认识的C语言语法和用法。如果有,那么就自己Google学习一下。如果没有,那么说明你的C语言学的足够好,不存在语言层面上的问题。接下来,非常推荐学习一下这本经典的The Practice of Programming。学校里学习到的知识太书本化,代码又太专业,不好懂。这本书能帮你在两者之间找一个平衡,读了之后就会知道很多地方为什么要这么做。
C语言准备的差不多了之后,可以开始准备网络编程的知识。Unix Network Programming的确是本好书,但是问题在于,它太厚了。对于初学者来说,它提供的东西太多了。从实用的角度,我更推荐Beej’s Guide to Network Programming,不太长,但是涵盖了网络编程的基本上所有常用的内容。全部读完也不过几个小时的时间。UNP可以用来在修炼的差不多了之后用来做参考书。或者用来学习网络编程中具体某个细节的知识。
接下来,因为是要写HTTP服务器,所以对HTTP协议需要有很深入的了解。当然最权威的资料就是一系列的RFC,比如HTTP 1.1的hwww ietf.org/rfc/rfc2616.txt。这时候就到了最开始讲的体力活的地方。不断的仔细阅读RFC,然后把它讲到的内容全部用代码实现一遍。当然,也有偷懒的办法,直接使用现有的HTTP解析库,比如h2o/picohttpparser · GitHub。
另外,关于Nginx的架构设计,Andrew Alexeev在 The Architecture of Open Source Applications (Volume 2): nginx里面讲的很清楚。这个会对你读代码有很大的帮助。
② 如何系统的学习一下服务器的知识
1、服务器的定义及分类
摘要:服务器网络上一种为客户端计算机提供各种服务的高性能的计算机,它在网络操作系统的控制下,将与其相连的硬盘、磁带、打印机、Modem及各种专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发表及数据管理等服务。
2、服务器硬件技术介绍之内存
摘要:在制约服务器性能的硬件条件中,内存可以说是重中之重,其性能和品质也是考验服务器性能的一个重要方面。可是对于服务器内存,由于平时接触较少,很多人对其还是缺乏了解。不过没有关系,今天我就给大家介绍一下什么是服务器内存,它与普通内存之间存在着什么样的本质差别以及服务器内存的一些常用技术。
3、服务器硬件解析之服务器硬盘
摘要:服务器硬盘,顾名思义,就是服务器上使用的硬盘(Hard Disk)。如果说服务器是网络数据的核心,那么服务器硬盘就是这个核心的数据仓库,所有的软件和用户数据都存储在这里。对用户来说,储存在服务器上的硬盘数据是最宝贵的,因此硬盘的可靠性是非常重要的。
4、服务器、存储硬件技术解析之 RAID
摘要:简单地解释,RAID就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用,其特色是N台硬盘同时读取速度加快及提供容错性Fault Tolerant,所以RAID是当成平时主要访问数据的Storage不是Backup Solution。
5、AMD服务器处理器技术解析
摘要:在x86服务器领域,“至强(Xeon)”很好很强大,但随着AMD“皓龙(Opteron)”系列处理器在寻求更佳的价性比着力点上不断发力,让这个市场变得更多姿。
6、服务器热门技术解析之虚拟化
摘要:虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。如同现在空旷、通透的写字楼,整个楼层几乎看不到墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。这种把有限的固定的资源根据不同需求进行重新规划以达到最大利用率的思路,在IT领域就叫做虚拟化技术。
7、服务器热门技术解析之云计算
摘要:狭义云计算是指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的资源(硬件、平台、软件)。 提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。这种特性经常被称为像水电一样使用IT基础设施。
8、刀片服务器与机架式服务器的比较
摘要:近几年,服务器市场上最为热门的服务器架构莫过于刀片服务器了,它大量的出现在各种媒体上,各大厂商也推出了各种相应的机型。刀片服务器与传统的服务器比到底有什么优势呢?消费者选购服务器时该怎样选择呢?本文就把刀片服务器与传统的机架式服务器进行比较,向大家介绍两者在选择方面的一些经验。
9、如何选择服务器托管IDC
摘要:作为数据中心(Data Center)项目,主机托管是目前所有IDC的主要核心业务。IDC除了为企业提供主机托管的基本服务外,还应提供更多的优质服务和增值服务,如系统,网络的管理,用户数据管理和数据中心网络及系统的安全管理等。
10、服务器安全维护八大要点
摘要:对网站的代码进行检查,检查是否被黑客放置了网页木马和ASP木马、网站代码中是否有后门程序。
③ 在哪里可以系统的学习服务器的搭建
服务器搭建:iis(微软的,不错,会用鼠标,认识中文的,都可以很快上手),apache(本文可能不会提到,但是它是比较专业的服务器搭建软件,有兴趣可以和我交流交流)
相信你不只是想提供web服务吧,咱们也要搞搞ftp吧,呵呵
ftp服务器需要的软件:其实iis就自带一个ftp服务,但是我不推荐,主要是管理不太方便(个人观点)。我在这里给大家推荐serv-u,简单,实用,地球人都喜欢,呵呵(你个小兔崽子,少废话)
好了,软件呢就需要这些,如果你想搞点论坛啊,江湖游戏什么的,那就到网络上去搜索你想要的源代码吧,我觉得,论坛的话,雷傲的不错,当然也有支持asp的动网的,其实最近流行的是php,如果你喜欢什么,那就去down什么,这些都是非常非常简单的,相信自己,无师自通,J。
晕,差点忘了重要的东西,如果要搭建cgi或者php的论坛,还需要一些插件:
支持cgi的插件:需要perl编译器:activeperl,个大网站都有下载。
支持php的插件:需要php for win的插件,版本更新比较快,下载最新版本比较好。
Ok,要用的软件都说差不多了,如果还有需要的,我会在后面说明的。
喝口水,现在是万事具备,只欠东风了,开工ing:
首先,宽带得ip应该是动态得,所以我们就需要一个域名服务,来指向自己得机器,要不然,别人不能进入,这里推荐花生壳域名服务(http://www.oray.net/Default.asp),申请不是特别得繁琐,认识中文就会申请。申请好以后,你需要下载一个客户端,如果你不安装这个东东,还是不能够实现域名的指向,就在该网站有下载(注意下载最新得版本,下载老版本干什么啊,浪费资源,如果你有恋旧情怀,下载旧版本我也没办法)。当然,如果你有固定的ip,那就congratulate你了啊,不用动态域名了,我真的好想有一个固定的ip,但是没钱,穷人就是命苦啊L
接下来,安装iis,我们是菜鸟,当然用最菜的东东,iis所见所得,简单实用(不是给微软打广告,真得是这样,它比起apache简单多了)。如果你的是win2000服务器版,那iis应该是有安装得,如果是专业版,那就需要添加,添加删除软件里面可以找到,这里就不多说了。安装iis后,需要进行一些简单的设置,无非就是用鼠标对着那些中文按钮点点,简单的很,后面会提到如何配置cgi和php的,这里就不说了。
ftp服务器的serv-u的安装:和其它软件一样,下一步,下一步,finish,呵呵,不会被揍吧。安装完成以后,就会自动运行,需要填写一些东西,建议你在中文之家去下载汉化破解版的serv-u,这样对我等不识洋文的来说,是佳音啊。填写的时候只需要注意以下几个事项:
1, 如果你是动态的ip,那就在填写ip那一栏里面不要填写,如果是固定的,那就填吧,接下来是填写域名,就填写你申请的花生壳的免费域名。后面的,都是一见就明白的,不需要我再在这里罗嗦了。
2, 如果你不希望ftp服务随着系统的启动而启动,那就不要选择随系统启动那一栏,如果你不希望匿名登陆,就会自动提示你新建一个用户名和密码,反正你按着提示来,就不会出错的。
3, 关于serv-u的教程网络上非常多的,你去找找,那些高手说的绝对比我说的好,建议去下载几本看看,我就是从那些高手的文章中学习的。
4, 如果想让自己的ftp站点更专业,可以参看serv-u的帮助文件,有message的一些常用变量,那里说的很详细的。
Ok,服务器的搭建说的也就差不多了,如果有不对的地方,欢迎大家指出,下面就开始说说,如何使自己的服务器功能越来越强大。
论坛的安装:
如果你是使用asp代码的论坛,那你的iis服务器不用做任何说明,就可以支持的,当然,如果你用的是apache服务器,那就需要其它的设置,由于本文主要是基于iis的服务器,所以就不说了,网络上关于apache支持asp的教程也非常的多(其实我也不是特别的熟悉apache,不要k我啊,如果k我,我就不说了,嘿嘿)。
如果你是使用cgi的论坛,那就需要安装actibeperl,在安装的时候,只需要注意,将他安装在c:\usr目录下,其实我也不知道为什么要安装到这里,反正你安装到这里会避免很多的问题,如果你安装到其它的目录,可能会出现一些比较怪的问题。
安装过程,省略,因为所有的软件安装方法都是大同小异,下面,我来说说如何在iis里面配置cgi:
打开iis管理器,打开网站属性,进入 主目录选项,点击,配置,然后进入一个新的对话框,点击添加,添加如下:
可执行文件:c:\usr\bin\perl.exe %s %s (其实就是perl文件的地址,后面加两个%s,中间有空格的啊)
扩展名:.cgi
还要添加一次:
可执行文件:c:\usr\bin\perl.exe %s %s
扩展名:.pl
然后,添加一个虚拟目录,注意以下的:
第一, 路径在你的cgi目录下,
第二, 如果是雷傲的,建议虚拟目录命名为cgi-bin,至于为什么,那是因为我习惯了,呵呵,不会被k吧
完了,配置cgi的就着么简单,如果大侠们觉得哪里有错误,请指出,呵呵!
如果你要搞些php的东西,那就要安装php for win。建议使用解压方式,不要用那个安装的,不好,为什么呢?怎么这么多为什么啊,那是别人高手说的,我怎么知道为什么啊。
废话少说,开工ing:
开工前,还有点废话:
PHP安装的两种不同模式,一种是Cgi模式(CGI executable),另一种是模块化安装方式。可以这样来区别:在CGI模式下,如果客户机请求一个php文件,Web服务器就调用php.exe去解释这个文件,然后再把解释的结果以网页的形式返回给客户机;而在模块化中,PHP是与Web服务器一起启动并运行的,所以从理论上说来说,以apache模块方式安装的PHP4有着比CGI模式更好的安全性以及更好的执行效率和速度,其实选择什么安装方式,完全在于你,而不是我在这里废话。
解压缩php到你想要的目录,我习惯上解压缩到c:\php
打开刚才解压的PHP目录,你会发现有一个叫做php.ini-dist的文件,这就是PHP的配置文件了,你需要把它改名成php.ini,然后复制到系统目录中(如果你的系统装在C盘,XP下就是C:\windows,Windows2000下是C:\winnt)。
我以前看过很多介绍PHP安装文件的文章都说要修改php.ini中extension_dir和doc_root这两项的值,可是小的在安装PHP过程中都没有改过,也没有过任何错误,看来这两个参数不是必须的。当然如果你不放心也可以修改一下。把doc_root改成你的服务器的根目录,把extension_dir改成你的PHP安装文件夹中的extensions文件夹所在的绝对路径。其实不改,也不会出错,那就看你怎么搞了,呵呵。
3.打开你的IIS信息服务控制台,右击默认网站图标,选择属性,打开默认网站属性选择,然后再选择主目录选项卡,做以下配置:
点击配置按钮,你会看到又跳出一个选项卡,上面是已经定义的文档类型。点击添加按钮,添加下面这些:
可执行文件:c:\php\php.exe %s %s (你的php所在的目录)
扩展名:.php
ok,好了。现在试着把下面的几段代码保存成后缀为php文件,然后放到你的一个虚拟目录中去访问,看一下是否能出现正常的结果。
<?php
phpinfo();
?>
也许你会碰到下面的输出结果:
Security Alert! The PHP CGI cannot be accessed directly.
This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive.
For more information as to why this behaviour exists, see the manual page for CGI security.
For more information about changing this behaviour or re-enabling this webserver, consult the installation file that came with this distribution, or visit the manual page.
不用怕,这是因为现在PHP在IIS中是以Cgi方式运行的,而你的php配置文件中这一项又没有打开。如果你看到上面的一段警告,你需要打开你的php.ini文件,然后查找cgi.force_redirect = 1这样一句,把这一句前面的分号去掉,然后把1改成0就OK了,现在再来刷新一下你刚才的页面,如果没有什么意外的话,你就会看见一个php的欢迎页面了,那就恭喜你了哦,你的服务器已经支持cgi和php了,asp那还用说吗!!呵呵。
④ 服务器主要学习哪些知识以及如何学习
楼主是学习服务器的硬件配置知识还是技术知识呢?如果想实战的话,可以去idc网络公司实习,他们都提供有硬件还有技术知识方面的培训的。我个人感觉比在学校里学的还多还好!!
⑤ 怎样学习服务器,存储知识,快速入门 。。
服务器类的知识各厂商的内容都不相同,总的来说你要说好可以去这些厂商工作,也不就到他们的分销商处打工,厂商有不定期的陪训,可学的东西很多。如果只要自学,可以上他们网站也能学到很多。
⑥ 学习服务器系统要学些什么
服务器除了硬件需求以外,最大的问题就是安全配置了,至于你提到的企业经常用到的,这个要看该企业的需求,因为企业服务器的类型有很多,最通常的有财务数据库服务器、邮件服务器、企业WEB服务器…… 具体根据你所在企业的要求,但不管什么类型的服务器,安全是第一的,所以你需要学的就是如何安全的配置服务器,及时给服务器做好安全补丁,还有手动配置一些安全选项。 这是一个系统的工程,不是寥寥数行文字可以表述的。
⑦ 如何学习做服务器软件
有安全问题。
维护内容要看服务器上跑什么服务,以及服务器的配置。
需要帮忙的话,尽管联系我。同行。呵呵
--------------------------------------
呵呵,放轻松,一切都会好起来的!
⑧ 想深入学习服务器,买一台用于自学的服务器,希望推荐一个配置和价格。
你是想买云服务器还是虚拟服务器还是? 云服务器49一个月,虚拟主机80一年。
现在买云服务器,59就购了,双线双IP给你更多的使用选择
2核2.4GCPU给你一个稳定的芯
2M带宽独享加30G硬盘让你最多可以跑5个站点
⑨ 怎么学习服务器
最好能去服务器商那多看看实际的东西 在加上书面的理解 2者结合的效果更好 拿在手中总比 看图片要来的强