• 关于

    虚拟产品数据什么意思

    的搜索结果

问题

OSS使用和资费的咨询

我想购买OSS,看了很久文档有几个问题不是很清楚的,想向大家请教一下: 1、 数据请求次数是指什么,我的网站是WordPress的个人博客,平时很少人访问的&#x...
vipdavid 2019-12-01 21:37:13 4185 浏览量 回答数 3

回答

回 22楼(billz) 的帖子 我知道SLB和CDN是两码事,但对于我们来说,CDN目前更加实用,我说的一个网站用1个数据库4个php 1个oss并不是因为成本高,而是与独立集群来对比,性价比太低,好比你花10000元买个3毛钱的馒头,很多人都不会这么做而已,对于阿里云,其产品毕竟是虚拟机VM,与独立服务器相比性能肯定会弱很多,价格却没差别…… ------------------------- Re:Re吐槽一下阿里云的slb 引用第22楼billz于2013-04-27 18:19发表的 Re吐槽一下阿里云的slb : 兄弟,咱别喷歪了。 slb和cdn完全是两码事。 slb是一个网站到了一定规模以后必须采用的内部技术手段。而cdn却不一定。阿里云提供slb服务的初衷是非常好的,但我们需要的是成熟可靠的、可商用的稳定性,而目前这个产品明显达不到要求。 一个网站用1个数据库4个php 1个oss,这根本算不了啥。这点支出对于一个中型网站来说根部不算什么。这个并不重要。 你们的努力的确我看到了,只不过速度不像你们这么大公司的速度,反馈建议的目的也是为了让你们发展提速而已,并无其他意思,毕竟你们发展了,我们这些用户也会跟着受益,你说的Case问题完全可以多开放一些用户进来,而不是把价格标的高高的让人进不去,为了让你们产品完善,免费让一些技术进来使用又何妨,帮助你们完善产品,测试bug,提高你们的竞争力害怕没用户么,总比没人使用搞得存在你所谓的case问题好啊。
qw6789 2019-12-02 01:08:30 0 浏览量 回答数 0

回答

硬盘读写速度现在怎么都达不到千兆, ssd读也达不到。(特殊设备除外,貌似看到新闻说有实验室的产品读写速度可以过G) 不过可以采取,写入缓冲的方式,数据先保存在内存,再写入到硬盘,不过缺点怕掉电。 读的话,采取分布式的读,可以达到很高的吞吐量。 网络传输的话,问题在于怎么保证传输稳定和不出错######这对内存的要求很高啊,而且还不能耽误其他程序对内存的使用,这个内存我觉得应该很大吧###### 引用来自“十一文”的答案 硬盘读写速度现在怎么都达不到千兆, ssd读也达不到。(特殊设备除外,貌似看到新闻说有实验室的产品读写速度可以过G) 不过可以采取,写入缓冲的方式,数据先保存在内存,再写入到硬盘,不过缺点怕掉电。 读的话,采取分布式的读,可以达到很高的吞吐量。 网络传输的话,问题在于怎么保证传输稳定和不出错 这么说来, 在顺序存取方面 , 网络传输速度相对与硬盘 io 速度还是有优势的,不知道这么理解是否成立。 因为机放内部设备间千兆网卡很常见,传输速度相当快,并且成本相对硬盘少许多。 ######看贴不跟帖,帖子要沉了。需要顶。 无论对错。发表点个人观点也好。不能让它沉。 ###### "千兆网卡很常见", 這裡 “ 千兆” 是指1000M bits, 大概也就100M Bytes。 Intel SSD 520 Sequential Read 已经可高达550M Bytes per second, 顺序写可高达275M Bytes per second.######回复 @十一文 : 现在的HBA卡4G的已经很通用了,好像12G的都出来了,一般服务器都有好几个接口的,再来个负载均很啥的,网络传输不是问题######汗 查了哈 还真是这样。擦我out了!######网络允许帮定双网卡。所以,网络传输可以更快点,相对来说,速度提升技术性难度小点。 磁盘阵列是否回更好? 光线通讯用的网卡是否会更快点。 ###### 顺便提点应用。 是这样的, 排序在信息处理方面很常见。 无论用什么算法。都是在一个相对平等的环境中。 现实中应用,比如1g内容的排序和1T内容排序难点还是数据交换上。 1g可以全部加载进内存玩。1T就要涉及到信息交换了。如果一个系统界面,把存储信息部分扩展到近乎无限空间大小。 就好比内存数据交换比磁盘数据交换要快许多。 比如1T大小数据做排序。 只要一个设备顺序读取数据,按照开头部分把数据通过网络分发给N 台机器,处理除了开头部分数据,后面的数据排序。这样就可以N多设备协同工作。效率达到 1+1 > 2 的目的。 否则如果是1台设备需要 加载数据,排序, 临时存储, 加载另外数据,处理,临时存储,加载.... 汇总分结果,获得总结果。 1台设备这么处理,做了很多重复劳动。如果网络够快 多台设备 避免了重复加载。 达到 1+1>2######回复 @十一文 : 差不多的意思。######hadoop是把数据分成分成多个部分,每部分各自处理结果,然后汇总处理。即把你的1t的数据分成n份,然后每份分发给不同机器处理。然后汇总结果。不知道适用你的场景不?######貌似这中数据分析,现在流行用hadoop。楼主可以调研哈######这么说不好理解。形象一点说一下:假设有1000个数据样本,每个样本里有1T条数据内容。 一知每个样本内数据条目重复率为0.001%.目的,找出这1000个样本内,每个样本中重复的样本。并统计所有样本中重复的次数。 这个如果算复杂运算,不如说是大数据处理。 假设 每个设备 一次能加载1G条数据。######硬盘技术感觉好多年都在原地踏步没有质的飞跃啊###### @johnzhang68 毕竟转速有影响######磁性硬盘在容量方面还是有明显的飞跃。速度方面提高得慢一些。######或许未来,存储虚拟化是条路子。  数据处理和数据交互关系密切。 以数据处理为目的,建立多系统群集方式在处理上或许会比高计算系统群集更有优势。 ######又没落了。顶起 ######没有试过,关注一下######再看了哈貌似你真的很需要hadoop
kun坤 2020-06-07 22:18:40 0 浏览量 回答数 0

万券齐发助力企业上云,爆款产品低至2.2折起!

限量神券最高减1000,抢完即止!云服务器ECS新用户首购低至0.95折!

问题

别犹豫了,用阿里服务,不会错!做站的你遇到过下面的情况你会怎么办?

      做开发做了那么久,做过的站大大小小有百来个了吧。开发的程序也有几个了。平时的时候在自己的机器上跑跑还是可以的。一方面客户看你的技术,什么时候做完,做的质量怎么样。另外一方面,...
dieshang668 2019-12-01 21:24:39 8893 浏览量 回答数 4

问题

【百问百答】《5G+AI 智慧文娱前沿技术解读》

注:问题中对回答答案及问题有疑问欢迎指出,我会尽快修改!!!——————————————————————————— 如何用技术带给用户更加流畅且个性化的体验,...
Pony马 2021-03-12 18:06:04 101 浏览量 回答数 0

问题

【精品问答】不懂如何使用ECS?ECS功能百问看这里

【精品问答】不懂如何使用ECS?ECS功能百问看这里 云服务器(Elastic Compute Service,简称 ECS)是一种简单高效、处理能力可弹性伸缩的计算服务࿰...
问问小秘 2020-01-02 15:48:11 9261 浏览量 回答数 5

回答

