web搭建网络架构都需要什么设备搭建需要多久

Python之Web框架Django项目搭建全过程
&更新时间:日 14:40:37 & 作者:孙华强
这篇文章主要介绍了Python之Web框架Django项目搭建全过程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Python之Web框架Django项目搭建全过程
Python:3.5
Django:1.10
Pymysql:0.7.10
注:可通过pip freeze查看已安装库版本信息。
Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站!
Django 特点
强大的数据库功能
用python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句。
自带的强大的后台功能
几行简单的代码就让你的网站拥有一个强大的后台,轻松管理你的内容! 优雅的网址
用正则匹配网址,传递到对应函数,随意定义,如你所想!
模板系统–强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理。
缓存系统–与memcached或其它的缓存系统联用,更出色的表现,更快的加载速度。
国际化–完全支持多语言应用,允许你定义翻译的字符,轻松翻译成不同国家的语言。
有关Python,MySQL的安装操作这里不再进行阐述,大家可在网络上自行查找解决。其中,django,pymysql的安装使用pip install *命令即可完成。
安装好Django之后, 就可以使用 django-admin.py管理工具来创建一个项目。首先我们来看下django-admin.py的命令介绍,在命令行输入django-admin.py查看可用的项目管理命令。
Django项目创建HelloWorld项目具体过程如下:
Step1: 在搭建Django项目之前,首先选择项目存放目录。然后在Dos窗口CD切换到项目存放目录。
Step2: 创建项目 执行django-admin.py startproject HelloWorld
打开IDEA,可看到创建的项目目录如下图所示:
目录说明:
HelloWorld: 项目的容器。
manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
HelloWorld/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
HelloWorld/settings.py: 该 Django 项目的设置/配置。
HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站”目录”。
HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
接下来我们进入 HelloWorld 目录输入以下命令,启动服务器:
python manage.py runserver 0.0.0.0:8000
0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。
在浏览器输入你服务器的ip及端口号,如果正常启动,输出结果如下:
Step3: 创建应用 在命令行输入django-admin.py startapp demo
打开IDEA,可看到创建的项目目录如下图所示:
目录说明:
demo: 应用的容器。注:后面的页面设计文件,在此目录下创建目录templates,名为XX.html的文件放在此处。
init.py:如上一个init.py文件
migrations: 数据库相关目录,同步数据库之后会出现数据类。
admin.py: admin后台管理文件
apps.py: app应用管理文件
models.py:主要用一个 Python 类来描述数据表,称为模型(model) 。运用这个类,你可以通过简单的 Python的代码来创建、检索、更新、删除 数据库中的记录而无需写一条又一条的SQL语句。
tests.py:测试文件
views.py:包含了页面的业务逻辑。
创建超级管理员
python manage.py createsuperuser
# 按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填
# 修改 用户密码可以用:
python manage.py changepassword username
服务端响应客户端请求过程
流程图如下:
上面的流程图可以大致描述Django处理request的流程,按照流程图2的标注,可以分为以下几个步骤:
1.用户通过浏览器请求一个页面。
2.请求到达Request Middlewares,中间件对request做一些预处理或者直接response请求。
3.URLConf通过urls.py文件和请求的URL找到相应的View。
4.View Middlewares被访问,它同样可以对request做一些处理或者直接返回response。
5.调用View中的函数。
6.View中的方法可以选择性的通过Models访问底层的数据。
7.所有的Model-to-DB的交互都是通过manager完成的。
8.如果需要,Views可以使用一个特殊的Context。
9.Context被传给Template用来生成页面。
a.Template使用Filters和Tags去渲染输出
b.输出被返回到View
c.HTTPResponse被发送到Response Middlewares
d.任何Response Middlewares都可以丰富response或者返回一个完全不同的response
e.Response返回到浏览器,呈现给用户
url() 函数
Django url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name,接下来详细介绍这四个参数。
regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
view: 用于执行与正则表达式匹配的 URL 请求。
kwargs: 视图使用的字典类型的参数。
name: 用来反向获取 URL。
Django项目部署
在前面的介绍中我们使用 python manage.py runserver 来运行服务器。这只适用测试环境中使用。
正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, Nginx, lighttpd等,本文后续将以 Nginx 为例。
设置用自己的iP地址访问项目
1.首先需要执行&manage.py runserver 0.0.0.0:8000。
2.在setting.py里面需要添加ALLOWED_HOSTS=”*”。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具构建千万级web访问架构
我的图书馆
构建千万级web访问架构
1、 & & & HTML静态化
其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。
除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求。
2、 & & & 图片服务器分离
大家知道,对于Web服务器来说,不管是Apache、IIS还 是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的图片服务器,甚至很多台图片服 务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃,在应用服务器和图片服务器上,可以进行不同的配置 优化,比如apache在配置ContentType的时候可以尽量少支持,尽可能少的LoadModule,保证更高的系统消耗和执行效率。 &
3、 & & & 数据库集群和库表散列
大型网站都有复杂的应用,这些应用必须使用数据库,那么在面对大量访问的时候,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群或者库表散列。在数据库集群方面,很多数据库都有自己的解决方案,Oracle、Sybase等都有很好的方案,
常用的MySQL提供的Master/Slave也是类似的方案,您使用了什么样的DB,就参考相应的解决方案来实施即可。上面提到的数据库集群由于在架构、成本、扩张性方面都会受到所采用DB类 型的限制,于是我们需要从应用程序的角度来考虑改善系统架构,库表散列是常用并且最有效的解决方案。我们在应用程序中安装业务和应用或者功能模块将数据库 进行分离,不同的模块对应不同的数据库或者表,再按照一定的策略对某个页面或者功能进行更小的数据库散列,比如用户表,按照用户ID进行表散列,这样就能够低成本的提升系统的性能并且有很好的扩展性。sohu的论坛就是采用了这样的架构,将论坛的用户、设置、帖子等信息进行数据库分离,然后对帖子、用户按照板块和ID进行散列数据库和表,最终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能。
4、 & & & 缓存
缓存一词搞技术的都接触过,很多地方用到缓存。网站架构和网站开发中的缓存也是非常重要。这里先讲述最基本的两种缓存。高级和分布式的缓存在后面讲述。架构方面的缓存,对Apache比较熟悉的人都能知道Apache提供了自己的缓存模块,也可以使用外加的Squid模块进行缓存,这两种方式均可以有效的提高Apache的访问响应能力。
网站程序开发方面的缓存,Linux上提供的Memory Cache是常用的缓存接口,可以在web开发中使用,比如用Java开发的时候就可以调用MemoryCache对一些数据进行缓存和通讯共享,一些大型社区使用了这样的架构。另外,在使用web语言开发的时候,各种语言基本都有自己的缓存模块和方法,PHP有Pear的Cache模块,Java就更多了,.net不是很熟悉,相信也肯定有。
5、 & & & 镜像
镜像是大型网站常采用的提高性能和数据安全性的方式,镜像的技术可以解决不同网络接入商和地域带来的用户访问速度差异,比如ChinaNet和EduNet之间的差异就促使了很多网站在教育网内搭建镜像站点,数据进行定时更新或者实时更新。在镜像的细节技术方面,这里不阐述太深,有很多专业的现成的解决架构和产品可选。也有廉价的通过软件实现的思路,比如Linux上的rsync等工具。
6、 & & & &负载均衡
负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法。负载均衡技术发展了多年,有很多专业的服务提供商和产品可以选择,我个人接触过一些解决方法,其中有两个架构可以给大家做参考。 &
7、 & & & &硬件四层交换
第四层交换使用第三层和第四层信息包的报头信息,根据应用区间识别业务流,将整个区间段的业务流分配到合适的应用服务器进行处理。 第四层交换功能就象是虚 IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。在硬件四层交换产品领域,有一些知名的产品可以选择,比如Alteon、F5等,这些产品很昂贵,但是物有所值,能够提供非常优秀的性能和很灵活的管理能力。Yahoo中国当初接近2000台服务器使用了三四台Alteon就搞定了 & &。
8、 & & & &软件四层交换
大家知道了硬件四层交换机的原理后,基于OSI模型来实现的软件四层交换也就应运而生,这样的解决方案实现的原理一致,不过性能稍差。但是满足一定量的压力还是游刃有余的,有人说软件实现方式其实更灵活,处理能力完全看你配置的熟悉能力。
软件四层交换我们可以使用Linux上常用的LVS来解决,LVS就是Linux Virtual Server,他提供了基于心跳线heartbeat的实时灾难应对解决方案,提高系统的鲁棒性,同时可供了灵活的虚拟VIP配置和管理功能,可以同时满足多种应用需求,这对于分布式的系统来说必不可少。
一个典型的使用负载均衡的策略就是,在软件或者硬件四层交换的基础上搭建squid集 群,这种思路在很多大型网站包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易。这样的架构我准备空了 专门详细整理一下和大家探讨。对于大型网站来说,前面提到的每个方法可能都会被同时使用到,我这里介绍得比较浅显,具体实现过程中很多细节还需要大家慢慢 熟悉和体会,有时一个很小的squid参数或者apache参数设置,对于系统性能的影响就会很大,希望大家一起讨论,达到抛砖引玉之效。
用squid做web cache server,而apache在squid的后面提供真正的web服务。当然使用这样的架构必须要保证主页上大部分都是静态页面。这就需要程序员的配合将页面在反馈给客户端之前将页面全部转换成静态页面。 & 基本看出sina和sohu对于频道等栏目都用了相同的技术,即squid来监听这些IP的80端口,而真正的web server来监听另外一个端口。从用户的感觉上来说不会有任何的区别,而相对于将web server直接和客户端连在一起的方式,这样的方式明显的节省的带宽和服务器。用户访问的速度感觉也会更快。
推一荐:&&|&&
[转]&[转]&
喜欢该文的人也喜欢张宴的博客 - Web系统架构与底层研发
分页: 1/31
[ 显示模式:
01:49 | by
  这几天,原博客所在的美国洛杉矶digitalocean的VPS不稳定,决定再次搬迁。现在已经将博客()迁移到韩国的VPS。国内到韩国的网络线路,应该是最好的,甚至可以媲美中国国内的双线机房。  北京联通 ping zyan.cc:root@linaro-alip:~# ping zyan.ccPING zyan.cc (27.255.71.186) 56(84) bytes of data.64 bytes from 27.255.71.186: icmp_req=1 ttl=50 time=68.3 ms64 bytes from 27.255.71.186: icmp_req=2 ttl=50 time=63.0 ms64 bytes from 27.255.71.186: icmp_req=3 ttl=50 time=67.4 ms64 bytes from 27.255.71.186: icmp_req=4 ttl=50 time=69.5 ms64 bytes from 27.255.71.186: icmp_req=5 ttl=50 time=62.9 ms64 bytes from 27.255.71.186: icmp_req=6 ttl=50 time=69.9 ms64 bytes from 27.255.71.186: icmp_req=7 ttl=50 time=63.2 ms  广东电信 ping zyan.cc:[root@local ~]# ping zyan.ccPING zyan.cc (27.255.71.186) 56(84) bytes of data.64 bytes from 27.255.71.186: icmp_seq=1 ttl=46 time=93.6 ms64 bytes from 27.255.71.186: icmp_seq=2 ttl=46 time=93.2 ms64 bytes from 27.255.71.186: icmp_seq=3 ttl=46 time=92.8 ms64 bytes from 27.255.71.186: icmp_seq=4 ttl=46 time=93.0 ms64 bytes from 27.255.71.186: icmp_seq=5 ttl=46 time=93.0 ms64 bytes from 27.255.71.186: icmp_seq=6 ttl=46 time=92.7 ms  杭州阿里云 ping zyan.cc:[root@AY018f38Z ~]# ping zyan.ccPING zyan.cc (27.255.71.186) 56(84) bytes of data.64 bytes from 27.255.71.186: icmp_seq=1 ttl=48 time=30.8 ms64 bytes from 27.255.71.186: icmp_seq=2 ttl=48 time=30.5 ms64 bytes from 27.255.71.186: icmp_seq=3 ttl=48 time=30.4 ms64 bytes from 27.255.71.186: icmp_seq=4 ttl=48 time=30.7 ms64 bytes from 27.255.71.186: icmp_seq=5 ttl=48 time=30.6 ms64 bytes from 27.255.71.186: icmp_seq=6 ttl=48 time=30.3 ms64 bytes from 27.255.71.186: icmp_seq=7 ttl=48 time=31.2 ms
引用地址:
注意: 该地址仅在今日23:59:59之前有效
17:01 | by
  由于中国移动屏蔽原 s135.com 域名,现启用新域名
作为博客新域名,VPS主机迁移到 digitalocean (
引用地址:
注意: 该地址仅在今日23:59:59之前有效
11:17 | by
  PHP 5.3 以上版本,使用pthreads PHP扩展,可以使PHP真正地支持多线程。多线程在处理重复性的循环任务,能够大大缩短程序执行时间。  我之前的文章中说过,大多数网站的性能瓶颈不在PHP服务器上,因为它可以简单地通过横向增加服务器或CPU核数来轻松应对(对于各种云主机,增加VPS或CPU核数就更方便了,直接以备份镜像增加VPS,连操作系统、环境都不用安装配置),而是在于MySQL数据库。如果用 MySQL 数据库,一条联合查询的SQL,也许就可以处理完业务逻辑,但是,遇到大量并发请求,就歇菜了。如果用 NoSQL 数据库,也许需要十次查询,才能处理完同样地业务逻辑,但每次查询都比 MySQL 要快,十次循环NoSQL查询也许比一次MySQL联合查询更快,应对几万次/秒的查询完全没问题。如果加上PHP多线程,通过十个线程同时查询NoSQL,返回结果汇总输出,速度就要更快了。我们实际的APP产品中,调用一个通过用户喜好实时推荐商品的PHP接口,PHP需要对BigSea NoSQL数据库发起500~1000次查询,来实时算出用户的个性喜好商品数据,PHP多线程的作用非常明显。  PHP扩展下载:  PHP手册文档:  1、扩展的编译安装(Linux),编辑参数 --enable-maintainer-zts 是必选项:cd /Data/tgz/php-5.5.1./configure --prefix=/Data/apps/php --with-config-file-path=/Data/apps/php/etc --with-mysql=/Data/apps/mysql --with-mysqli=/Data/apps/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir=/Data/apps/libs --with-jpeg-dir=/Data/apps/libs --with-png-dir=/Data/apps/libs --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt=/Data/apps/libs --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-opcache --with-pdo-mysql --enable-maintainer-ztsmake cleanmakemake install&&&&&&&&unzip pthreads-master.zipcd pthreads-master/Data/apps/php/bin/phpize./configure --with-php-config=/Data/apps/php/bin/php-configmakemake installvi /Data/apps/php/etc/php.ini添加:extension = "pthreads.so"  2、给出一段PHP多线程、与For循环,抓取百度搜索页面的PHP代码示例:
&&&&&&}
&&&&&&public function run()
&&&&&&{
&&&&&&&&&&if(($url = $this->url))
&&&&&&&&&&{
&&&&&&&&&&&&&&$this->data = model_http_curl_get($url);
&&&&&&&&&&}
&&&&&&}
&&function model_thread_result_get($urls_array)
&&&&&&foreach ($urls_array as $key => $value)
&&&&&&{
&&&&&&&&&&$thread_array[$key] = new test_thread_run($value["url"]);
&&&&&&&&&&$thread_array[$key]->start();
&&&&&&}
&&&&&&foreach ($thread_array as $thread_array_key => $thread_array_value)
&&&&&&{
&&&&&&&&&&while($thread_array[$thread_array_key]->isRunning())
&&&&&&&&&&{
&&&&&&&&&&&&&&usleep(10);
&&&&&&&&&&}
&&&&&&&&&&if($thread_array[$thread_array_key]->join())
&&&&&&&&&&{
&&&&&&&&&&&&&&$variable_data[$thread_array_key] = $thread_array[$thread_array_key]->
&&&&&&&&&&}
&&&&&&}
&&&&&&return $variable_
&&function model_http_curl_get($url,$userAgent="")
&&&&&&$userAgent = $userAgent ? $userAgent : 'Mozilla/4.0 ( MSIE 7.0; Windows NT 5.2)';
&&&&&&$curl = curl_init();
&&&&&&curl_setopt($curl, CURLOPT_URL, $url);
&&&&&&curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
&&&&&&curl_setopt($curl, CURLOPT_TIMEOUT, 5);
&&&&&&curl_setopt($curl, CURLOPT_USERAGENT, $userAgent);
&&&&&&$result = curl_exec($curl);
&&&&&&curl_close($curl);
&&&&&&return $
&&for ($i=0; $i
"baidu", "url" => "http://www.baidu.com/s?wd=".mt_rand());
&&$t = microtime(true);
&&$result = model_thread_result_get($urls_array);
&&$e = microtime(true);
&&echo "多线程:".($e-$t)."\n";
&&$t = microtime(true);
&&foreach ($urls_array as $key => $value)
&&&&&&$result_new[$key] = model_http_curl_get($value["url"]);
&&$e = microtime(true);
&&echo "For循环:".($e-$t)."\n";
引用地址:
注意: 该地址仅在今日23:59:59之前有效
15:23 | by
  对于创业型团队来说,服务器托管费用+带宽成费用+运维成本,是压在头上的三座大山。满足业务性能需要,又要降低成本,尽快实现收支平衡,是当务之急。  一、不靠谱的 App Engine  1、Google App Engine 云服务在国外的成功,不代表国内巨头们各种 *AE 仿造品的成功。在微博上搜搜就可以看到小伙伴们吐槽的各种不稳定,另外,*AE们对资源使用最大数各种规定限制,加上为了计费、阉割功能的各种限制,使它的价格优势成为鸡肋。*AE们就好比100M共享带宽的小区宽带,以低价卖给每个上网用户5M的带宽,前几十个用户感觉这网速真不错,等他卖了100个以上用户5M带宽,而这部分用户白天上班去了,晚上下班回来都在上网,其中又有一部分看视频、BT下载,于是乎,白天网速快,晚上慢得要死,连200K带宽都达不到。要知道,不怕神一样的对手,就怕猪一样的队友,在国内的 App Engine 环境下,水平参差不齐的开发者的代码质量、习惯性的资源滥用、别人网站被攻击殃及池鱼对*AE性能的影响,导致*AE的稳定性非常差。  2、所以,*AE们也意识到公共 App Engine 不稳定,所以又推出专用 App Engine,但费用一下就翻了很多倍。所以,*AE只是个人博客、个人开发者玩玩的工具,真正用作项目,还是需谨慎。根据实际的经验,*AE们还真不如VPS稳定。  二、成本低的小而美VPS  1、对于初创团队来说,购买服务器、交换机,托管服务器费用、带宽月使用费,是极其昂贵的。购买可以弹性升级硬件配置的云服务VPS,是降低成本不错的选择。国内VPS,1G内存、1~2核CPU、1M带宽、多线BGP,大概价格在100元/月左右,支持备案,可以作为最低入门选择,有条件可以购买两台互为热备,阿里云主机可以作为参考。大多数VPS服务商使用的都是廉价的SATA磁盘。如果你对磁盘IO要求较高,可以选择提供有SAS磁盘的IAAS云主机服务商,比如UCloud。  2、市场上的VPS商家主要有 Xen、OpenVZ、KVM 三种开源的虚拟化技术。全虚拟化的 Xen 更像独立主机,服务器资源按VPS实际大小平均分配,一般无法超售。半虚拟化的 OpenVZ 在同样的性能测试下,会比 Xen 高一些,但是,一台物理内存16G的服务器,可以分配出总内存大小超过16G很多倍的VPS,服务商可以超售,想卖多少台VPS就可以卖多少台,所以不推荐使用。KVM 在最新的 Linux 发行版中,已经是集成,但是,商业化应用还不成熟,基于 KVM 的 VPS 服务商很少。  3、VPS的操作系统,建议选择64位的Linux。在32位Linux下,PHP能给处理的整数不能超过正负2^31=,如果以后接入新浪微博、淘宝、腾讯等第三方开放平台,他们的接口里会有超过32位的整数(比如新浪用户ID、淘宝商品ID)。如果不幸使用32位Linux,你只能将这些整数当成字符串处理了,以后配合Sphinx等搜索引擎,会非常麻烦。  4、现在,可以在北京进行备案的域名有:国际域名 .com .net .org,国内域名 .cn .com.cn .中国,国别域名 .cc,其他的域名均不能进行备案。仅北京有限制,其它省市正常提交备案即可。我们原来申请的 .me 域名,在北京无法备案,后来只好拿到苏州去备案了。所以,在选择域名的时候,需要慎重。  5、使用 VPS,一定要定期在本地,做好数据备份,不要相信所谓的 7*24服务,99.99%安全稳定性,只要有人的VPS出问题了,都归为那 0.01%。  三、应对峰值带宽的云存储  1、对于DAU(日活跃用户)过十万的网站、APP应用来说,CDN或云存储是必需品。使用云存储不是因为存储空间,因为一块几TB的SATA磁盘很便宜,使用云存储是因为高出平均带宽值几倍至几十倍的峰值带宽。做手机APP应用,峰值带宽更集中,当你向所有用户群发PUSH一条消息,用户被唤醒打开APP应用,几分钟的时间,会消耗几十倍的带宽峰值。图片、下载,是最主要的带宽消耗者。也许,数据接口API只需不到1M的带宽,而图片对带宽的峰值需求则会达到100M。为了几分钟的峰值,去购买100M昂贵的带宽,其他时间带宽都空闲,是一件非常奢侈的事。  2、国内提供云存储服务的商家有很多,真正好用得却不多,提供FTP等公共通用协议的云存储更是微乎其微。使用第三方云服务,切忌千万不要吊死在一棵树上。支持FTP等公共协议,如果将来有问题,能够方便的进行数据迁移和技术替代。如果云服务厂商一直能够提供优质的服务,那么,也就可以长期使用他们的云服务。相信优秀的云存储提供商,是不会惧怕这一点的。
引用地址:
注意: 该地址仅在今日23:59:59之前有效
13:34 | by
  ASIHTTPRequest 类库在iOS 7.0中,会有一些报错警告,需要稍作修改:  1、if ([inputStream streamStatus] == NSStreamEventErrorOccurred) {  修改成:if ([inputStream streamStatus] == (NSStreamStatus)NSStreamEventErrorOccurred) {  2、return [[NSDate date] addTimeInterval:maxAge];  修改成:return [[NSDate date] dateByAddingTimeInterval:maxAge];
引用地址:
注意: 该地址仅在今日23:59:59之前有效
12:58 | by
  自从被联通封了80端口之后,用国外的空间,反向代理国内ADSL上的Cubieboard,线路非常不稳定。现在已经换了
的OpenVZ VPS,1G内存+80G硬盘+4核CPU+3TB月流量+3个IP,4.99美元/月(人民币大约30元/月)。
引用地址:
注意: 该地址仅在今日23:59:59之前有效
22:34 | by
  联通封了80和8080端口(),没办法,只好用个国外廉价的VPS(2美元/月,ping 300~400ms线路不怎么好)做个Nginx代理,来访问我家中联通ADSL+Cubieboard上的源站。昨天,联通ADSL出故障了,没有备用线路,只好用了个电信3G上网卡+Cubieboard支撑着源站,线路不稳定,从国外的VPS反向代理过来,经常不通,于是502频报。今天联通的维修人员过来修好了ADSL,博客终于恢复了。  发现韩国的VPS国内访问非常快,从国内多个点ping都只有30~50ms,比国内的某些双线机房还要快。有时间弄一个。
引用地址:
注意: 该地址仅在今日23:59:59之前有效
11:53 | by
  最近配置了几台Web服务器,将安装笔记贴出来吧。没时间像以前那样,将文章写的那样系统了,请见谅。详细配置,可以看以前的旧文章:    1、安装Nginx:mkdir -p /Data/tgzcd /Data/tgzyum install wgetyum install pcreyum install openssl*yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers makeyum -y install gd gd2 gd-devel gd2-devel/usr/sbin/groupadd www/usr/sbin/useradd -g www wwwulimit -SHn 65535wget tar zxvf pcre-8.32.tar.gzcd pcre-8.32./configure --prefix=/Data/apps/pcremake && make installcd ../wget tar zxvf nginx-1.5.2.tar.gzcd nginx-1.5.2./configure --user=www --group=www --prefix=/Data/apps/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/Data/tgz/pcre-8.32 --with-http_realip_module --with-http_image_filter_modulemakemake installcd ../
引用地址:
注意: 该地址仅在今日23:59:59之前有效
13:11 | by
  5月17日,我在苏州工业园区“”上的演讲PPT:《手机电商APP的智能化设计》下载。  
引用地址:
注意: 该地址仅在今日23:59:59之前有效
11:58 | by
  昨晚开始,我博客在国外的256M内存小VPS,遭到大量IP的CC攻击,带宽被占满,机房为了保证其他VPS的正常访问,对我的VPS访问进行了限制。没办法,只好用几KB/秒的速度,将未备份的几百兆数据迁移回来(幸好内容未变动的几个G数据,本地已经有备份)。因为域名未备案,于是放在了家中的北京联通ADSL +&& 上,恢复了服务。2M的ADSL,上行只有512K带宽,速度会慢点,等有时间了,将图片、文件放在别的地方。
引用地址:
注意: 该地址仅在今日23:59:59之前有效
15:57 | by
  在淘宝上350多元,买了个基于ARM平台的超小电脑 cubieboard,配置如下:  1G ARM cortex-A8 processor, NEON, VFPv3, 256KB L2 cache  Mali400, OpenGL ES GPU  512M/1GB DDR3 @480MHz  HDMI 1080p Output  10/100M Ethernet  4GB Nand Flash  2 USB Host, 1 micro SD slot, 1 SATA, 1 ir  96 extend pin including I2C, SPI, RGB/LVDS, CSI/TS, FM-IN, ADC, CVBS, VGA, SPDIF-OUT, R-TP..  Running Android, Ubuntu and other Linux distributions      找了台支持HDMI的显示器,安装了Ubuntu Linaro,然后很方便的安装了SSH Server、VNC Server、Nginx、PHP 5.3、MySQL 5.5:apt-get install openssh-serverapt-get install vnc-serverapt-get install mysql-server mysql-clientapt-get install nginxapt-get install php5-fpmapt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl  C/C++的开发环境安装:apt-get install gccapt-get install g++apt-get install cmakeapt-get install make
引用地址:
注意: 该地址仅在今日23:59:59之前有效
13:04 | by
  UserInterfaceState.xcuserstate 文件频繁更新,*.a等静态链接库文件默认不被添加到 SVN 中,需要对自己 Mac OS 上的 SVN 客户端配置做一下修改。  进入终端:vi ~/.subversion/config  查找 [miscellany] 字段  在默认被注释的&&global-ignores 下一行,增加一行:global-ignores = *~ #*# .#* .*.swp .DS_Store .xcuserstate
引用地址:
注意: 该地址仅在今日23:59:59之前有效
23:59 | by
  日.......  7:00,北京,一座城,车水马龙,熙熙攘攘。北京南站,晨光初现。带上我在LAMP兄弟连招聘的五位兄弟,坐上高铁,一路向南。    13:00,苏州,一座城,江南烟雨,清风拂面。    14:30,独墅湖旁,创意产业园,我们的苏州研发公司,今日在此组建、诞生。  
引用地址:
注意: 该地址仅在今日23:59:59之前有效
19:14 | by
  苹果一直拒绝 UIWebView 内嵌 HTML5 页面的 iPhone、iPad APP应用上架到 App Store,建议这样的APP去做成Safari的Web应用。但是,苹果的审核人员只从界面、URL去判断是否HTML5的。有一次,一个 APP应用的URL地址被他们拷贝出来,放到浏览器中能够访问,然后,应用悲催地被拒绝上架了。  对付方法:  1、URL不让直接通过浏览器访问(UIWebView的请求Header头中加点东西,在服务器端将APP内嵌的访问和通过直接浏览器访问区分开来),或者通过浏览器访问时,返回JSON、XML信息,输出“Interface Error”,忽悠苹果审核人员说这是HTTP协议的接口,不是网页。  2、禁用、禁止 UIWebView 里面的链接长按弹出效果。加入一行 CSS 代码,禁用类似下图的链接长按弹出效果:html,body{-webkit-touch-callout:}  
引用地址:
注意: 该地址仅在今日23:59:59之前有效
23:57 | by
  听微博上有人提起,这是一条刚修通的路,总投资3.25亿元,横跨坝头东西,连接崇礼和张北,路都在山脊上,美景如画,是一条观光游玩的好线路。我找遍了谷歌、搜狗、百度地图,均没有,凯立德、高德GPS导航就更别提了。日,我直接驾车询问、寻找,终于找到了这条荒无人烟、没有手机信号、蜿蜒曲折的天路。风景美不胜收,驾车乐趣更胜一筹,很有美国西部原野的感觉。  我的草原天路(草沿天路)自驾起点,“桦皮岭”附近的入口,终点“野狐岭”。看到入口处正在立标牌,估计不久的将来,就将开发成景区了,希望游人的增多,不要改变它原始的滋味。    左车:我的斯柯达明锐,右车:借的北京4399公司的福特。
引用地址:
注意: 该地址仅在今日23:59:59之前有效
分页: 1/31
[ 显示模式:

我要回帖

更多关于 公司架构如何搭建 的文章

 

随机推荐