其实,你只需要1分钟就能建立一个LNMP环境。需要Debian或者Ubuntu作为系统。
# wget http://github.com/lowendbox/lowendscript/raw/master/setup-debian.sh
...
# bash setup-debian.sh system
...
# bash setup-debian.sh exim4
...
# bash setup-debian.sh nginx
...
# bash setup-debian.sh mysql
...
# bash setup-debian.sh php
...
# bash setup-debian.sh wordpress blog.example.com
来源是著名的LEB Script。如果你和我一样也喜欢Lighttpd,可以参考一下方法,在3台Debian 32位的VPS上测试通过。
首先设置基本系统和MySQL
先选择最快的源
# apt-get install netselect-apt
...
# netselect-apt -n
...
# cp sources.list /etc/apt/sources.list
# apt-get update && apt-get upgrade
我比较懒,直接用了LEB Script:
# bash setup-debian.sh system
...
# bash setup-debian.sh exim4
...
# bash setup-debian.sh mysql
然后搞定Lighttpd和PHP
# apt-get install lighttpd
Lighttpd的 simple-vhost 模块是否启用
# lighttpd-enable-mod simple-vhost
然后建立虚拟主机,因为simple-vhost模块,所以这一步很简单,比Nginx简单多了,这是我喜欢Lighttpd的一个原因。
mkdir -p /var/www/hi.insraq.me/html
然后去你的域名注册商添加一条A记录,比如我,把@hi.insraq.com@解析到我的VPS的IP,直接通过hi.insraq.com访问网站了。
接着搞定PHP
# apt-get install php5-cgi php5-mysql php5-curl
然后修改配置,我喜欢用vim,如果不习惯可以用nano:
vi /etc/lighttpd/conf-enabled/10-cgi-php.conf
添加以下的的配置:
server.modules += ("mod_cgi")
cgi.assign = (".php" => "/usr/bin/php5-cgi")
重启一下
/etc/init.d/lighttpd force-reload
然后就应该可以处理PHP了。由于MySQL在第一步已经搞定,所以LLMP的环境就完成了。
这是我的内存占用:
root@insraq:~# free
total used free shared buffers cached
Mem: 1048576 23516 1025060 0 0 0
-/+ buffers/cache: 23516 1025060
Swap: 0 0 0
再补充一下phpMyAdmin的建立
apt-get install phpmyadmin
他会让你选服务器,什么都别选,我们要自己配置。
# vi /etc/lighttpd/conf-enabled/hi.insraq.me.conf
加入以下内容:
$HTTP["host"] == "hi.insraq.me" {
alias.url += ("/phpmyadmin" => "/usr/share/phpmyadmin")
server.error-handler-404 = "/index.php"
}
第二行其实和phpMyAdmin没关系,而是可以解决WordPress和TextPattern等等很多CMS的Clean URL,不需要可以注释掉。
另外,为了安全考虑,关闭Lighttpd的目录列表。
# vi /etc/lighttpd/lighttpd.conf
把下面这行注释掉
#server.dir-listing = "enable"
现在我把英文站完全迁移到了hi.insraq.com,内存占用保持在30MB以下。
total used free shared buffers cached
Mem: 393216 27448 365768 0 0 0
-/+ buffers/cache: 27448 365768
Swap: 0 0 0
Posted by insraq Sep 2, 02:35 PM in
其他,
好长时间不写中文的Blog了,反而是英文的Blog更新非常勤快。hi,insraq!运营将近1年了,原来的主机(Dreamhost)要到期了,不想续费了,决定搬家,从Dreamhost到了Hawkhost。用了Hawkhost大概半个月,还比较满意。
之前先说说为什么选Hawkhost,我不是很喜欢“Unlimited“类型的主机,因为超售现象很普遍,所以质量就没法保证了。
我的网站很小,不需要很大的空间和流量,据我的观察,一个月大概用了几个G的流量,一年下来用了不到100MB的空间。然而我空间上的文件都很重要,许多付费风格文件还有客户信息都存在这里,所以我要求空间足够稳定。在Webhostingtak.com看了许多评论,最终选了Hawkhost。
Hawkhost品牌并不提供Unlimited类型的主机(Unlimited类型的主机由旗下品牌FrogHost提供),有几种类型可以选择,机房有达拉斯和西雅图还有华盛顿特区,其中西雅图机房到国内和香港的速度都很不错。而且在我用的这段时间,网站很稳定,没有遇到宕机。而Dreamhost的在线率就没有我想象的那么好,宕机时有发生。
Hawkhost的价格并不是很便宜,和一些超便宜的“Unlimited“主机相比,然而我最看重的是Hawkhost基本功能很全面,不限制域名绑定,提供SSH支持(这一点很重要),服务器是Litespeed。
Hawkhost有一个小小的缺点,就是初次申请等待时间很长,要一天。许多主机都是立即开通的,而Hawkhost对于用户要进行欺诈风险检查和人工审核,所以加长了开通时间。
从Dreamhost备份
登陆SSH,输入用户名和密码。
先备份数据,假设你的网站根目录是 public_html
$ cd public_html
$ tar -czvf move.tar.gz *
之后你就得到了一个move.tar.gz的文件,里面是你网站的文件。
再备份数据库。
$ mysqldump -u username -p database > move.sql
会提示你输入密码,输入后过一会就会完成。这样就得到了move.sql文件,这就是数据库文件。如果你有多个数据库,则需要每个数据库生成一个.sql文件。
这样就搞定了备份的部分。
导入Hawkhost
同样,用SSH登陆,先获取旧的数据。
$ wget http://www.yoursite.com/move.tar.gz
$ wget http://www.yoursite.com/move.sql
然后解压数据
$ tar -xzvf move.tar.gz
然后导入数据库
$ mysql -u username -p database < move.sql
会提示你输入密码,然后过会就会完成,同样,如果有多个数据库也要分别导入。
到这里还没完,接下来就是繁琐的修改配置文件( config.php 或者 mainfile.php 等等 ),要换上新的路径和数据库信息。
这样之后基本就差不多了,享受新主机的新鲜感吧。
最后,推荐一下Hawkhost的主机,不过我也只买一年,自己也是爱折腾,准备之后上一个VPS玩玩。
Posted by insraq Aug 13, 07:04 PM in
其他, [1]
Posted by insraq Feb 22, 10:46 PM in
其他,
国外的CMS有一个特点,就是特别注重架构,相反,国内的CMS侧重点是功能和外观,却没有一个好的架构。TextPattern是我很喜欢的CMS,然而国内用户很少,也没有一个完整的介绍文章,在这里我简单介绍一下TextPattern的模版系统。
很多TextPattern的初学者总是有一个问题,搞不清TextPattern的模版系统。因为TextPattern并没有像WordPress那样的1-Click风格变换,这大概就是TextPattern普及度不高的原因。想要修改TextPattern的设计,必须弄清楚 TextPattern的模版系统的架构。
页面结构简单分析
先来讲页面结构,看下面的示意图(“|”表示分列):
Header
Content | Sidebar
Footer
上面是一个简单的两栏式布局,而CMS的关键就是控制Content中的内容,把Content拆解来看:
Article 1 Title
Article 1 Content
Article 1 Misc
—————————————
Article 2 Title
Article 2 Content
Article 2 Misc
….
理解Page和Form
每一文章都由标题,内容和杂项所组成。整个Content包含了许多“文章”。现在问题来了,如何去控制这些页面的模版。TextPattern引入了两个重要概念:Page和Form。
Page可以翻译成页面,这个页面有自己独特的Header/Content/Sidebar/Footer。
Form可以翻译成片段,这个片段控制了文章自己的模版,包括Article Title/Article Content/Article Misc。
这两个概念是如何联系起来呢?请记住:Page可以调用并且重复利用Form。
我再来解释这句话,首先,Page可以调用Form的东西,你也许会问,为什么不直接写到Page里面,而要调用呢?这就是第二点,Page可以重复利用 Form。就比如说文章的模版都是一样的,Page要显示5篇文章,那一个一个的写5个完全相同结构的模版效率太低,TextPattern允许你的在 Form中定义文章的样式,然后在Page用一个标签让TextPattern自动为你的5篇文章调用某个Form模版,示意图如下(Sidebar省略)。
Header
——————————————————————
Article 1 with Form Template 1
——————————————————————
Article 2 with Form Template 1
——————————————————————
Article 3 with Form Template 1
——————————————————————
Article 4 with Form Template 1
——————————————————————
Article 5 with Form Template 1
——————————————————————
Footer
评论也可以通过这种方式来实现,定义一个Comment的Form样式,然后重复调用。
由于Form可以被重复调用,所以也可以用来实现网页的Header/Sidebar/Footer。比如分别写好这三个区块的样式到三个Form,然后在 Page分别调用。应为调用的语句就一句话,会让Page代码显得非常简洁。这样可以实现全站通用的Header/Sidebar/Header。如果你想为每一个Page单独设计,不妨直接把代码写到Page里面。
从网页到网站
理解了Page和Form之后,你就可以成功建立起一个(动态)网页了。然而一个网站有许多网页,怎么样组织这些网页,就需要用到Section。
Section可以翻译成部分,每个网站都与许多不同的部分,重点来了:每一个Section必须对应一个Page模版。用函数的方法来解释一下就是说y=x; x即为Section,y即为Page模版。一个Page模版可以应用到许多Section上,但是一个Section只有一个Page模版。所有 Section下的页面都是用同样的页面模版。这样的话,一个网站的架构就出来了。总结一下就是说:
一个网站有许多的Section,每一个Section都有一个不一定是唯一的Page模版, 每一个Page模版都可以调用并且重复利用Form。
这样一个你就可以利用TextPattern的模版系统控制网页的任何内容的样式了。
关于文章的版权,遵循创作公用协议,欢迎你转载该文章,传播知识,但是请保留作者署名和原文连接。
Posted by insraq Jan 14, 01:47 PM in
网站设计,
其他
从SixRevisions看到一张很有趣的Flow Chart (点击这里查看),讲的是如何成为一个设计师。整个Flow Chart带有讽刺和自嘲的意味。
然而,其中有一条——必须有一台Mac——在评论中引起了争议,成了评论的焦点。看来大家还是把眼光放到了内容上而没有去体会里面自嘲的苦涩。
正如有一条评论说的:
Considering most of the reactions here you forgot to put “lose all sense of Humour” in that chart :)
回到题目,无可否认,大多数设计师都用Mac。在PowerPC时代,Mac因为强劲的图像处理能力成为设计师的最爱。然而,现在电脑都很强劲,Mac的硬件优势越来越少,特别是换到了Intel x86之后,和PC并无本质差别。Mac上有许多设计师很喜欢的软件,比如Coda和Textmate,但是PC上的替代软件也很多。
这样说来,设计师用Mac似乎成了一种象征意味的事情。其实,我觉得主要原因是习惯问题:既然习惯了Mac,就懒得去适应PC了。
话说回来,用什么平台并不重要。我还见过设计师用Linux——GIMP+Bluefish,而不是我们常用的Photoshop+某种编辑器(我个人最喜欢的CSS编辑器是TopStyle)。其实在做图像的时候,我用Fireworks多于Photoshop。
虽然Mac不是设计师的必备品,但是Mac确实是设计师很优秀的工具,Mac的理念总是让设计师很满意,或者说,Mac本身就是设计师的优秀作品。
Posted by insraq Oct 17, 10:02 PM in
网站设计,
其他