基础:比如计算机系统、算法、编译原理等等 Web开发: 主要是Web开发相关的内容,包括HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)以及Mysql(数据库)相关的知识。它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面),这部分内容你可以去上面的那个runoob网站上找。J2EE:你需要学习的是Servlet/JSP(J2EE)部分,这部分是Java后端开发必须非常精通的部分,因此这部分是这三部分中最需要花精力的。关于Servlet/Jsp部分视频的选择,业界比较认可马士兵的视频 。最后一步,你需要学会使用数据库,mysql是个不错的入门选择,而且Java领域里主流的关系型数据库就是mysql。这部分一般在你学习Servlet/Jsp的时候,就会接触到的,其中的JDBC部分就是数据库相关的部分。你不仅要学会使用JDBC操作数据库,还要学会使用数据库客户端工具,比如navicat,sqlyog,二选一即可。开发框架:目前比较主流的是SSM框架,即spring、springmvc、mybatis。你需要学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。你可以不理解那些配置都是什么含义,以及为什么要这么做,这些留着后面你去了解。但你一定要可以快速的利用它们三个搭建出一个Web框架,你可以记录下你第一次搭建的过程,相信我,你一定会用到的。还要提一句的是,你在搭建SSM的过程中,可能会经常接触到一个叫maven的工具。这个工具也是你以后工作当中几乎是必须要使用的工具,所以你在搭建SSM的过程中,也可以顺便了解一下maven的知识。在你目前这个阶段,你只需要在网络上了解一下maven基本的使用方法即可,一些高端的用法随着你工作经验的增加,会逐渐接触到的。在这一年里,你至少需要看完《Java编程思想》这本书。这本书的内容是帮助你对于Java有一个更加深入的了解,是Java基础的升级版。 总而言之,这个阶段的核心学习思想就是,在工作中实践,并且更加深入的了解Java基础。对于参加工作1年到2年的同学。这部分时间段的同学,已经对Java有了一个更加深入的了解。但是对于面向对象的体会可能还不够深刻,编程的时候还停留在完成功能的层次,很少会去考虑设计的问题。于是这个时候,设计模式就来了。我当时看的是《大话设计模式》这本书,并且写了完整版的设计模式博客。因此,我要求大家,最多在你工作一年的时候,必须开始写博客,而设计模式就是你博客的开端。此外,设计模式并不是你这一年唯一的任务,你还需要看一些关于代码编写优化的书。比如《重构 改善既有代码的设计》,《effective java》。总而言之,这个阶段,你的核心任务就是提高你的代码能力,要能写出一手优雅的代码。对于参加工作2年到3年的同学有的同学在这个时候觉得自己已经很牛逼了,于是忍不住开始慢慢松懈。请记住,你还嫩的多。这个阶段,有一本书是你必须看的,它叫做《深入理解Java虚拟机》。这本书绝对是Java开发者最重要的书,没有之一。在我眼里,这本书的重要性还要高于《Java编程思想》。这本书的内容是帮助你全面的了解Java虚拟机,在这个阶段,你一定已经知道Java是运行在JVM之上的。所以,对于JVM,你没有任何理由不了解它。这个时候,你应该去更加深入的了解并发相关的知识,而这部分内容,我比较推荐《Java并发编程实战》这本书。只要你把这本书啃下来了,并发的部分基本已经了解了十之六七。与此同时,这个阶段你要做的事情还远不止如此。这个时候,你应该对于你所使用的框架应该有了更深入的了解,对于Java的类库也有了更深入的了解。因此,你需要去看一些JDK中的类的源码,也包括你所使用的框架的源码。这些源码能看懂的前提是,你必须对设计模式非常了解。否则的话,你看源码的过程中,永远会有这样那样的疑问,这段代码为什么要这么写?为什么要定义这个接口,它看起来好像很多余?由此也可以看出,这些学习的过程是环环相扣的,如果你任何一个阶段拉下来了,那么你就真的跟不上了,或者说是一步慢步步慢。而且我很负责的告诉你,我在这个阶段的时候,所学习的东西远多于这里所罗列出来的。总而言之,这个阶段,你需要做的是深入了解Java底层和Java类库(比如并发那本书就是Java并发包java.concurrent的内容),也就是JVM和JDK的相关内容。而且还要更深入的去了解你所使用的框架,方式比较推荐看源码或者看官方文档。另外,还有一种学习的方式,在2年这个阶段,也应该启用了,那就是造轮子。不要听信那套“不要重复造轮子”的论调,那是公司为了节省时间成本编造出来的。重复造轮子或许对别人没有价值,因为你造的轮子可能早就有了,而且一般情况下你造出来的轮子还没有现存的好。  但是对别人没有价值,不代表对你自己没有价值。一个造轮子的过程,是一个从无到有的过程。这个过程可以对你进行系统的锻炼,它不仅考察你的编码能力,还考察你的框架设计能力,你需要让你的轮子拥有足够好的扩展性、健壮性。而且在造轮子的过程中,你会遇到各种各样的难题,这些难题往往又是你学习的契机。当你把轮子造好的时候,你一定会发现,其实你自己收获了很多。所以,这个阶段,除了上面提到的了解JVM、JDK和框架源码以外,也请你根据别人优秀的源码,去造一个任何你能够想象出来的轮子。第四部分:参加工作3年到4年的同学这个阶段的同学,提升已经是很难了,而且这个阶段的学习往往会比较多样化。因为在前3年的过程中,你肯定或多或少接触过一些其它的技术,比如大数据、分布式缓存、分布式消息服务、分布式计算、软负载均衡等等。这些技术,你能精通任何一项,都将是你未来面试时巨大的优势,因此如果你对某一项技术感兴趣的话,  这个时候可以深入去研究一下。这项技术不一定是你工作所用到的,但一定是相关的。而且在研究一门新技术时,切忌朝三暮四。有的同学今天去整整大数据,搞搞Hadoop、hbase一类的东西。过不了一段时间,就觉得没意思,又去研究分布式缓存,比如redis。然后又过不了一段时间,又去研究分布式计算,比如整整Mapreduce或者storm。结果到最后,搞得自己好像什么都会一样,在简历上大言不惭的写上大数据、分布式缓存、分布式计算都了解,其实任何一个都只是浮于表面。到时候面试官随便一问,就把你给识破了。我比较推崇的基础书籍有三本,分别是《深入理解计算机系统》,《tcp/ip详解 卷一、二、三》,《数据结构与算法》。其中TCP/IP有三本书,但我们这里把这三本看成是一本大书。这三本分别适合三种人,《深入理解计算机系统》比较适合一直从事Java Web开发和APP后端开发工作的人群。《tcp/ip详解 卷一、二、三》比较适合做网络编程的人群,比如你使用netty去开发的话,那么就要对TCP/IP有更深入的了解。而《数据结构与算法》这本书,则比较适合做计算研究工作的人,比如刚才提到的分布式计算。另外,我要强调的是,这里所说的适合,并不是其它两本对你就没有用。比如你做Java Web和APP后端开发,《tcp/ip详解 卷一、二、三》这本书对你的作用也是很大的。这里只是分出个主次关系而已,你要是时间足够的话,能把三本都精读那当然最好不过了。第五部分:参加工作4年到5年的同学经过前面一年的历练,相信你在自己所钻研的领域已经有了自己一定的见解,这个时候,技术上你应该已经遇到瓶颈了。这个时候不要着急提高自己的技术,已经是时候提高你的影响力了,你可以尝试去一些知名的公司去提高你的背景,你可以发表一些文章去影响更多的人。当然,你也可以去Github创建一个属于你的开源项目,去打造自己的产品。  这次的开源项目不同于之前的造轮子,你这个时候是真的要去尽量尝试造出来真正对别人有价值的轮子。技术学到这个阶段,很容易遇到瓶颈,而且往往达到一定程度后,你再深入下去的收效就真的微乎其微了,除非你是专门搞学术研究的。然而很可惜,大部分程序猿做不到这一步,那是科学家做的事情。这个时候提高影响力不仅仅是因为技术上容易遇到瓶颈,更多的是影响力可以给你创造更多的机会。程序猿在某种程度上和明星很像,一个好的电视剧和电影就可以成就一批明星,程序猿有的时候也是,一个好的项目就可以成就一群程序猿。比如国内几个脍炙人口的项目,像淘宝、支付宝、QQ、百度、微信等等。这每一个项目,都成就了一批程序猿。我敢说,这里面任何一个项目,如果你是它的核心开发,光是这样一个Title,就已经是你非常大的优势。更何况还不止如此,Title说到底也是个名头,更重要的是,这种项目在做的时候,对你的历练一定也是非常给力的。
hiekay 2019-12-02 01:38:44 0 浏览量 回答数 0

回答

