站三界导航
首页 建站经验
  • 外贸网站建设不要忽视这6个网站设计操作
    外贸网站建设不要忽视这6个网站设计操作

    谷歌SEO优化对于外贸网站来说有着非常重要的作用,外贸网站排名越好,网站获得的询盘也会越多。但是,有些谷歌优化师在优化网站的时候,无法达到预期的效果,甚至有些网站优化后根本没有效果,这是为什么呢?其实,影响网站谷歌SEO优化效果的因素有很多,例如:网站结构、网站设计、内链、外链、内容质量等等。接下来就跟一尘SEO一起了解一下,在做外贸网站建设的时候,哪些网站设计会影响谷歌SEO优化吧!1、图片使用过多有些人会使用图片来代替文本,以造成网站图片过多,文字太少的情况。这样做是非常错误的,会影响谷歌搜索引擎蜘蛛的抓取,因为谷歌蜘蛛无法抓取到图片的内容,如果网站必须要使用图片,必须在图片alt属性中加入关键词,这样才有利于网站优化。2、网站弹窗广告多我们都知道,网站用户体验好,网站排名也就会越靠前,如果网站经常弹出广告,就会严重的影响用户体验,同时也会让谷歌觉得网站质量太差,也就不会给予网站很高的权重和排名了。3、网站导航混乱网站导航的重要性不言而喻,清晰明了的导航,不仅可以让用户快速的找到所需要的信息,同时也有利于谷歌搜索引擎蜘蛛的抓取。如果网站导航混乱,用户就无法快速的找到所需要的信息,从而就会关闭网站,而谷歌搜索引擎蜘蛛也像进入了迷宫一样,无法很好的抓取网站内容,这样网站也不会有很好的排名了。4、图片尺寸太大当用户进入网站后,图片总能吸引用户的关注,如果图片尺寸太大,就会影响网站速度,从而影响用户体验以及谷歌搜索引擎蜘蛛的抓取。所以,适当的调整图片尺寸,同时在合适的场景下使用合适的图片格式。5、网站使用Flash使用Flash虽然能够增加网站的美观度,但非常不利于网站优化,因为Flash严重的影响了网站的速度以及页面的可视性,谷歌搜索引擎蜘蛛也很难抓取网站内容。6、网站没有做好移动设备版本我们必须要确保移动端网站可以在任何移动端设备上都能有良好的用户体验,只有这样才能确保用户能够长期关注并浏览网站。如果没有针对移动端优化,用户就不会对网站进行长期关注,更不会浏览网站,这样网站就不会有任何流量了。总之,在进行外贸网站建设的时候,一定要注意以上问题,这样才能让谷歌SEO网站优化达到预期效果。外贸网站建设https://www.dustseo.com/news/663.html

    • 建站经验
    • 89阅读
    • 2022-04-28

  • 企业建站有必要使用高防服务器吗?
    企业建站有必要使用高防服务器吗?

    很多企业用户建设自己的网站内容进行对外宣传,所以需要网站建设的问题是不可避免的,没有服务器企业根本是是三十岁四十岁根本SSSGENBEN根本S无法建立网站,只要公司需要建立网站就一定需要服务器。服务器的选择是多种多样的。例如,我们可以使用虚拟空间、服务器、高安全性服务器作为站点的主机。不同的服务器类型的租用费用也是不一样的。那么企业有必要去使用高防服务器吗?1.高防服务器的主要功能是什么?高防服务器通常是指具有防火墙的服务器,主要是为了防止DDOS通信型攻击而存在的,在特定的攻击通信量下,高防主机可以比较有效地防御通信量,保证网络业务的正常运营。2.企业有必要使用高防主机吗?针对这个问题,我们通常建议您使用高安全性主机,因为一旦您受到DDOS攻击,将会直接给您的网站带来不利影响,而在流量大的DDOS攻击下,也可能直接导致整网络瘫痪。存在大流量攻击威胁的行业主要有以下几种,因此可以综合考虑,决定是否需要选择高防御服务器。1.游戏产业首当其冲从攻击目标的行业分布来看,游戏行业是DDoS攻击的最大受害者,达到了42%。其中,手游戏是游戏行业DDoS威胁最大的细分类,比率达到45%。网络游戏是DDOS攻击的多发行业,无论是网页游还是边游都有被攻击的经验,游戏行业竞争激烈,不说攻击的动机,一旦有攻击的流量,玩家的游戏体验就会降低,放弃游戏。在现实的网络攻防世界中,除了上述已知的攻击外,还存在很多突发的场面。面对新游戏发布等重要时间节点的突发攻击,网屏蔽高防服务器以用DDoS威胁信息建设,提高防护体验,帮助专家支持、迅速介入,帮助企业在短时间内补充DDoS攻防能力短板。2.电子商务其次,电子商务,在线电子商务是目前最具发展潜力和发展趋势的商业模式。DDoS尤其针对电子商务业务,因为DDoS攻击可以通过发送大量无效请求来拖垮目标服务器,从而使电子商务网站“离线”,用户的身份信息和银行卡数据容易泄露。此外,简单的IP地址屏蔽也难以防止DDoS攻击,因此电子商务平台也需要对攻击威胁进行高度防御,提高安全防御能力。3、直播行业直播行业是近年来蓬勃发展的行业,因为它是在线直播,并且对服务器配置的需求相对较高。这种依赖服务器自身稳定性的行业,一旦受到攻击,网站就会完全瘫痪,没有直播特性,甚至没有转地,因此这个行业的网站也是最容易受到攻击的。4、金融类网站这类行业主要是因为涉及的交易量大,包括用户对网站的信任等具体因素,所以对网站的安全要求较高。金融交易系统网站也是经常遭遇DDOS攻击的行业类型,攻击时不仅无法保障网站用户的资金安全,而且网站停机,网站业务交易无法正常进行。5、主要用于业务宣传的网站宣传网站是直接给企业带来经济利益的网站,这样的网站也容易成为同行恶意竞争时的攻击对象。一个网站的服务器不稳定,导致用户在访问的时候经常打不开,或者反应速度慢。对于这情况,如果换做是你,你愿不愿意继续访问,等待响应。如果不是什必须做的事,可能就会直接关闭网站,可能以后都会很少访问,甚至不再访问,所以这类网站最好是在选用服务器时,选用具备一定防御性能的高防服务器要好些。服务器ddos攻击会对seo产生什么影响?首先,服务器的DDOS攻击导致站点权重的减少。服务器的遭到DDOS攻击将导致网站权重的减少。其中的表现有网站排名下降、收录减少、快照不更新等等。原因也很明显。如果百度爬虫(百度搜索引擎)进入你的网站,很多时候网站无法打开,并且无法抓取网站内容导致爬虫不再爬取您的网站,这样权重下降也是合情合理。因此,服务器的稳定性对两个重要的站点曝光因素有很大的影响:权重和排名。图例:出现在百度搜索拨号云托管上的顶级seo网站其次,不利于用户体验。如今,网站越来越注重用户体验,我相信每个人都知道。想象一下,如果服务器不稳定,当用户想要打开你的网站来充分了解你,发现不能打你的网站,自然不能继续深化了解,甚至对你的网站产生不良影响,这样无形的就会失去许多用户。另一种情况是,如果用户打开你的网站花费太多时间,用户就会觉得不能继续浏览,潜在的用户也会丢失很多。可以看出,Web服务器的稳定性是影响用户体验的重要因素第三,会造成友情连接的删掉。搜索引擎非常敏感。当网站无法打开,许多网站管理员正在采取补救行动,搜索引擎迅速删除链接。当您的网站恢复正常时,您没有及时注意友情链接这方面,因此外部链接的丢失率很高。最明显的特点是关键字排名迅速下降。一般来说,企业选择租用服务商提供的服务器,或者将自己的服务器托管在专业服务商的机房。这样的好处是企业可以节省大量的人工成本和技术成本。因为服务器存储了企业的所有数据影响着网站的运行。因此,服务器必须每天24小时连续运行,这需要确保服务器良好的散热和低温低湿环境,这是普通企业无法提供的,并且成本较高。服务提供商有一个专门的电脑房,以维持低温低湿环境。此外,如果服务器发生故障,则需要经验丰富的技术人员来处理它。企业为服务器雇用的技术人员的人工成本将远远高于代理托管的成本。因此,一般企业不会花费大量资金来建立机房。其实还有更省心的办法,直接去网盾租服务器更好,干嘛要花心思折腾这些。

    • 建站经验
    • 82阅读
    • 2022-04-28

  • 怎么做能让网站快速被收录
    怎么做能让网站快速被收录

    每个做网站的人都希望自己的能内容能被快速收录,网站的收录情况和网站流量有着密切的联系。接下来,我就针对网站的收录及排名做一个我的经验分享,如何让你的网站更快被百度等搜索引擎收录。内容优化:一、文章内容真实有效一家网站发布的内容真实与否,是衡量一家网站质量的重要标准。若网站中的内容是虚假信息或标题党,目的在于吸引用户点击,那么搜索引擎在评估时会认为该网站的内容价值不高,甚至会降低网站的权重。所以在进行SEO优化时,我们需要把重点放在网站内容的可靠性上。如本网站的内容并非原创文章,需要从其他来源转载时,一定要核实内容来源,再进行转载,切勿发表虚假内容。二是关键词布局层次布局:页面>专题>栏目>频道>首页,纵向布局:主键>次键>长键>长键,横向布局:产品键,应用键,属性键等等。外站优化:而影响收录速度的原因还包括网站权重过高,高权重的网站或平台收录速度往往比权重过低的新站快。由于搜索引擎对网站的关注程度不同,所以我们想要网站的内容被秒收录,就需要不断提高网站的权重,让搜索引擎对网站的重视程度,从而及时收录网站的内容。另外服务器稳定,网站速度要快,最好3秒内就能进入网站。外链建设,主要是通过多渠道的诸如友情链接、自建站群、B2B、博客、论坛、视频、微博、文库、百度知道等,软文植入的链接。

    • 建站经验
    • 86阅读
    • 2022-04-28

  • 自助建站工具有几种?跨境电商卖家怎么选才靠谱?
    自助建站工具有几种?跨境电商卖家怎么选才靠谱?

    对选择自助建站的卖家来说,既能节省平台的服务费又能避开流量红海,另辟独属自己的流量蹊径,推广自己的品牌。相比之下,卖家自己建站的优势很多,如积累用户、培养粉丝、重复营销、持续优化产品等。但建站之初,对于小白或者初创企业来说,如何建站却难倒了他们。通常情况下,初建站者会选择通过建站工具来自助建站。但是跨境电商行业里,建站工具种类多样,卖家又该如何选择?市场上建站工具的三种分类雨果网了解到,目前市场上的建站产品不但丰富多样,而且还有具体的分类。根据当前市场上的自助建站产品,可以大致分成三类:第一类,SAAS建站:例如Shopify、Shopyy、店匠、WIX、Bigcommerce等。其中Shopify、WIX、Bigcommerce是属于国外的建站服务商;Shopyy、店匠则是国内的建站服务商。第二类,开源建站:如Zencart、Opencart、wordpress、CS-cart、WOOcommerce、Magento等。这些网站提供源代码,再由国内的建站服务商二次开发出一些产品,出售给卖家。第三类,自主开发:PHP开发、JAVA开发、大疆官网、Anker官网等。以上三类建站系统的产品各有其特点,卖家又该如何去评估一个网站系统的好坏?主要有四个维度:1、网站速度:CDN加速、图片无损压缩、日志分析、Gzip服务器设置、CSS/JS文件压缩、AIP/MIP工具管理、网站缓存功能。2、网站安全性:Https证书加密、邓白氏认证、优质资源认证、服务器防护。3、功能性:PC/自适应/手机端、简介购物流程、EDM/社交媒体、CRM内容模块等。4、数据性:分析工具/Google网管工具。卖家选择建站工具需要考虑哪些维度?通过多个维度的分析,卖家清楚了几种建站产品的功能之后,又如何根据自身的需求选择建站工具?Shopyy自助建站苏超颂告诉雨果网,主要分两种情况:一种是之前没有接触过自助建站的小白卖家,另一种是有自助建站经验的卖家。对于有自助建站经验的卖家,他们选择建站系统有自己的方式和看法不过多赘述。那么,针对小白卖家,又该从哪些维度去考虑呢?1、建站的预算,前期投入。建站产品既有免费版也有收费版,免费版可支持的网站空间较小、网站功能也较为基础,更适合个人网站制作,难以满足企业网站需求,通常可作为了解平台的功能和风格。而收费版的价格也不尽相同,需要企业根据自身的资金预算,再做选择。2、人员配置。是否有足够的人员对网站进行管理,比如负责内容管理、网站推广、网站运营、模板编辑等等。3、系统功能。收款通道、物流配置是否都已打通,ERP对接等等。4、操作难易程度。是选择自己摸索还是傻瓜式的更容易把握,因为部分产品系统和界面较为复杂,对建站人的专业度要求比较高。5、售后问题。这部分对国内的卖家较为重要,因为有些国外的建站系统对卖家来说安全性以及后续的服务较难周全。因此,卖家在选择建站工具时需要问清楚。2020年,跨境电商行业或将掀起品牌出海狂潮。为帮助卖家实现品牌出海,雨果网联合Google谷歌官方为卖家送上一份大礼,谷歌广告投放最全官方教程,限时免费开放!,免费视频课程!(文/雨果网吴桂真)

    • 建站经验
    • 96阅读
    • 2022-04-28

  • 网站被黑怎么办 解决办法有哪些?
    网站被黑怎么办 解决办法有哪些?

    网站被黑了,而且被黑的方式各种各样。快照劫持、网站打开后跳转到博彩网站等等。很多时候,网站被别人黑了,是因为网站没有安全设置,包括但不限于网站后台、域名、服务器、ftp等等。网站被黑怎么办? 一、查看网站是否被黑1.通过“网站体检工具”,对网站各项指标进行安全检测;2.被黑网站在数据方面有一个特点,那就是来自搜索引擎的索引数量和流量在短时间内出现异常数据。站长观察站点索引量是否有异常,再通过流量与关键词工具查看得到的关键字是否与网站相关,是否涉及博彩和色情;3.通过Site语法查询网站,结合一些常用的色情、赌博类关键字,就有可能找到不属于网站的非法网页;4.由于百度流量巨大,一些被黑行为只针对百度带来的流量进行跳转,查看自己网站是否被黑时,一定要从百度搜索结果中点击站点页面查看;5.网站内容在百度搜索结果中被提示有危险;6..随后可要求网站技术人员通过后台数据和程序进一步确认网站情况。二、出相应解决方案1.将被黑页面设为404死链,并使用百度搜索资源平台的死链提交工具提交;2、如网站有更改网页,更改网页建议使用链接提交工具将数据提交百度;3.立即停止网站服务;4.找出可能的被黑时间,并与服务器上的文件修改时间进行比较,处理掉黑客上传、修改的文件;检查服务器上的用户管理设置,确认有无异常变化;更改服务器上的用户访问密码。注意:可以从存取记录中,确定可能的隐藏时间。但是黑客也可以修改服务器的访问记录。三、防止站点自身受黑1.多种安全保护同步:适用于中小型信息网站。多打补丁:现在许多信息网站都采用内容管理系统(CMS),作为最常用的内容管理系统,有一个问题,即漏洞比较流行,因为源代码是公开的,所以很容易被研究出漏洞,需要及时对站点程序进行漏洞修复;2.服务器的常规安全防护在服务器上设置网站权限,禁止修改文件,隐藏或迁移后台文件到根目录以外;参考其他站点的安全设置,非限定IP无法写入数据库;3.改进HTTPS,加强网站安全,HTTPS主要包括两个部分:HTTP+SSL/TLS,即HTTP上添加一个模块来处理加密信息。服务方和客户双方的信息传输均通过TLS加密,因此所传输的数据均为加密后的数据。HTTS复杂的加密机制有效地增强了网站的安全性,加密机制加上认证机制能够降低网站被劫持和伪造的风险,建议通过改进HTTPS来加强网站的安全性。

    • 建站经验
    • 69阅读
    • 2022-04-28

  • 站长出租二级泛目录的危害和好处?
    站长出租二级泛目录的危害和好处?

    出租目录的好处:1:变现能力强,一些网站本身卖不了几万块钱,但是通过出租目录,出租一个目录几千,同时出租10目录个几万(最高有的站一个月同时在租20个目录的案例),一个月就把网站的钱赚回来了。有些权重高、收录好的网站出租目录上百万在业内也有。有的站出租半年后停止出租,网站和出租前没两样,赚的盆满钵满。2:有的站本身收录和权重不好,出租目录后,租目录的客户提供了优质内容以及引蜘蛛的渠道,反而促进了主站的收录和权重增长。出租目录的危害:1:对网站seo造成影响。影响不可预测,一般来讲有如上述所讲好的影响,也有可能造成坏的影响。既然收了钱,肯定会承担一定的风险,天下没有免费的午餐。2:客户经营特殊行业不受百度等搜索引擎待见,泛目录交易平台会根据站长要求严格把关客户行业是否准入,如果有违背站长要求的情况出现,经泛目录交易平台判定后是客户的责任,站长有权关闭目录终止合作,并且不用退还租金。不过行业不同价格也不同,相同的站,承担风险不同,价格因为行业不同相差几倍/月也是正常,总之风险越大收益越大。总结:出租目录适合一些本身没有变现能力,或者只能依靠低廉的广告费变现的站点。选择泛目录交易平台,帮站长变现!

    • 建站经验
    • 90阅读
    • 2022-04-28

  • 什么是反向代理解析、二级目录、泛目录?
    什么是反向代理解析、二级目录、泛目录?

    问题分成两个部分:1:什么是二级目录和泛目录?2:这里所说的反向代理是什么意思?1:什么是二级目录和泛目录?什么是二级目录?举个例子:www.zhansanjie.com,www.zhansanjie.com/app/就是一个目录名为“app”的二级目录,假设你租用这个目录,你可以在www.zhansanjie.com/app/里发布你的内容页面。假设你发布1万个页面,每个页面包含一个关键词,搜索引擎收录1条就会有一个关键词会在搜索引擎获得排名,长尾词很容易获得靠前排名。现今有很繁殖内容页面的程序,自动提取你准备好的关键词,蜘蛛或者用户访问这个页面会一直无限繁殖下去,一个页面一个url链接地址(符合目录规则)。也有一些“”万词霸屏“”的网络推广公司,用统一的模板、程序,让他们的客户提供内容发布。什么是泛目录?www.zhansanjie.com/app/是二级目录,泛目录的意思就是app这个目录名可以泛,www.zhansanjie.com/app1、www.zhansanjie.com/appd、www.zhansanjie.com/app456,app后面无论带什么字母、数字的目录都可以给你用,也就是你可以用无数这个网站的二级目录,但是必须是固定前缀开头的。(也可以固定中间,固定尾缀,但是一般很少人用)。2:这里所说的反向代理是什么意思?前面说你租用www.zhansanjie.com/app/这个目录,那么你怎么租呢,你需要随时随地的发布、更改内容,配置程序,作为站长总不能把服务器给你吧?这个时候站长就需要通过反向代理来让你实现在你的服务器上操作这个目录。反向代理是站长需要操作的事情,跟你无关,换句话说你是租用者,不需要懂怎么反向代理。但是租用者也不是什么都不需要干的,租用者要提供给站长建好的需要发布的内容的地址和想要使用的目录名,地址打开要符合二级目录或者泛目录的规则。还是租www.zhansanjie.com/app/这个二级目录,租用者用服务器ip建站,配置内容页面,内容程序,配置好后所有内容页面必须在ip/app/下打开,ip/app/打开的内容和www.zhansanjie.com/app/打开的内容是一样的,因为后者就是读取前者的内容。同理,如果是泛目录,ip/app2能打开www.zhansanjie.com/app2也能打开。对于站长来讲,反向代理二级目录和泛目录的区别是仅仅是解析规则上的细微差异。最后,无论租目录还是出租目录,联系泛目录交易平台就对了!

    • 建站经验
    • 89阅读
    • 2022-04-28

  • 高权重主站的二级目录有哪些优势
    高权重主站的二级目录有哪些优势

    利用二级目录、泛目录做做排名就相当于站在巨人的肩膀上,主站的目录就是巨人的肩膀。权重高收录快的主站,就是更高更强的巨人,我们站在这样的巨人肩膀上自然比其他对手排名更快更多更稳定。为什么要在泛目录交易平台租高权重的目录呢?让我们列举一下高权重二级目录、泛目录的优势!1:二级目录权重高收录快先有收录,再有排名,没有收录都是空谈,高权重的网站收录速度快,深受蜘蛛的喜爱与信任,从而达到秒收的现象,这是新站和seo优化的不好的网站难以享受的。2:二级目录权重高排名高有了收录会对关键词进行排名,搜索引擎在选择排名展示的时候,权重高的主站的内容自然更容易比权重低的排在前面。3:二级目录权重高排名稳一些小网站的排名经常有波动,可能前几天还是首页,过几天就百名开外了。但是权重高的的网站,有时候十天半个月不更新一篇文章,排名纹丝不动。这些优势都是小网站羡慕不来的,而租用二级目录就相当于把别人几个月甚至几年的努力成果,拿过来直接使用。

    • 建站经验
    • 76阅读
    • 2022-04-28

  • 站长之家浅谈网站长尾词的部署技巧
    站长之家浅谈网站长尾词的部署技巧

    众所周知对于一个网站的优化,长尾关键词的选择起着至关重要的作用,今天这篇文章就将总结整理如何合理的部署长尾关键词。1.对于长尾关键词的选择部署之前首先要进行选择,合适的长尾词能让你事半功倍。首先要站在用户的角度,选择与网站产品相关的关键词。2.网站内容结构的部署想要长尾词发挥效果,就要在站点内部进行合理部署,建议一个页面长尾关键词部署在的关键词以内,如果是内容页,那么建议是一个关键词。3.内容页面的部署有很多长尾关键词是由内容页面进行排名的,在这里建议推的关键词为一个,并且整篇文章要以这个关键词为中心,此外,内容页面的关键词和标题等也是比较重要的。4.长尾词的日常维护对于长尾关键词的维护,主要是看长尾关键词的页面是否收录,排名如何,如果排名掉了,要采取什么样的措施,让长尾关键词的排名上升等,此外,发的外链也是对长尾关键词的一种维护。合理的利用好长尾词可以让流量激增的同时提高排名,所以长尾词的选择和布置显得尤为重要。

    • 建站经验
    • 126阅读
    • 2022-04-28

  • 淘宝前端团队谈前端工程化的云构建
    淘宝前端团队谈前端工程化的云构建

    背景通常个人在开发项目的时,都是在本地编写构建脚本对项目进行构建,这个脚本可能是Gulp,可能是Grunt,可能是webpack,也可能是其他的一些脚本,每次代码发布之前,都要对代码进行构建,代码仓库里面包含构建脚本和构建之后的代码。对于个人开发,这样做是没有问题的,但是涉及到多人开发或者团队开发就会有一定的问题。说是问题也不是问题只不过是会导致开发效率降低,构建错误的情况越来越多。在本地对项目进行构建,通过脚手架工具来分发构建脚本对于团队开发来说有很多问题:构建脚本的开发维护者很难去持续优化,更新构建脚本构建脚本使用者对构建脚本的修改,改良不可复用每次发布之前都需要对项目进行构建,如果忘记构建将会导致发布失败同一个项目的开发者可能会有不同的构建脚本,极有可能会导致构建出错我们把构建脚本从应用里面提炼出来,包装成单独npm模块,这样构建脚本(下文统称为构建器)就有了模块的一些特性:可分享:任何人可以很方便发布一个构建脚本模块给任何人使用可修改:如果你有更好的主意,可以fork,加上自己想要的功能,并发布到npm平台上易维护:模块可以由专人维护与更新使用云构建后,本地不需要安装任何构建环境,这个对于一些新技术的推广是有好处的,比如大家都知道,在Windows下,安装compass不是一件轻松的事。而且对于构建脚本的更新也是很友好的,只需要更新云构建平台上的构建脚本即可。使用云构建后仓库里面就不需要保存构建后的代码,这样有助于保持代码整洁,同时,在多人开发的时候,再也不会出现构建脚本冲突的情况。把云构建接入发布流程,每次提交发布时执行构建,这样就再也不会在发布之前忘了构建。而且服务器的性能更强大,对于比较大的项目能够更快执行构建,节省构建的时间。一线开发人员不需要去关心构建的问题,能够把更多的时间放到业务上,提高工作效率并。历史和现状Grunt、Gulp等前端构建的概念是近几年才火起来的,其实淘宝前端团队早在2011左右就开始大规模对前端代码进行构建了(Git也是在这个时候引入到团队内作为版本管理工具)。最初使用的构建引擎是ant,基于XML描述构建规则,后来将ant的build任务放到了服务器端执行,再后来由于ant的扩展性和维护性太低直接改成了shell脚本(那个时候压缩代码还是用YUICompress和GoogleClosureCompiler)。再后来Node.js开始流行,基于Node.js的前端生产力工具开始如雨后春笋般涌现。团队内部开始使用Grunt构建前端代码(后续慢慢被Gulp和webpack替代),但依旧是在本机电脑执行构建,然后将构建后代码提交到仓库进行发布上线。14年底开始构思并上线了第一版云端构建平台,开始逐步将前端代码的共建工作再次迁移到云端执行。经过一年多时间的完善,云构建平台已经完全支撑起了团队内部乃至整个集团的前端代码构建任务,日构建任务量已达1000+。并且构建服务还集成到了代码发布流程中和本地开发工具中,使前端开发前所未有的高效和轻松。系统架构云构建系统由五部分组成:1.客户端(client)client负责向云构建发起一个构建请求并获取构建后内容。client官方提供了一个已经封装好逻辑的npm模块,如果是基于Node.js的系统,可以直接使用。client支持将需要构建的代码直接上传给构架服务器或者仅提供一个URL,由构建服务器自己从URL下载代码,官方更推荐后者。2.构建器(builder)builder是构建任务的最终执行者,包含详细的构建业务逻辑builder是一个标准的npm模块3.构建服务器(workers)workers是一组高性能服务器,每台服务器可以并发运32个构建任务。workers可以动态扩容;上线和下线4.构建路由(router)router负责分发构建任务给worker。router集成了worker负载监控功能,可以保证所有worker平均负载。5.数据展示和管理平台(web)web展示所有构建过程中产生的数据web管理构建器和构建服务器架构图:运行一次构建任务的大概过程如下:app(需要调用云构建的各种系统)集成client,并使用client提供的接口发起构建请求client从router获取一个worker地址client与worker建立socket连接,并向这个worker发起构建任务worker实时输出构建日志信息给clientworker完成构建后将构建结果返回给clientclient将构建结果返回给app为了减轻构建服务器的负载,整个构建过程中涉及到的文件上传下载服务都是通过文件中转服务来完成的。abc.json除了上面的五个部分,还有一个配置文件也是必不可少的:abc.json(abuildconfig)。这个文件一般跟需要构建的内容放在一起发送给worker。是一个标准的JSON文件,指定需要调用的builder和一些配置信息。构建器(builder)abc.json和builder是整个云构建平台唯一可定制部分。builder是一个标准的npm模块,入口文件可以是一个Grunfile.js或者gulpfile.js,当然也可以是你自己的xx.js。如果是Gulp或者Grunt脚本,worker会帮你运行这个脚本,如果是普通的npm包,wroker会运行由package.json文件中指定的入口文件。构建器编写注意事项1,项目本身需要依赖一些外部的模块,例如lodash,需要构建开始前需要自己安装相应的依赖,可以通过一个Gulp的task去执行,没有依赖则忽略。3,针对特定项目的配置信息,可以在项目的配置文件(abc.json)中添加,然后在构建时通过读取配置文件获取。4,云构建和本地构建有一定的区别。本地构建时,源码目录和构建好的代码的存放目录构建者都是明确的。而云端构建,构建脚本是由云构建平台来控制的,云构建也需要收集构建好的文件返回给客户端,因此待构建源码的目录(src)和构建好的代码的存放目录(dist)都是需要有云构建平台来指定,worker在执行builder的时候会传递相关参数。5,如果构建器本身需要安装依赖,package.json的依赖需要是dependencies,不能是devDependencies。构建器测试构建器编写本身也需要一定的成本,而且在本地无法测试,如果构建器编写出错,而且已经发布,将会造成很大的问题,因此需要一个构建器的测试平台。通过删除构建系统的大部分特性,而只保留最核心的功能,同时去除原系统的一些限制使构建器能够在上面正常运行。同时编写相应的测试命令行工具,形成整个构建器测试平台。线上构建系统对构建器做了严格的限制,构建器必须要审核通过才能够发布上线。测试平台没有这些限制,方便构建器开发者更新测试。遇到的问题和解决方法1,HTTP连接最开始的时候client与worker都是通过HTTP进行通信,这样实现起来的确是很简单,系统也能正常运行。而且对于绝大多数构建任务来说是没有问题的。但是遇到一些比较大的项目,构建时间比较长的项目,问题就暴露出来了。由于构建时间比较长HTTP连接经常可能会被重置,既有可能因为nginx代理的问题导致,也有可能因为网络问题导致。随着云构建系统越来越复杂,服务器的返回值,需要经过多层嵌套才能够返回给客户端,这对于系统的调试和错误处理带来了很多的不变,而且大大降低了代码的可读性。错误处理变得很复杂,可能会存在没有发现的bug。为了彻底解决这个问题,我们使用了socket来代替HTTP,使用了socket的特性,构建时间即使再久也不会发生构建过程中通信中断的问题。而且只要构建发生错误,通过socket的事件机制立马就能够通知客户端。2,文件上传在最初的系统中,项目文件的上传是通过client直接把项目文件压缩打包上传到worker,项目文件很大打包压缩上传的时间需要很久,而且文件过大,nginx会返回413错误。当并发任务数量过多的时候,worker负载过大,经常会因为上传下载占用过多的资源影响构建服务的正常进行。通过把文件上传服务独立出来,建立单独文件中转服务,worker只需要关注构建相关的问题,不再接收处理上传的文件,client传递给worker的只是一个URL地址。构建完成后,worker把构建好的代码打包压缩上传到文件中转服务,然后返回相应的地址给client,client通过地址拿到构建好的内容。所有文件处理都通过第三方去处理,文件部分的处理和构建过程完全独立。减少了系统的耦合程度。3,负载均衡随着云构建系统被使用的越来越多,构建任务经常需要等待,为了避免构建等待,加快构建速度,我们增加了构建服务器的数量。多台构建服务器就需要有相应的任务分发机制,对任务进行分发保证构建任务不需要等待。因此增加了云构建路由服务(router)。云构建路由对任务进行分发,构建服务器有多台,在分发的时候要根据构建服务器上面正在运行任务的数量进行分发,确保任务能够以最快的速度运行。同时还需要设定心跳机制,定时去检测构建服务器的情况,如果构建服务器出现异常能够及时报警,同时自动下线相应的构建服务器。最大程度的保证构建能够正常的运行,不会因为一台构建服务器出现故障而影响整个构建系统的正常运行。展望1,为了提高测试平台的稳定性和安全性,我们设想为每个构建器提供单独的沙盒运行环境,使用docker技术把构建器的运行环境和构建系统本身隔离开来,保证构建器运行过程的问题不会影响构建系统本身,使两者独立起来。这样做对于系统的安全性也会有很大的提高,限制了构建器本身的运行环境,即使构建器中存在一些危害构建系统的行为也不会影响到构建系统,这样极大的提高了安全性和稳定性。2,目前云构建还只是拥有对代码进行构建的能力,完全可以把云构建平台进行通用化,成为一个通用Node.js任务运行平台,目前我们正在做这方面的尝试。

    • 建站经验
    • 70阅读
    • 2022-04-28

站三界导航
本站声明:本站严格遵守国家相关法律规定,非正规网站一概不予收录。本站所有资料取之于互联网,任何公司或个人参考使用本资料请自辨真伪、后果自负,站三界导航不承担任何责任。在此特别感谢您对站三界导航的支持与厚爱。