目录
做这个教程的起因是因为很久以前一次过情人节的时候玩了一手工科生的浪漫,给女朋友做了一个纪念网站。最近偶尔看看之前做的网站,回想起来也全都是幸福的回忆。网站整体的制作过程其实不难,但也确实有着不小的纪念意义,在这里也是想分享下制作网站的过程,为广大理工直男提供一种送礼物的思路。
搭建一个网站的基本流程主要分为一下几步:申请服务器、购买域名、制作网页和上传网站。
接下来对操作流程的具体细节进行简单的介绍。介绍的过程中会对搭建网站过程中一些相关概念进行简单的说明,如果不想了解这部分知识直接跳到每个步骤中的实际操作部分即可。 同时需要注意的是搭建网站的方法很多,这里只是提供了博主采用的一种方法,能够在短时间内将网站搭建起来。
简单的介绍下服务器的种类,主要分为国内服务器和国外服务器两种
1、国内的云服务器IDC跟普通的机房服务器IDC提供商,包括:百度云、阿里云、腾讯云、华为云等;
2、国外服务器IDC提供商,国外服务器又分为:香港服务器、韩国服务器、美国服务器、日本服务器等IDC提供商。
两者之间的区别
(一)、备案
对于备案来说,国内服务器是必须备案的,而主机备案是非常繁琐的过程,可能需要20多天的时间等待备案结果,还有可能等来的结果是备案失败。但是国外服务器是不需要备案的,即买即用,省去了备案的麻烦。不想要备案的站长可以选择国外服务器。
注:这里需要我们站长跟服务器租用者们需要注意的是,国内云服务器跟机房的服务器基本上都是需要进行ICP【网络内容服务商】备案的,也就是我们经常说到了域名备案,而相反由于国外服务器不受国内限制,所以也就无需进行ICP备案,只需要购买好服务器绑定上域名就可以使用了。
正因为国外服务器不用备案这个繁琐的流程,而且国外服务器一般从价格上也比国内云服务器和机房服务器价格低,导致很多站长跟服务器租用者选择了国外服务器。
(二)、访问速度
由于在距离上的因素,对于国内的用户群体来说,国外服务器的访问速度会比国内的服务器会逊色一点,通常国内服务器的访问速度为45ms左右,而美国服务器最快的速度也就为180ms左右,但是如果用户是针对国外的群体,那么结果就截然相反。因而在访问速度上对于服务器进行选择时,最好以用户群体作为选择标准。针对全国用户来说,国外服务器访问速度也存在着一定的差异差异,例如美国服务器会比马来西亚,韩国等亚洲服务器速度会相对慢一点。
(三)、机房环境
总的来说,国外服务器机房无论是从硬件还是软件设施均比国内机房要先进一些,海外机房都是按照严格规定执行的。
(四)、价格
由于国外对服务器的收费标准存在着一定的差异,因而国外服务器在租用的价格上会相对比国内的服务器低,而且国内服务器还有线路,宽带等对价格有一定影响的因素。但是对于国外服务器来说,在收费的标准上直接供应商和代理商也存在着很大的差异,特别是在美国服务器的租用收费上。通常代理商在收费的标准上会贵很多,而这些代理商在广告的覆盖上也相对多。
(五)、空间资源
国外服务器空间资源要比国内空间大这也是众所周知的,相比国内服务器的空间来说,海外空间几乎没有M型的,都是几十G到几百G不等,所以完全不用担心空间不都的问题,国外服务器对于流量一般也是没有限量的,所以也不用担心流量不够用的现象。
(六)、关于主机性质的区别
我们有些时候在聊到国外主机国内主机的时候。实际上还是有实质的区别的,其中有区分 虚拟主机、VPS、云服务器、独立服务器,甚至还有各种显卡服务器、大流量服务器、大带宽服务器等等的区别。这些都需要根据我们的实际业务需要选择。
如果我们仅仅是普通的企业网站的话,选择美国虚拟主机也是够用的,没有必要选择服务器或者VPS主机,这样还需要提供较大的维护成本。
(七)、区域和政策的不同
如果我们是中文网站的话,建议选择大陆服务器机房或者至少也需要香港、日本、新加坡等亚洲机房,当然必须是CN2优化线路的。如果你选择并非直连线路的,那基本上没有什么用。我们中文网站在乎的就是速度,我们个人维护的速度和用户体验速度。
虽然在一定程序上网站都能打开,速度的体验打开速度不同还是有影响的。国内服务器和国外服务器的区别在于地区的不同,这个也需要根据不同的用户需求选择。如果有些人针对欧洲业务的建议选择欧洲机房。我们要知道谷歌是有对不同地区的搜索结果加权的。
关于服务器的购买方面,博主推荐购买浦东信息港的 “海外免费免备案(200M)”服务器 ,该服务器可以免费试用10天,之后30元每年,价格非常便宜,而且免备案。一般浦东信息港官方会在晚上8点后对当天的申请统一审批,博主申请了三次,每次都是在当天晚八点前申请后,次日早上起床就能收到申请通过的邮件了。
具体操作如下:
1.搜索百度搜索“浦东信息港”

2.进入网站后注册账号

3.选择开通服务器服务

百度百科的解释: 域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。
由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