基础:比如计算机系统、算法、编译原理等等 Web开发: 主要是Web开发相关的内容,包括HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)以及Mysql(数据库)相关的知识。它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面),这部分内容你可以去上面的那个runoob网站上找。J2EE:你需要学习的是Servlet/JSP(J2EE)部分,这部分是Java后端开发必须非常精通的部分,因此这部分是这三部分中最需要花精力的。关于Servlet/Jsp部分视频的选择,业界比较认可马士兵的视频 。最后一步,你需要学会使用数据库,mysql是个不错的入门选择,而且Java领域里主流的关系型数据库就是mysql。这部分一般在你学习Servlet/Jsp的时候,就会接触到的,其中的JDBC部分就是数据库相关的部分。你不仅要学会使用JDBC操作数据库,还要学会使用数据库客户端工具,比如navicat,sqlyog,二选一即可。开发框架:目前比较主流的是SSM框架,即spring、springmvc、mybatis。你需要学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。你可以不理解那些配置都是什么含义,以及为什么要这么做,这些留着后面你去了解。但你一定要可以快速的利用它们三个搭建出一个Web框架,你可以记录下你第一次搭建的过程,相信我,你一定会用到的。还要提一句的是,你在搭建SSM的过程中,可能会经常接触到一个叫maven的工具。这个工具也是你以后工作当中几乎是必须要使用的工具,所以你在搭建SSM的过程中,也可以顺便了解一下maven的知识。在你目前这个阶段,你只需要在网络上了解一下maven基本的使用方法即可,一些高端的用法随着你工作经验的增加,会逐渐接触到的。在这一年里,你至少需要看完《Java编程思想》这本书。这本书的内容是帮助你对于Java有一个更加深入的了解,是Java基础的升级版。 总而言之,这个阶段的核心学习思想就是,在工作中实践,并且更加深入的了解Java基础。对于参加工作1年到2年的同学。这部分时间段的同学,已经对Java有了一个更加深入的了解。但是对于面向对象的体会可能还不够深刻,编程的时候还停留在完成功能的层次,很少会去考虑设计的问题。于是这个时候,设计模式就来了。我当时看的是《大话设计模式》这本书,并且写了完整版的设计模式博客。因此,我要求大家,最多在你工作一年的时候,必须开始写博客,而设计模式就是你博客的开端。此外,设计模式并不是你这一年唯一的任务,你还需要看一些关于代码编写优化的书。比如《重构 改善既有代码的设计》,《effective java》。总而言之,这个阶段,你的核心任务就是提高你的代码能力,要能写出一手优雅的代码。对于参加工作2年到3年的同学有的同学在这个时候觉得自己已经很牛逼了,于是忍不住开始慢慢松懈。请记住,你还嫩的多。这个阶段,有一本书是你必须看的,它叫做《深入理解Java虚拟机》。这本书绝对是Java开发者最重要的书,没有之一。在我眼里,这本书的重要性还要高于《Java编程思想》。这本书的内容是帮助你全面的了解Java虚拟机,在这个阶段,你一定已经知道Java是运行在JVM之上的。所以,对于JVM,你没有任何理由不了解它。这个时候,你应该去更加深入的了解并发相关的知识,而这部分内容,我比较推荐《Java并发编程实战》这本书。只要你把这本书啃下来了,并发的部分基本已经了解了十之六七。与此同时,这个阶段你要做的事情还远不止如此。这个时候,你应该对于你所使用的框架应该有了更深入的了解,对于Java的类库也有了更深入的了解。因此,你需要去看一些JDK中的类的源码,也包括你所使用的框架的源码。这些源码能看懂的前提是,你必须对设计模式非常了解。否则的话,你看源码的过程中,永远会有这样那样的疑问,这段代码为什么要这么写?为什么要定义这个接口,它看起来好像很多余?由此也可以看出,这些学习的过程是环环相扣的,如果你任何一个阶段拉下来了,那么你就真的跟不上了,或者说是一步慢步步慢。而且我很负责的告诉你,我在这个阶段的时候,所学习的东西远多于这里所罗列出来的。总而言之,这个阶段,你需要做的是深入了解Java底层和Java类库(比如并发那本书就是Java并发包java.concurrent的内容),也就是JVM和JDK的相关内容。而且还要更深入的去了解你所使用的框架,方式比较推荐看源码或者看官方文档。另外,还有一种学习的方式,在2年这个阶段,也应该启用了,那就是造轮子。不要听信那套“不要重复造轮子”的论调,那是公司为了节省时间成本编造出来的。重复造轮子或许对别人没有价值,因为你造的轮子可能早就有了,而且一般情况下你造出来的轮子还没有现存的好。  但是对别人没有价值,不代表对你自己没有价值。一个造轮子的过程,是一个从无到有的过程。这个过程可以对你进行系统的锻炼,它不仅考察你的编码能力,还考察你的框架设计能力,你需要让你的轮子拥有足够好的扩展性、健壮性。而且在造轮子的过程中,你会遇到各种各样的难题,这些难题往往又是你学习的契机。当你把轮子造好的时候,你一定会发现,其实你自己收获了很多。所以,这个阶段,除了上面提到的了解JVM、JDK和框架源码以外,也请你根据别人优秀的源码,去造一个任何你能够想象出来的轮子。第四部分:参加工作3年到4年的同学这个阶段的同学,提升已经是很难了,而且这个阶段的学习往往会比较多样化。因为在前3年的过程中,你肯定或多或少接触过一些其它的技术,比如大数据、分布式缓存、分布式消息服务、分布式计算、软负载均衡等等。这些技术,你能精通任何一项,都将是你未来面试时巨大的优势,因此如果你对某一项技术感兴趣的话,  这个时候可以深入去研究一下。这项技术不一定是你工作所用到的,但一定是相关的。而且在研究一门新技术时,切忌朝三暮四。有的同学今天去整整大数据,搞搞Hadoop、hbase一类的东西。过不了一段时间,就觉得没意思,又去研究分布式缓存,比如redis。然后又过不了一段时间,又去研究分布式计算,比如整整Mapreduce或者storm。结果到最后,搞得自己好像什么都会一样,在简历上大言不惭的写上大数据、分布式缓存、分布式计算都了解,其实任何一个都只是浮于表面。到时候面试官随便一问,就把你给识破了。我比较推崇的基础书籍有三本,分别是《深入理解计算机系统》,《tcp/ip详解 卷一、二、三》,《数据结构与算法》。其中TCP/IP有三本书,但我们这里把这三本看成是一本大书。这三本分别适合三种人,《深入理解计算机系统》比较适合一直从事Java Web开发和APP后端开发工作的人群。《tcp/ip详解 卷一、二、三》比较适合做网络编程的人群,比如你使用netty去开发的话,那么就要对TCP/IP有更深入的了解。而《数据结构与算法》这本书,则比较适合做计算研究工作的人,比如刚才提到的分布式计算。另外,我要强调的是,这里所说的适合,并不是其它两本对你就没有用。比如你做Java Web和APP后端开发,《tcp/ip详解 卷一、二、三》这本书对你的作用也是很大的。这里只是分出个主次关系而已,你要是时间足够的话,能把三本都精读那当然最好不过了。第五部分:参加工作4年到5年的同学经过前面一年的历练,相信你在自己所钻研的领域已经有了自己一定的见解,这个时候,技术上你应该已经遇到瓶颈了。这个时候不要着急提高自己的技术,已经是时候提高你的影响力了,你可以尝试去一些知名的公司去提高你的背景,你可以发表一些文章去影响更多的人。当然,你也可以去Github创建一个属于你的开源项目,去打造自己的产品。  这次的开源项目不同于之前的造轮子,你这个时候是真的要去尽量尝试造出来真正对别人有价值的轮子。技术学到这个阶段,很容易遇到瓶颈,而且往往达到一定程度后,你再深入下去的收效就真的微乎其微了,除非你是专门搞学术研究的。然而很可惜,大部分程序猿做不到这一步,那是科学家做的事情。这个时候提高影响力不仅仅是因为技术上容易遇到瓶颈,更多的是影响力可以给你创造更多的机会。程序猿在某种程度上和明星很像,一个好的电视剧和电影就可以成就一批明星,程序猿有的时候也是,一个好的项目就可以成就一群程序猿。比如国内几个脍炙人口的项目,像淘宝、支付宝、QQ、百度、微信等等。这每一个项目,都成就了一批程序猿。我敢说,这里面任何一个项目,如果你是它的核心开发,光是这样一个Title,就已经是你非常大的优势。更何况还不止如此,Title说到底也是个名头,更重要的是,这种项目在做的时候,对你的历练一定也是非常给力的。
hiekay 2019-12-02 01:40:04 0 浏览量 回答数 0

问题

安卓与iOS百问,开发者系统指南

iOS与安卓的主要区别在于1、两者运行机制不同:iOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。2、两者后台制度不同:iOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。因此在进行应用开发的时...
yq传送门 2019-12-01 20:14:48 27317 浏览量 回答数 26

问题

达达O2O后台架构演进实践:从0到4000高并发请求背后的努力:报错

1、引言 达达创立于2014年5月,业务覆盖全国37个城市,拥有130万注册众包配送员,日均配送百万单,是全国领先的最后三公里物流配送平台。 达达的业务模式与滴滴以及Uber很相似...
kun坤 2020-06-09 15:20:48 4 浏览量 回答数 1

问题

程序员报错QA大分享(1)

程序员报错QA征集第一弹来了哦~包含QA分享一期征集的部分内容,链接附带解决方案,可收藏哦~ npm install安装依赖一直报错?报错https://developer.aliyun.com/ask/301...
问问小秘 2020-06-18 15:46:14 1684 浏览量 回答数 2

回答

金山毒霸+金山卫士。######+10086######回复 @xmut : 是的。金山的软件,装了瑞星防火墙的话,可以看到联网进程N个。当然,瑞星防火墙也不靠谱。免费后更是弹窗、弹游戏窗都来了,甚至很多时候都不拦程序。WPS就处理文字是不错,没用的联网进程真的不爽。######装个WPS默认安装金山快盘、金山卫士一家子,你要比谁更流氓吗?###### 引用来自“归海一刀”的答案 哎,主要是电脑老婆用得多,不像你我都是搞技术的,知道如何去优化电脑、防范病毒。其实,电脑小白是相当多的,如果人人都是做电脑技术出身的就好了。 我用的TX电脑管家一样有这玩意儿。既然你说是技术出身,那你也应该知道,只要内存里有不是你自己写的程序都不安全。你就不怕浏览器收集你的帐号密码?那把浏览器抵制了吧。然后你就不怕操作系统收集你密码?那就洗洗睡吧。虽然我从来不用360的任何软件,但是你这文章,也有些哗众取宠了。 ######+10086######确实有点这意思###### 你要是觉得它不靠谱,干啥要装它 裸奔多年一点事都没有 ######回复 @纵使有花兼明月何堪无酒亦无人 : 有王里######可能黑客一直帮你在杀毒。######也有另外一种可能:你早成为别人的肉鸡,别人在你的电脑上同样裸奔多年一点事也没有,这种事很常见######哎,主要是电脑老婆用得多,不像你我都是搞技术的,知道如何去优化电脑、防范病毒。其实,电脑小白是相当多的,如果人人都是做电脑技术出身的就好了。######国内的大部分软件都会对你电脑硬盘文件进行扫描。别说腾讯就不弹,一会弹拍拍,一会弹会员,一会弹QQ秀,百度就干净?一个竞价排名就能恶心死你,金山杀毒?come on...国内环境如此,商业竞争就是这么残酷,一个村长就能让你残废,还谈什么软件弹窗口..哎 偏激了点国内无干净软件,更无“干净”公司,一旦利益牵扯面过大,你想干净?很难。######回复 @ssn6 : 说得好!顶一下!######一边指责别人的免费软件强奸你,一边又主动去抱360大腿,什么你保护不了自己的老婆你老婆需要的是360, 你自己要用一边用一边骂?一个免费软件还不能在自己的平台推广自己的产品?你请了一个管家看家又整天疑神疑鬼怀疑管家偷你东西?360要你的银行账号有毛用,从你后面夸张的贬低360的回复,你根本就是一个360黑!###### 引用来自“归海一刀”的答案 哎,主要是电脑老婆用得多,不像你我都是搞技术的,知道如何去优化电脑、防范病毒。其实,电脑小白是相当多的,如果人人都是做电脑技术出身的就好了。 目前360的用户量已经锐减一半了, 你纵观整个互联网, 哪家网站会报360的软件更新消息? pcbeta 肯定第一封锁360, cnbeta 那更不用说. 太平洋电脑, 最好在上面不要提360, 否则被喷死. 天空下载, 也仅仅是放了个链接, 不在推荐之列. .......................... 当整个互联网都封杀360时, 流氓也就可以洗洗睡了. ######回复 @ssn6 : 世界上只有两种网站;世界上只有两种软件。。。。######360用户锐减一半的数据来自哪里?GFW还封锁呢,等于中国的人口也一下子就锐减一半?而且你列的这几个网站早就要死不断气了,原来的天空下载早就关了,现在的内容全面抄袭360软件宝库的内容,无非都是做不过360只好羡慕嫉妒恨搞封锁。国人就这样见不得别人好,越成功骂的人、贬低他的人就越多。######回复 @铂金小猪 : +1######这四个网站,除了第三个会偶尔上一下。其他都不上。###### 我也没装。真想不通你不放心干嘛还要安装。 记得N年前的时候,各大报刊评杀软的时候,除了杀毒效果,总是会提到占用内存的问题。而现在中国貌似不提杀毒效果(貌似选择杀软的时候没人会关心国外那个杀软测评,以及考虑360和tx、金山杀毒、防御效果哪个好),也不提占用内存,只关心几个人在用(使用量),好用不好用。 关于好用不好用,很难理解结论是怎么得出来的。装了360上网银安全,不装就不安全(或者没其他防御软件了?比如小红伞、MSE)?开机就报开机花费几秒钟很人性化? ######回复 @ssn6 : 这都是产品给用户惯得,记得之前看过一个比喻,说一个乞丐去一个人家要饭,年轻人给了他10块钱,后来乞丐每次去年轻人都给他10块钱,后来年轻人结婚了,乞丐又去要饭,年轻人给了他5块钱,乞丐问他为什么这次给5块,年轻人说我娶老婆啦,那五块钱给我老婆省下了,乞丐抽了年轻人一巴掌,说,你把本该属于我的钱给了你老婆。。。。我觉得这个故事就是在说360和如今的用户。。。######记得N年前的时候?N年前没有360的时候,杀毒软件还是老贵老贵的,自从有了360,杀毒软件不再要钱了,穷逼屌丝们也都可以一边用一边骂,不要钱可以免费装逼而已。######回复 @mark35 : U盾还只是天朝的发明产物,这个他们还真可以说是自主研发。别人没有的问题,我们有了,并且我们搞了一个根本不靠谱的方法出来解决,貌似很牛叉的样子。######回复 @地鼠特工队 : 国外网银没见谁必须要装插件的######是啊,国外网银都生活在水深火热之中。我现在生活用MAC,工作用Linux。Windows都是虚拟机的宠物,完全祼奔。######用linux######chrome + adblock plus,清净######禁止插件,妥妥的。###### IE11 + QQ电脑管家 管家重点不是安全工作, 而是给QQ升等级, 你懂的. 其次, 退一万步, 腾讯的道德品格还是给人一种放心. ######回复 @我不叫大脸猫 : 腾讯本来就有QQ医生。公司做大了,谁不想做自己的安全呢?明明是数字出了什么扣扣保镖,还诱惑别人把QQ好友备份到他的服务器,他是什么想法?######+1 腾讯系,还有腾讯的openid也挺方便,不用到处注册######回复 @William : 基本上都是TX软件, QQ音乐, QQ游戏, QQ管家, QQ五笔, QQ浏览器.######+1 反正要用QQ, 索性我也全部TX系, QQ管家, QQ输入法. QQ播放器...######跟tx谈道德啊……另外,你太虚荣了,装个QQ管家是为了升级。 我表示我会装360,但是不是开机启动,也不常用。为了表示支持下360,是360把互联网的一些市场格局打乱了……
kun坤 2020-06-08 11:28:08 0 浏览量 回答数 0

回答