从上图可以看出不同域名的价格是各不相同的。
一般.com代表用、.gov代表政府、.edu代表教育、.org代表非赢利性组织;.net代表网络,商业上通常选com、cn、net、cc,不过没有硬性规定网站用哪一种后缀(gov除外)。
同时有一些域名后缀只是一个国家的标记标识,只要互联网线路通域名都可以直接访问;譬如我们看.tw,.hk,.kr,.jp的域名,只要语言显示上支持访问完全一样。
国际域名的表现形式为注册机构选择的名字加顶级类型,国际域名是以.com或.net或.org等结尾的。如:3j2.net;
无论如何,.com域名依然是首选,毕竟.com域名的使用面是最早也是最广的,对于一个以网站为主的公司来讲,尽量选用.com域名,但是正是这个原因,.com域名的资源已经用的差不多了,要想找一个称心如意的域名是很难的。在别无选择的情况下,可选择.net.me.cc…biz.name等流行的国际域名作为.com的替代。
注意:很多域名是不被搜索网站收录的,例如一些比较冷门的域名,像.xyz这种是在百度上无法搜索到的。
域名级数是指一个域名由多少级组成,域名的各个级别被“.”分开,简而言之,有多少个点就是几级域名。域名可分为不同级别,包括顶级域名、二级域名,三级域名等。
一级(顶级)域名:
顶级域名又分为两类:
一是国家顶级域名(national top-level domainnames,简称nTLDs),有200多个国家都按照ISO3166国家代码分配了顶级域名,例如中国是cn,美国是us,日本是jp等;
二是国际顶级域名(international top-level domain names,简称iTDs),例如表示工商企业的 .com .top,表示网络提供商的.net,表示非盈利组织的.org等。大多数域名争议都发生在com的顶级域名下,因为多数公司上网的目的都是为了赢利。为加强域名管理,解决域名资源的紧张,Internet协会、Internet分址机构及世界知识产权组织(WIPO)等国际组织经过广泛协商, 在原来三个国际通用顶级域名:(com)的基础上,新增加了7个国际通用顶级域名:firm(公司企业)、store(销售公司或企业)、web(突出WWW活动的单位)、arts(突出文化、娱乐活动的单位)、rec (突出消遣、娱乐活动的单位)、info (提供信息服务的单位)、nom(个人),并在世界范围内选择新的注册机构来受理域名注册申请。
二级域名:
二级域名是指顶级域名之下的域名,在国际顶级域名下,它是指域名注册人的网上名称,例如 ibm,yahoo,microsoft等;在国家顶级域名下,它是表示注册企业类别的符号,例如com,top,edu,gov,net等。
我国在国际互联网络信息中心(Inter NIC) 正式注册并运行的顶级域名是CN,这也是我国的一级域名。在顶级域名之下,我国的二级域名又分为类别域名和行政区域名两类。类别域名共6个, 包括用于科研机构的ac;用于工商金融企业的com top;用于教育机构的edu;用于政府部门的 gov;用于互联网络信息中心和运行中心的net;用于非盈利组织的org。而行政区域名有34个,分别对应于我国各省、自治区和直辖市。
三级域名:
三级域名用字母( A~Z,a~z,大小写等)、数字(0~9)和连接符(-)组成, 各级域名之间用实点(.)连接,三级域名的长度不能超过20个字符。 如无特殊原因,建议采用申请人的英文名(或者缩写)或者汉语拼音名 (或者缩写) 作为三级域名,以保持域名的清晰性和简洁性
例子:www.pan.baidu.com,其中.com为一级域名,.baidu为二级域名,.pan为三级
博主是在腾讯云上购买的,需要注意的是购买域名是需要提前实名认证的,不过实名认证的速度很快,整个过程的耗时不长。下面介绍具体的操作步骤。
1.选择腾讯云域名注册网站

2.之后进入网站实名注册购买即可
关于网页制作这部分,就不对具体的原理和设计做出赘述,在这里博主提供一个网站,对应有几套告白网站的模板源代码可供参考
https://blog.51cto.com/u_12633149/3698041
最后就是将域名和服务器相互绑定,并将网站上传了,完成这步后就能通过网络来访问自己的网站了。
在这里同样以腾讯云和浦东信息港的操作为例。
1.登录腾讯云,打开控制台

2.进入域名解析界面

3.输入服务器的ip

ip地址通过以下方式查看:




4.等待解析成功即可
在这里上传网站使用的是工具FlashFXP,有30天的免费试用期,直接下载正版即可,下载地址:https://www.flashfxp.com/download

1.选择会话中的快速连接

2.输入相应的信息(参考浦东信息港提供的服务器基本信息)

3.连接成功后将网页上传

4.将自己制作的网页上传到root目录下,之后在浏览器输入网址便可以看到自己的网站了
希望这个制作流程能帮助到大家制作出属于自己的网站!!!
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为
我有一大串格式化数据(例如JSON),我想使用Psychinruby同时保留格式转储到YAML。基本上,我希望JSON使用literalstyle出现在YAML中:---json:|{"page":1,"results":["item","another"],"total_pages":0}但是,当我使用YAML.dump时,它不使用文字样式。我得到这样的东西:---json:!"{\n\"page\":1,\n\"results\":[\n\"item\",\"another\"\n],\n\"total_pages\":0\n}\n"我如何告诉Psych以想要的样式转储标量?解