回45楼拆桥在过河的帖子 重新下载一次,再解压试试,安装包好多人用过的,不会有问题。 如再出错,将报错信息发上来。 ------------------------- 回66楼奇真界的帖子 亲,看到您的站点已经建好了,有问题再留言,感谢使用阿里云的服务! ------------------------- 回67楼信天游科技的帖子 感动了,欢迎使用! ------------------------- 回71楼奇真界的帖子 nginx  和 apache 的配置文件不通用,需要单独修改,改的内容可以参考,差不多。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 前面有人问过,请看第“40楼”的回复。 ------------------------- 回77楼荷西的帖子 不同版本的linux,内置的命令可能有所不同,按此方法安装应该是可以的。 ------------------------- 回81楼小敏110的帖子 具体遇到了什么问题? 说详细点,大家可以帮助你。 ------------------------- 回 85楼snabna的帖子 IP能访问吗? 域名是什么? ------------------------- 回 94楼bakabaka的帖子 亲,是“cd /root”,中间有空格 ------------------------- 回 93楼jinyumi的帖子 亲,具体遇到了什么问题?贴出来,大家帮你解决 ------------------------- 回 101楼乐乐智慧的帖子 感觉像是有特别耗CPU的大SQL在执行,否则不会卡到必须重启ECS,建议从管理控制台检查一下各种报警信息,确保ECS是正常的,同时看看RDS里面的SQL审计,看看执行时间。 ------------------------- 回 108楼deerpdean的帖子 亲,请在线咨询一下镜像的供应商,是由合作伙伴提供的。 ------------------------- 回 112楼火星了的帖子 谢谢支持! ------------------------- 回 116楼shashouhang的帖子 好样的,看样子你已经自己安装上了unzip软件,有的镜像里没有自带这个命令,需要大家自己安装。 安装指令:“yum  install unzip” ,一定要注意三个单词中间有空格。 ------------------------- 回 118楼ienpai的帖子 谢谢支持,后续会根据大家关注度较高的需求陆续录制相关教程,有什么建议大家可以论坛里直接提出来。 ------------------------- 回 126楼victoire的帖子 亲,是完全免费的 ------------------------- 回 138楼过往云烟1的帖子 是文档里有乱码吗?请使用标准的 PDF reader试试,之前没有人反馈过。 ------------------------- 回 143楼原不周的帖子 亲,一般情况下不会出现这个问题,有几个方法: 1、重新执行一遍“一键WEB安装包”,支持反复安装的,同时装的时候注意一下有没有异常报错,注意一定要以管理员(root)身份执行。 2、如果还是不行,且ECS上没有重要数据,可以重置一次系统盘再试试。 如果还有问题,请将报错信息发上来,大家一起帮您诊断一下。 ------------------------- 回 150楼疯牛的帖子 首先祝贺这位同学! 回复你的问题: ECS上建立的站点不需要进行域名绑定,只需要做域名解析就可以了,在你的域名解析服务商的平台里加一条A记录,指向ECS的服务器。 ------------------------- 回 152楼原不周的帖子 按照A002教程进行完以后,就自带了phpwind论坛,这是一键WEB安装包自带的,请参考安装包的pdf说明。 ------------------------- 回 161楼fengyunk83的帖子 亲,退出VI编辑器时需要先按一下“ESC”键,然后再输入冒号和wq,教程里忘了写了,下一版更新时会加上。 这是VI的操作方法,详细步骤可以从网上搜一些相关文档学习。 ------------------------- 回 160楼小小传的帖子 如果是用真实的域名,就通过DNS解析来完成,这样所有人都可以通过域名来访问。 如果是用虚拟的域名(未正式注册的,只是测试用),可以通过修改本地PC的hosts文件来测试,其实也是一种解析的方法。 ------------------------- 回 154楼lilianzhang的帖子 暂时没有windows相关的教程,php语言在linux系统下运行得更好,推荐使用linux. ------------------------- 回 158楼fengyunk83的帖子 1、乱码没有关系,只是终端字符集问题,您可以将文档ftp下载到本地查看。 2、目录修改方法: 2.1 将WEB根目录修改为“/alidata/www/wordpress” 2.2 将phpmyadmin目录从“/alidata/www” move 到“/alidata/www/wordpress” 3、最终效果: 3.1 wordpress 可以直接通过 http://ip地址/ 来访问 3.2 phpmyadmin的访问地址变为 http://ip地址/phpmyadmin/ ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 感谢 fengyunk83整理,形成了一个整体的FAQ了! 回答你的问题: 其实离成功只差一步了哈,是我之前没有去实际测试,以为改一个目录就可以,没想到wordpress在数据库里记录了安装时的路径,也需要修改一下,具体如下图所示: wp_option 表里有两个字段(siteurl , home)记录了路径,需要去掉“/wordpress”部份,实测过去掉就完全OK了,如下图: ------------------------- 回 173楼lilianzhang的帖子 不适用,windows系统请直接用“远程桌面”管理,和本地电脑一样。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 云解析的入门帮助: https://help.aliyun.com/document_detail/dns/quick-start/hichina.html?spm=5176.product9002830_dns.4.18.KyzSsD 备案帮助入口: http://beian.aliyun.com/redian.html?spm=5176.200010.5.7.87ogNH @ fengyunk83 反馈的问题很典型,备案在中国是网站开通的必要条件,具体来说域名要指向阿里云的服务器就必须要先备案,如里之前在别的ISP备过案,需要来阿里云办理一次“备案接入”然后才可以访问。 备案的规则比较复杂,各个省的规定差异较大,请先从上面的链接去了解细节,也可以打客服电话去咨询,当然我也会和备案业务部门的同事联系,看看是否可以总结出通用的规则,录成小视频开放给大家。 关于解析的方法,请参上面的入门帮助,如有问题可以继续回复交流。 ------------------------- 回 191楼寂寞猫的帖子 亲,方便的话留个联系方式,或私信我,一定帮你解决好。 ------------------------- 回 203楼ryc0907的帖子 这个提示的意思是您的系统里没有unzip这个命令,这是一个外部命令,需要提前安装,请按照提示在命令行里输入“apt-get install unzip” 试试 ------------------------- 回 198楼伊奇的帖子 如果按照本教程一步一步操作完,最后的访问路径应该像这样: http://ip地址/wordpress/ ,如果试了还是不行,请将IP地址发上来,看看具体报错。 ------------------------- 回 195楼wqing17的帖子 应该是可以的,建议您试一下,有问题发上来,可以协助您解决。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 有个最简单的方法,下载如下文件,用xftp上传至/alidata/www目录下: http://ecsdownload.oss-cn-hangzhou.aliyuncs.com/index.html 该文件的功能是将对根目录的访问重定向到wordpress目录。 ------------------------- 回 232楼风愿的帖子 很可能是您选择的操作系统不是CentOS系列的,请从管理控制台查看一下ECS的OS版本,贴上来,或者如果ECS里没有重要数据就直接更换系统盘,换成CentOS 6.X 再重新安装。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 目录名拼写有误,是 "/alidata/www/" ------------------------- 回 260楼原不周的帖子 参考这篇文章:http://blog.unvs.cn/archives/phpmyadmin-login-error.html 一般是密码不对,或者权限不够。 你可以手工在SSH终端下试试,用命令行:“mysql -uroot -p密码”,看看能否登录。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 视频链接昨天就修好了,欢迎大家继续观看! ------------------------- 回 301楼权威地位的帖子 是不是设置了安全组? 或者SSH监听的端口不是22? ECS默认的设置一定是可以连接的。 具体问题可以加旺旺群(1253616026)沟通。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 欢迎大家学习,我们新推出了在线的自助实验平台,3月底前可以免费做实验,体验云产品的强大功能,登录地址 www.aliyunedu.net ,可用阿里云帐号直接登录。 ------------------------- 回 309楼hlz8mm的帖子 祝贺! ------------------------- 回 314楼拆桥在过河的帖子 本教程选择的是nignx,如果您对linux操作不熟悉的话,建议跟着教程一步一步走 ------------------------- 回 315楼小家子的帖子 前两个问题,请您往前看,之前我回复过优化方法。 第3条,linux的使用和维护技能,本身是一个很大的课题,也是很基础的教程,您可以在网上搜一下,有很多现成的资料可以找到。 在ECS的版块里也有很多实有的内容,希望对您有帮助: https://bbs.aliyun.com/thread/207.html?spm=5176.7189909.3.4.B68UCz ------------------------- 回 325楼fcjfamily的帖子 如果通过IP地址能正常访问, 更换为域名后出现问题,请参考前面的回复,有一个完整的说明,需要改一下数据库里记录的首页URL,有硬链接. ------------------------- 回 380楼bangmind的帖子 提示无效的用户, 换成以下两个命令,分别试试: “chown www wordpress -Rf” “chgrp www wordpress -Rf” 如果还报同样的错,估计是上一步安装的过程中没有创建www用户。 ------------------------- 回 390楼purebob的帖子 出现这个信息应该是nginx没的启动,直接start一下试试。
training 2019-12-01 23:22:03 0 浏览量 回答数 0

回答

Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱 (IMAP/POP3)代理服务器。它运行在UNIX,GNU /linux,BSD 各种版本,Mac OS X,Solaris和Windows。根据调查统计,6%的网站使用Nginx Web服务器。Nginx是少数能处理C10K问题的服务器之一。跟传统的服务器不同,Nginx不依赖线程来处理请求。相反,它使用了更多的可扩展的事 件驱动(异步)架构。Nginx为一些高流量的网站提供动力,比如WordPress,人人网,腾讯,网易等。这篇文章主要是介绍如何提高运行在 Linux或UNIX系统的Nginx Web服务器的安全性。 默认配置文件和Nginx端口 /usr/local/nginx/conf/ – Nginx配置文件目录,/usr/local/nginx/conf/nginx.conf是主配置文件 /usr/local/nginx/html/ – 默认网站文件位置 /usr/local/nginx/logs/ – 默认日志文件位置 Nginx HTTP默认端口 : TCP 80 Nginx HTTPS默认端口: TCP 443 你可以使用以下命令来测试Nginx配置文件准确性。 /usr/local/nginx/sbin/nginx -t 将会输出: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful 执行以下命令来重新加载配置文件。 /usr/local/nginx/sbin/nginx -s reload 执行以下命令来停止服务器。 /usr/local/nginx/sbin/nginx -s stop 一、配置SELinux 注意:对于云服务器 ECS,参阅 ECS 使用须知 ,基于兼容性、稳定性考虑,请勿开启 SELinux。 安全增强型 Linux(SELinux)是一个Linux内核的功能,它提供支持访问控制的安全政策保护机制。它可以防御大部分攻击。下面我们来看如何启动基于centos/RHEL系统的SELinux。 安装SELinux rpm -qa | grep selinux libselinux-1.23.10-2 selinux-policy-targeted-1.23.16-6 如果没有返回任何结果,代表没有安装 SELinux,如果返回了类似上面的结果,则说明系统安装了 SELinux。 布什值锁定 运行命令getsebool -a来锁定系统。 getsebool -a | less getsebool -a | grep off getsebool -a | grep o 二、通过分区挂载允许最少特权 服务器上的网页/html/php文件单独分区。例如,新建一个分区/dev/sda5(第一逻辑分区),并且挂载在/nginx。确保 /nginx是以noexec, nodev and nosetuid的权限挂载。以下是我的/etc/fstab的挂载/nginx的信息: LABEL=/nginx /nginx ext3 defaults,nosuid,noexec,nodev 1 2 注意:你需要使用fdisk和mkfs.ext3命令创建一个新分区。 三、配置/etc/sysctl.conf强化Linux安全 你可以通过编辑/etc/sysctl.conf来控制和配置Linux内核、网络设置。 Avoid a smurf attack net.ipv4.icmp_echo_ignore_broadcasts = 1 Turn on protection for bad icmp error messages net.ipv4.icmp_ignore_bogus_error_responses = 1 Turn on syncookies for SYN flood attack protection net.ipv4.tcp_syncookies = 1 Turn on and log spoofed, source routed, and redirect packets net.ipv4.conf.all.log_martians = 1 net.ipv4.conf.default.log_martians = 1 No source routed packets here net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 Turn on reverse path filtering net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 Make sure no one can alter the routing tables net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.default.secure_redirects = 0 Don’t act as a router net.ipv4.ip_forward = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 Turn on execshild kernel.exec-shield = 1 kernel.randomize_va_space = 1 Tuen IPv6 net.ipv6.conf.default.router_solicitations = 0 net.ipv6.conf.default.accept_ra_rtr_pref = 0 net.ipv6.conf.default.accept_ra_pinfo = 0 net.ipv6.conf.default.accept_ra_defrtr = 0 net.ipv6.conf.default.autoconf = 0 net.ipv6.conf.default.dad_transmits = 0 net.ipv6.conf.default.max_addresses = 1 Optimization for port usefor LBs Increase system file descriptor limit fs.file-max = 65535 Allow for more PIDs (to reduce rollover problems); may break some programs 32768 kernel.pid_max = 65536 Increase system IP port limits net.ipv4.ip_local_port_range = 2000 65000 Increase TCP max buffer size setable using setsockopt() net.ipv4.tcp_rmem = 4096 87380 8388608 net.ipv4.tcp_wmem = 4096 87380 8388608 Increase Linux auto tuning TCP buffer limits min, default, and max number of bytes to use set max to at least 4MB, or higher if you use very high BDP paths Tcp Windows etc net.core.rmem_max = 8388608 net.core.wmem_max = 8388608 net.core.netdev_max_backlog = 5000 net.ipv4.tcp_window_scaling = 1 四、删除所有不需要的Nginx模块 你需要直接通过编译Nginx源代码使模块数量最少化。通过限制只允许web服务器访问模块把风险降到最低。你可以只配置安装nginx你所需要的模块。例如,禁用SSL和autoindex模块你可以执行以下命令: ./configure –without-http_autoindex_module –without-http_ssi_module make make install 通过以下命令来查看当编译nginx服务器时哪个模块能开户或关闭: ./configure –help | less 禁用你用不到的nginx模块。 (可选项)更改nginx版本名称。 编辑文件/http/ngx_http_header_filter_module.c: vi +48 src/http/ngx_http_header_filter_module.c 找到行: static char ngx_http_server_string[] = “Server: nginx” CRLF; static char ngx_http_server_full_string[] = “Server: ” NGINX_VER CRLF; 按照以下行修改: static char ngx_http_server_string[] = “Server: Ninja Web Server” CRLF; static char ngx_http_server_full_string[] = “Server: Ninja Web Server” CRLF; 保存并关闭文件。现在你可以编辑服务器了。增加以下代码到nginx.conf文件来关闭nginx版本号的显示。 server_tokens off 五、使用mod_security(只适合后端Apache服务器) mod_security为Apache提供一个应用程序级的防火墙。为后端Apache Web服务器安装mod_security,这会阻止很多注入式攻击。 六、安装SELinux策略以强化Nginx Web服务器 默认的SELinux不会保护Nginx Web服务器,但是你可以安装和编译保护软件。 1、安装编译SELinux所需环境支持 yum -y install selinux-policy-targeted selinux-policy-devel 2、下载SELinux策略以强化Nginx Web服务器。 cd /opt wget ‘http://downloads.sourceforge.net/project/selinuxnginx/se-ngix_1_0_10.tar.gz?use_mirror=nchc’ 3、解压文件 tar -zxvf se-ngix_1_0_10.tar.gz 4、编译文件 cd se-ngix_1_0_10/nginx make 将会输出如下: Compiling targeted nginx module /usr/bin/checkmodule: loading policy configuration from tmp/nginx.tmp /usr/bin/checkmodule: policy configuration loaded /usr/bin/checkmodule: writing binary representation (version 6) to tmp/nginx.mod Creating targeted nginx.pp policy package rm tmp/nginx.mod.fc tmp/nginx.mod 5、安装生成的nginx.pp SELinux模块: /usr/sbin/semodule -i nginx.pp 七、基于Iptables防火墙的限制 下面的防火墙脚本阻止任何除了允许: 来自HTTP(TCP端口80)的请求 来自ICMP ping的请求 ntp(端口123)的请求输出 smtp(TCP端口25)的请求输出 #!/bin/bash IPT=”/sbin/iptables” IPS Get server public ip SERVER_IP=$(ifconfig eth0 | grep ‘inet addr:’ | awk -F’inet addr:’ ‘{ print $2}’ | awk ‘{ print $1}’) LB1_IP=”204.54.1.1″ LB2_IP=”204.54.1.2″ Do some smart logic so that we can use damm script on LB2 too OTHER_LB=”" SERVER_IP=”" [[ "$SERVER_IP" == "$LB1_IP" ]] && OTHER_LB=”$LB2_IP” || OTHER_LB=”$LB1_IP” [[ "$OTHER_LB" == "$LB2_IP" ]] && OPP_LB=”$LB1_IP” || OPP_LB=”$LB2_IP” IPs PUB_SSH_ONLY=”122.xx.yy.zz/29″ FILES BLOCKED_IP_TDB=/root/.fw/blocked.ip.txt SPOOFIP=”127.0.0.0/8 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 169.254.0.0/16 0.0.0.0/8 240.0.0.0/4 255.255.255.255/32 168.254.0.0/16 224.0.0.0/4 240.0.0.0/5 248.0.0.0/5 192.0.2.0/24″ BADIPS=$( [[ -f ${BLOCKED_IP_TDB} ]] && egrep -v “^#|^$” ${BLOCKED_IP_TDB}) Interfaces PUB_IF=”eth0″ # public interface LO_IF=”lo” # loopback VPN_IF=”eth1″ # vpn / private net start firewall echo “Setting LB1 $(hostname) Firewall…” DROP and close everything $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP Unlimited lo access $IPT -A INPUT -i ${LO_IF} -j ACCEPT $IPT -A OUTPUT -o ${LO_IF} -j ACCEPT Unlimited vpn / pnet access $IPT -A INPUT -i ${VPN_IF} -j ACCEPT $IPT -A OUTPUT -o ${VPN_IF} -j ACCEPT Drop sync $IPT -A INPUT -i ${PUB_IF} -p tcp ! –syn -m state –state NEW -j DROP Drop Fragments $IPT -A INPUT -i ${PUB_IF} -f -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL ALL -j DROP Drop NULL packets $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL NONE -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” NULL Packets “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL NONE -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,RST SYN,RST -j DROP Drop XMAS $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,FIN SYN,FIN -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” XMAS Packets “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,FIN SYN,FIN -j DROP Drop FIN packet scans $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags FIN,ACK FIN -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” Fin Packets Scan “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags FIN,ACK FIN -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP Log and get rid of broadcast / multicast and invalid $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type broadcast -j LOG –log-prefix ” Broadcast “ $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type broadcast -j DROP $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type multicast -j LOG –log-prefix ” Multicast “ $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type multicast -j DROP $IPT -A INPUT -i ${PUB_IF} -m state –state INVALID -j LOG –log-prefix ” Invalid “ $IPT -A INPUT -i ${PUB_IF} -m state –state INVALID -j DROP Log and block spoofed ips $IPT -N spooflist for ipblock in $SPOOFIP do $IPT -A spooflist -i ${PUB_IF} -s $ipblock -j LOG –log-prefix ” SPOOF List Block “ $IPT -A spooflist -i ${PUB_IF} -s $ipblock -j DROP done $IPT -I INPUT -j spooflist $IPT -I OUTPUT -j spooflist $IPT -I FORWARD -j spooflist Allow ssh only from selected public ips for ip in ${PUB_SSH_ONLY} do $IPT -A INPUT -i ${PUB_IF} -s ${ip} -p tcp -d ${SERVER_IP} –destination-port 22 -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -d ${ip} -p tcp -s ${SERVER_IP} –sport 22 -j ACCEPT done allow incoming ICMP ping pong stuff $IPT -A INPUT -i ${PUB_IF} -p icmp –icmp-type 8 -s 0/0 -m state –state NEW,ESTABLISHED,RELATED -m limit –limit 30/sec -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -p icmp –icmp-type 0 -d 0/0 -m state –state ESTABLISHED,RELATED -j ACCEPT allow incoming HTTP port 80 $IPT -A INPUT -i ${PUB_IF} -p tcp -s 0/0 –sport 1024:65535 –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -p tcp –sport 80 -d 0/0 –dport 1024:65535 -m state –state ESTABLISHED -j ACCEPT allow outgoing ntp $IPT -A OUTPUT -o ${PUB_IF} -p udp –dport 123 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -i ${PUB_IF} -p udp –sport 123 -m state –state ESTABLISHED -j ACCEPT allow outgoing smtp $IPT -A OUTPUT -o ${PUB_IF} -p tcp –dport 25 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -i ${PUB_IF} -p tcp –sport 25 -m state –state ESTABLISHED -j ACCEPT add your other rules here ####################### drop and log everything else $IPT -A INPUT -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” DEFAULT DROP “ $IPT -A INPUT -j DROP exit 0 八、控制缓冲区溢出攻击 编辑nginx.conf,为所有客户端设置缓冲区的大小限制。 vi /usr/local/nginx/conf/nginx.conf 编辑和设置所有客户端缓冲区的大小限制如下: Start: Size Limits & Buffer Overflows client_body_buffer_size 1K; client_header_buffer_size 1k; client_max_body_size 1k; large_client_header_buffers 2 1k; END: Size Limits & Buffer Overflows 解释: 1、client_body_buffer_size 1k-(默认8k或16k)这个指令可以指定连接请求实体的缓冲区大小。如果连接请求超过缓存区指定的值,那么这些请求实体的整体或部分将尝试写入一个临时文件。 2、client_header_buffer_size 1k-指令指定客户端请求头部的缓冲区大小。绝大多数情况下一个请求头不会大于1k,不过如果有来自于wap客户端的较大的cookie它可能会大于 1k,Nginx将分配给它一个更大的缓冲区,这个值可以在large_client_header_buffers里面设置。 3、client_max_body_size 1k-指令指定允许客户端连接的最大请求实体大小,它出现在请求头部的Content-Length字段。 如果请求大于指定的值,客户端将收到一个”Request Entity Too Large” (413)错误。记住,浏览器并不知道怎样显示这个错误。 4、large_client_header_buffers-指定客户端一些比较大的请求头使用的缓冲区数量和大小。请求字段不能大于一个缓冲区大小,如果客户端发送一个比较大的头,nginx将返回”Request URI too large” (414) 同样,请求的头部最长字段不能大于一个缓冲区,否则服务器将返回”Bad request” (400)。缓冲区只在需求时分开。默认一个缓冲区大小为操作系统中分页文件大小,通常是4k或8k,如果一个连接请求最终将状态转换为keep- alive,它所占用的缓冲区将被释放。 你还需要控制超时来提高服务器性能并与客户端断开连接。按照如下编辑: Start: Timeouts client_body_timeout 10; client_header_timeout 10; keepalive_timeout 5 5; send_timeout 10; End: Timeouts 1、client_body_timeout 10;-指令指定读取请求实体的超时时间。这里的超时是指一个请求实体没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx将返回一个”Request time out” (408)错误。 2、client_header_timeout 10;-指令指定读取客户端请求头标题的超时时间。这里的超时是指一个请求头没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx将返回一个”Request time out” (408)错误。 3、keepalive_timeout 5 5; – 参数的第一个值指定了客户端与服务器长连接的超时时间,超过这个时间,服务器将关闭连接。参数的第二个值(可选)指定了应答头中Keep-Alive: timeout=time的time值,这个值可以使一些浏览器知道什么时候关闭连接,以便服务器不用重复关闭,如果不指定这个参数,nginx不会在应 答头中发送Keep-Alive信息。(但这并不是指怎样将一个连接“Keep-Alive”)参数的这两个值可以不相同。 4、send_timeout 10; 指令指定了发送给客户端应答后的超时时间,Timeout是指没有进入完整established状态,只完成了两次握手,如果超过这个时间客户端没有任何响应,nginx将关闭连接。 九、控制并发连接 你可以使用NginxHttpLimitZone模块来限制指定的会话或者一个IP地址的特殊情况下的并发连接。编辑nginx.conf: Directive describes the zone, in which the session states are stored i.e. store in slimits. 1m can handle 32000 sessions with 32 bytes/session, set to 5m x 32000 session limit_zone slimits $binary_remote_addr 5m; Control maximum number of simultaneous connections for one session i.e. restricts the amount of connections from a single ip address limit_conn slimits 5; 上面表示限制每个远程IP地址的客户端同时打开连接不能超过5个。 十、只允许我们的域名的访问 如果机器人只是随机扫描服务器的所有域名,那拒绝这个请求。你必须允许配置的虚拟域或反向代理请求。你不必使用IP地址来拒绝。 Only requests to our Host are allowed i.e. nixcraft.in, images.nixcraft.in and www.nixcraft.in if ($host !~ ^(nixcraft.in|www.nixcraft.in|images.nixcraft.in)$ ) { return 444; } 十一、限制可用的请求方法 GET和POST是互联网上最常用的方法。 Web服务器的方法被定义在RFC 2616。如果Web服务器不要求启用所有可用的方法,它们应该被禁用。下面的指令将过滤只允许GET,HEAD和POST方法: Only allow these request methods if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } Do not accept DELETE, SEARCH and other methods 更多关于HTTP方法的介绍 GET方法是用来请求,如文件http://www.moqifei.com/index.php。 HEAD方法是一样的,除非该服务器的GET请求无法返回消息体。 POST方法可能涉及到很多东西,如储存或更新数据,或订购产品,或通过提交表单发送电子邮件。这通常是使用服务器端处理,如PHP,Perl和Python等脚本。如果你要上传的文件和在服务器处理数据,你必须使用这个方法。 十二、如何拒绝一些User-Agents? 你可以很容易地阻止User-Agents,如扫描器,机器人以及滥用你服务器的垃圾邮件发送者。 Block download agents if ($http_user_agent ~* LWP::Simple|BBBike|wget) { return 403; } 阻止Soso和有道的机器人: Block some robots if ($http_user_agent ~* Sosospider|YodaoBot) { return 403; } 十三、如何防止图片盗链 图片或HTML盗链的意思是有人直接用你网站的图片地址来显示在他的网站上。最终的结果,你需要支付额外的宽带费用。这通常是在论坛和博客。我强烈建议您封锁,并阻止盗链行为。 Stop deep linking or hot linking location /images/ { valid_referers none blocked www.example.com example.com; if ($invalid_referer) { return 403; } } 例如:重定向并显示指定图片 valid_referers blocked www.example.com example.com; if ($invalid_referer) { rewrite ^/images/uploads.*.(gif|jpg|jpeg|png)$ http://www.examples.com/banned.jpg last } 十四、目录限制 你可以对指定的目录设置访问权限。所有的网站目录应该一一的配置,只允许必须的目录访问权限。 通过IP地址限制访问 你可以通过IP地址来限制访问目录/admin/: location /docs/ { block one workstation deny 192.168.1.1; allow anyone in 192.168.1.0/24 allow 192.168.1.0/24; drop rest of the world deny all; } 通过密码保护目录 首先创建密码文件并增加“user”用户: mkdir /usr/local/nginx/conf/.htpasswd/ htpasswd -c /usr/local/nginx/conf/.htpasswd/passwd user 编辑nginx.conf,加入需要保护的目录: Password Protect /personal-images/ and /delta/ directories location ~ /(personal-images/.|delta/.) { auth_basic “Restricted”; auth_basic_user_file /usr/local/nginx/conf/.htpasswd/passwd; } 一旦密码文件已经生成,你也可以用以下的命令来增加允许访问的用户: htpasswd -s /usr/local/nginx/conf/.htpasswd/passwd userName 十五、Nginx SSL配置 HTTP是一个纯文本协议,它是开放的被动监测。你应该使用SSL来加密你的用户内容。 创建SSL证书 执行以下命令: cd /usr/local/nginx/conf openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr cp server.key server.key.org openssl rsa -in server.key.org -out server.key openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 编辑nginx.conf并按如下来更新: server { server_name example.com; listen 443; ssl on; ssl_certificate /usr/local/nginx/conf/server.crt; ssl_certificate_key /usr/local/nginx/conf/server.key; access_log /usr/local/nginx/logs/ssl.access.log; error_log /usr/local/nginx/logs/ssl.error.log; } 重启nginx: /usr/local/nginx/sbin/nginx -s reload 十六、Nginx与PHP安全建议 PHP是流行的服务器端脚本语言之一。如下编辑/etc/php.ini文件: Disallow dangerous functions disable_functions = phpinfo, system, mail, exec Try to limit resources Maximum execution time of each script, in seconds max_execution_time = 30 Maximum amount of time each script may spend parsing request data max_input_time = 60 Maximum amount of memory a script may consume (8MB) memory_limit = 8M Maximum size of POST data that PHP will accept. post_max_size = 8M Whether to allow HTTP file uploads. file_uploads = Off Maximum allowed size for uploaded files. upload_max_filesize = 2M Do not expose PHP error messages to external users display_errors = Off Turn on safe mode safe_mode = On Only allow access to executables in isolated directory safe_mode_exec_dir = php-required-executables-path Limit external access to PHP environment safemode_allowed_env_vars = PHP Restrict PHP information leakage expose_php = Off Log all errors log_errors = On Do not register globals for input data register_globals = Off Minimize allowable PHP post size post_max_size = 1K Ensure PHP redirects appropriately cgi.force_redirect = 0 Disallow uploading unless necessary file_uploads = Off Enable SQL safe mode sql.safe_mode = On Avoid Opening remote files allow_url_fopen = Off 十七、如果可能让Nginx运行在一个chroot监狱 把nginx放在一个chroot监狱以减小潜在的非法进入其它目录。你可以使用传统的与nginx一起安装的chroot。如果可能,那使用FreeBSD jails,Xen,OpenVZ虚拟化的容器概念。 十八、在防火墙级限制每个IP的连接数 网络服务器必须监视连接和每秒连接限制。PF和Iptales都能够在进入你的nginx服务器之前阻止最终用户的访问。 Linux Iptables:限制每次Nginx连接数 下面的例子会阻止来自一个IP的60秒钟内超过15个连接端口80的连接数。 /sbin/iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –set /sbin/iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –update –seconds 60 –hitcount 15 -j DROP service iptables save 请根据你的具体情况来设置限制的连接数。 十九:配置操作系统保护Web服务器 像以上介绍的启动SELinux.正确设置/nginx文档根目录的权限。Nginx以用户nginx运行。但是根目录(/nginx或者/usr /local/nginx/html)不应该设置属于用户nginx或对用户nginx可写。找出错误权限的文件可以使用如下命令: find /nginx -user nginx find /usr/local/nginx/html -user nginx 确保你更所有权为root或其它用户,一个典型的权限设置 /usr/local/nginx/html/ ls -l /usr/local/nginx/html/ 示例输出: -rw-r–r– 1 root root 925 Jan 3 00:50 error4xx.html -rw-r–r– 1 root root 52 Jan 3 10:00 error5xx.html -rw-r–r– 1 root root 134 Jan 3 00:52 index.html 你必须删除由vi或其它文本编辑器创建的备份文件: find /nginx -name ‘.?’ -not -name .ht -or -name ‘~’ -or -name ‘.bak’ -or -name ‘.old*’ find /usr/local/nginx/html/ -name ‘.?’ -not -name .ht -or -name ‘~’ -or -name ‘.bak’ -or -name ‘.old*’ 通过find命令的-delete选项来删除这些文件。 二十、限制Nginx连接传出 黑客会使用工具如wget下载你服务器本地的文件。使用Iptables从nginx用户来阻止传出连接。ipt_owner模块试图匹配本地产生的数据包的创建者。下面的例子中只允许user用户在外面使用80连接。 /sbin/iptables -A OUTPUT -o eth0 -m owner –uid-owner vivek -p tcp –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT 通过以上的配置,你的nginx服务器已经非常安全了并可以发布网页。可是,你还应该根据你网站程序查找更多的安全设置资料。例如,wordpress或者第三方程序。
KB小秘书 2019-12-02 02:06:56 0 浏览量 回答数 0

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT