月度归档:2011年08月

加快 FlashBuilder4 的编译速度

最近搞一个比较大的Flex分析项目,结果FlashBuilder抗不住了,每次编译都极其慢,然后隔三差五的down掉,于是到处google如何加快速度。

然后发现了:

http://forums.adobe.com/thread/740967

http://bugs.adobe.com/jira/browse/SDK-30367

http://yerii.wordpress.com/2010/12/15/why-has-flex-sdk-4-x-x-become-sluggish-for-some-and-how-you-can-get-it-rolling-again/

正好项目用的是该死的SVN,然后Flex 4 的 OEM编译器还有这个bug,每次编译都去遍历.svn目录。

按照上面yerii博文所述,给出不少解决办法:

  1. Migrate to different version control system, such as Git – not feasible in our case, generally not cool – 使用其他版本管理系统,比如Git,Mercuial等
  2. Use only command-line compiler – it’s speed is not affected. But forget auto-build, background error checks… – 使用命令行编译器
  3. Create mirror directory of your project without the SVN meta data and keep it synchronized – very cumbersome – 通过镜像文件夹分离.svn和源码
  4. Use the HellFire Compiler – solves the problem, but it means additional license cost and also does not work as smoothly as one would wish – 使用RPC编译器 HellFire Compiler
  5. File a bug report at Adobe – and wait forever before they even notice – 给Adobe提bug,然后等下去
  6. Download the Flex SDK source code and repair it by yourself – 下载sdk源码,自己修改。
在项目进行到一半的时候,明显 1,2,3,5的办法都十分不靠谱。于是我试了一下 HellFire Compiler ,  不过最后放弃了,因为:
  • 收钱,59USD
  • 各种其他问题,同样让我崩溃。
于是别无选择,只能选择解决办法6。
最讽刺的是Flex3的编译器没有这个bug,而且Adobe还声称提升25%的编译器性能。。。
解决办法6,同样是博文所述,只需要在 /modules/compiler/src/java/flex2/tools/oem/internal/OEMReport.java 里简单的修改,然后重新编译打包就okay了。
</div>
<div>
<pre>private void storeTimestamps(File path)
    {

        // the fix is here:
        if(path.isHidden())    
                return;
        // end of the fix
        timestamps.put(FileUtil.getCanonicalPath(path), path.lastModified());

        for (File file : path.listFiles())
        {
            if (file.isDirectory())
            {
                storeTimestamps(file);
            }
        }
    }</pre>
</div>
<div>
同样地,博主给出了修改后的jar下载链接,可惜是在墙外的dropbox,所以我提供一个墙内的下载地址,flex-compiler-oem.zip

下载-解压-替换到{flex-sdk-4.x-home}/lib,我换了之后至少flashbuilder不会有事儿没事儿罢工了,至于编译速度,稍快一点点吧,依然很慢!!!(项目太大了)。

LNAMP 架构下配置 WordPress 登录和管理控制台使用 SSL

 

服务器迁移之后,突然想起之前在 NameCheapNamecheap.com - Cheap domain name registration, renewal and transfers - Free SSL Certificates - Web Hosting 买域名的时候顺便买了一年的 SSL,于是决定花些时间配置到 WordPress 里,因为 SSL的速度比较慢,所以只有在登录,注册和管理控制台才使用 SSL。下面记录下我配置的过程:

准备证书

因为Nginx的SSL模块使用的是 OpenSSL,所以要通过 OpenSSL 来生成公钥和私钥。

在终端(Terminal)里执行如下命令:

openssl req -new -newkey rsa:2048 -nodes -out www_nealmi_com.csr -keyout www_nealmi_com.key -subj "/C=cn/ST=Beijing/L=Beijing/O=SlientWalker Inc/OU=IT/CN=www.nealmi.com"

如果你觉得看着头大,可以使用在线生成工具来生成命令(https://www.digicert.com/easy-csr/openssl.htm

然后复制到终端(Terminal)里去执行。
执行之后会生成一个公钥(*.csr)和一个私钥(*.key)

接下来到 NameCheap 的网站激活 SSL,  依次选菜单 Manage Domains  ->  SSL Certificates(左侧)- >  Activate Now(每一个SSL产品后面) 就到了下面这个页面了。

打开公钥,复制里面的内容到上图的csr框里,Web Server 选择other (因为我使用 Nginx)。下一步之后,选择邮箱激活。之后你会收到一封授权邮件(基本上和网站的Email账户激活流程差不多),打开email里的链接,输入email里的激活码。之后不久你就会收到一封带有附件的邮件。里面有四个文件,其中一个是你域名的证书(www_xxx_com.crt), 另外三个是Root证书和中级证书。

证书已经准备完成,开始配置服务器。

Nginx SSL 配置

因为 Nginx 不像Apache那样可以单独指定你的证书和认证链证书(Root和中级),所以你要合并他们(*.crt)的内容到一个文件里(*.csr)。
文件内容必须为如下顺序:(你的证书-中级证书2-中级证书1-Root证书)
# Your SSL Certificate – www_xxx_com.crt
# Intermediate CA Certificate 2 – PositiveSSLCA.crt
# Intermediate CA Certificate 1 – UTNAddTrustSGCCA.crt
# Root CA Certificate – AddTrustExternalCARoot.crt

你可以直接使用文本编辑器合并,也可以使用cat命令


cat www_xxx_com.crt PositiveSSLCA.crt UTNAddTrustSGCCA.crt AddTrustExternalCARoot.crt > www_xxx_com_chain.csr

为了避免出错,建议你下载合并好的(https://support.comodo.com/index.php?_m=downloads&_a=viewdownload&downloaditemid=31&nav=0,1,4)认证链证书(Root和中级),然后简单和你自己的证书合并即可。

cat www_xxx_com.crt PositiveSSL.ca-bundle > www_xxx_com_chain.csr

 

终于到Nginx的SSL配置了,路途坎坷啊。

server {
listen 80;
listen 443 default_server ssl;#这个是 Nginx 0.7.14 之后的写法
# 路径根据你的实际情况修改
ssl_certificate /webserver/nginx/conf/www_nealmi_com_chain.csr;
ssl_certificate_key /webserver/nginx/conf/www_nealmi_com.key;
#下面注释参数根据你自己的需要设置,一般不设置也正常运行。
#keepalive_timeout 70;
#ssl_session_cache shared:SSL:10m;
#ssl_session_timeout 10m;
#ssl_protocols SSLv2 SSLv3 TLSv1;
#ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#ssl_prefer_server_ciphers on;

server_name www.nealmi.com;
index index.html index.htm index.php;
root /wwwroot/wordpress;

# 省略其他配置....
}

这不是结束,远远不是结束。

路漫漫其修远兮,吾将上下而求索。

WordPress相关的配置:

根据官方的介绍:http://codex.wordpress.org/Administration_Over_SSL,Wordpress本身需要修改 wp-setting.php:

require_once(ABSPATH . 'wp-settings.php');

之前,加入

define('FORCE_SSL_ADMIN', true);  // 管理控制台和登录都使用SSL,我使用这种。

或者

define('FORCE_SSL_LOGIN', true); // 仅登录使用SSL

另外,为了一些插件能正常识别https,需要将 WordPress 地址(URL)修改为 https://www.nealmi.com, 站点地址(URL)不变(还是:http://www.nealmi.com)

官方还介绍了一些Apache的配置方法,只是因为我使用的是 Nginx + Apache 事情就稍稍复杂了一些。

在之前的文章我介绍了如何让 Nginx 和 Apache 使用相同的端口 :迁移网站到阿里社区云全过程

还是沿用这个方案:

Nginx 监听公网IP的 80 和 443 端口

Apache 监听内网(本地)的 80 和 443 端口

修改后的Nginx配置

server {
listen 公网IP:80;
listen 公网IP:443 default_server ssl;#这个是 Nginx 0.7.14 之后的写法
# 路径根据你的实际情况修改
ssl_certificate /webserver/nginx/conf/www_nealmi_com_chain.csr;
ssl_certificate_key /webserver/nginx/conf/www_nealmi_com.key;
#下面注释参数根据你自己的需要设置,一般不设置也正常运行。
#keepalive_timeout 70;
#ssl_session_cache shared:SSL:10m;
#ssl_session_timeout 10m;
#ssl_protocols SSLv2 SSLv3 TLSv1;
#ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#ssl_prefer_server_ciphers on;

server_name www.nealmi.com;
index index.html index.htm index.php;
root /wwwroot/wordpress;

location / {
try_files $uri /index.php ;
}
#所有 php 请求由Apache处理
location ~ .*\\.(php)$ {

proxy_pass $scheme://127.0.0.1:$server_port; # 使用内置变量转发80请求到Apache的80,443到Apache的443
proxy_redirect off;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

client_max_body_size 10m;
client_body_buffer_size 128k;

proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;

proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
#静态文件由Nginx处理
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}

location ~ .*\.(js|css)?$
{
expires 12h;
}
}

修改后Apache的配置:

Listen 127.0.0.1:80
Listen 127.0.0.1:443

#...省略无关内容

NameVirtualHost 127.0.0.1:80
NameVirtualHost 127.0.0.1:443

#...省略无关内容
ServerAdmin admin@admin.com
ServerName www.nealmi.com
DocumentRoot /wwwroot/main_site

SSLEngine on
SSLCertificateFile /server/nginx/conf/secure_nealmi_com.crt
SSLCertificateKeyFile /server/nginx/conf/secure_nealmi_com.key
SSLCertificateChainFile /server/nginx/conf/PositiveSSL.ca-bundle

ErrorDocument 404 /404.php
DirectoryIndex index.html index.php index.htm
Options +Includes
AllowOverride FileInfo
Order allow,deny
Allow from all

ServerAdmin admin@admin.com
DocumentRoot //wwwroot/main_site
ServerName www.nealmi.com
ErrorDocument 404 /404.php
DirectoryIndex index.html index.php index.htm
Options +Includes
AllowOverride FileInfo
Order allow,deny
Allow from all

目前为止,Nginx 和 Apache 已经配置好了,WordPress也已经修改完成。胜利在望啦!!

接下来要做的就是写RewriteRules,目的就是
1.当在 80 端口访问 admin 和 login 的时候,重写到 443 端口处理(http://www.nealmi.com/wp-admin -> https://www.nealmi.com/wp-admin)
2.当在 443 端口访问 非 admin 和 login 的时候, 重写到 80 端口处理 (https://www.nealmi.com/2011/08/ -> http://www.nealmi.com/2011/08/)

在wordpress根目录下的 .htaccess(没有就新建一个)里添加如下内容(网址根据你的实际情况修改):

# BEGIN WordPress
RewriteEngine On
RewriteBase /

RewriteRule ^https://www.nealmi.com$ http://www.nealmi.com [L]
RewriteRule ^https://nealmi.com$ http://www.nealmi.com [L]

# For a site running on port 443 or else (http over ssl)
# 供 443 端口上使用, 对应上文描述的 RewriteRules 目的 2
RewriteCond %{SERVER_PORT} !^80$
RewriteRule !^wp-(admin|login|register)(.*) - [C]
RewriteRule ^(.*)$ http://www.nealmi.com/$1 [L]

# For a site running on port 80 (http)
# 供 80 端口上使用,对应上文描述的 RewriteRules 目的 1
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^wp-(admin|login|register)(.*) https://www.nealmi.com/wp-$1$2 [L] #关键步骤

RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

花了我近一天时间,反复的调试,修改,终于完成所有的配置。你可以试试我网站的登录。

监狱兔

之前的文章里,出现过他们的玩偶,下面转一下这部动画片的详细资料(资料来源:verycd.com)

第四季也开始上映了,我在等出全了在看。

玩偶购买地址:http://item.taobao.com/item.htm?id=2988587323 (质量很不错)

官方网站:http://www.mtvjapan.com/usavich/

在线观看地址:http://www.verycd.com/entries/518389/

下载地址:http://www.verycd.com/topics/2732251/

 

中文名: 监狱兔
英文名: Usavich
别名: 越狱兔
资源格式: TVRip
版本: [MP4]更新第四季
发行时间: 2007年10月08日
导演: 富冈 聡
地区: 日本
语言: 俄语
简介:
IPB Image
【字幕】 无(不需要)
【格式】 MP4

【内容介绍】
《监狱兔》(日文︰ウサビッチ,英文︰Usavich)是Kanaban Graphics制作的三维动画短篇喜剧。第一、二季共26集,一集约90秒。于2008年10月继续播放第三季
《监狱兔》2007年10月8日开始于MTV JAPAN的MTV FLASHER时段中毎周星期一日本时间24时55分播放。2006年入选文化厅媒体艺术节短篇动画奖,2007年入选渥太华国际动画电影节成人取向电视动画奖。

【概要】
故事围绕着两只在1961年的苏联时于监狱服刑的兔子普京和基廉列克。
被关在俄罗斯监狱的两只兔子基廉列克和普京本来暗无天日的监狱生活希望,却享受他们惬意的轻松的监禁生活。
第一季关于在监狱中发生的故事,在普京刑期满的前一天,基廉列克因在杂志里发现限量版帆布鞋即将发售而决定逃狱,普京也莫名其妙地跟上去。第二季则是说它们坐着抢来的车子逃狱时所发生的事。第三季是讲述它们逃回它们住的城市里,进入了一所商店打算购买该限量版帆布鞋,然而该商店的老板多次阻挠基廉列克购买帆布鞋,讲述基廉列克以及商店老板之间为其帆布鞋斗智斗勇的故事。
影片中没有任何对白,但有一些呼吸声、叫声的配音。

【人物介绍】
IPB Image普京(プーチン /Путин )
穿着绿白间纹囚犯衣服的兔子,双耳绑在一起,囚犯编号541。是一只极为乐天派的兔子,心地非常好,喜欢跳哥萨克舞喜欢摇屁股,经常被监狱的看守员欺负。在社会主义体制下,只因为喝醉酒上班打瞌睡被抓,而被标签为“资本主义者”受刑三年。虽然因事入狱,但实际上是个良好市民。工作效率和维修机械的技术异常的高。他对某些感觉特别敏感(如搔痒),但又对某些十分迟钝(睡梦中极难吵醒)。 酒量很差,一小杯酒就能让他发酒疯。曾于第 21 及 34 集基廉列克无法行动时脱离险境并救了他。容易紧张,有时会脸色发青、严重时则会发红、发灰、翻白眼,而且还会尖叫。从第一集开始,就未有任何好下场,常常差点丢掉小命,但每次都靠着基廉列克和好运逃脱。。
IPB Image基廉列克(キレネンコ/Кирененко)
穿着红白间纹囚犯衣服的兔子,左耳穿着别针,囚犯编号04。前黑手党的首领,现在是死刑囚。平时相当安静,有洁癖,爱帆布鞋成痴,目中无人,对同室的普京完全没有兴趣。被激怒时会变身成极度危险的凶兔,武功高强,能够接下发射中的子弹、、徒手打穿墙壁。如果被激怒得更恐怖,就会变成狂暴形态,样貌已经变得不像兔子,而是像一只凶猛妖怪的模样,攻击力大幅飙升,能以单手将一栋高楼大厦逐层拆除,大量毒酒也只是会使它酒醉而已。曾于第 21 及 34 集被杀,但都被普京救活。
基廉列克有一双胞胎兄弟基鲁列克 (Кируненко)。两兄弟遭到手下兹鲁宗洛夫(Зрзолов)背叛用导弹炸烂后,各自被接上对方的左边头颅,因而造成基廉列克的双重个性(正常状态与发飙状态)。在警方的通缉照中,基鲁列克现时仍为黑手党首领。
IPB Image
柯曼妮琪(コマネチ/Команеч)
普京在分办小鸡性别的劳动中遇见的人妖小鸡,有受虐待狂的倾向,被欺负就会很愉快。和普京、基廉列克一起住在监狱中,经常被列宁格勒吃掉。有时会被用为遮盖普京等兔子某些部位的“马赛克”。 28话时被毒药烟毒死,变成人妖鸡天使,但还是常常被列宁格勒吃掉,39集里附身在鸡蛋里重新“还阳”。

列宁格勒(レニングラード/Ленинград)
从监狱马桶被钓上来的青蛙,会吃掉跟它一样大的任何动物。第6集和母亲莎拉波亚相会。 经常把柯曼妮琪吃掉再排泄出来。颇有一些音乐天份,会跟普京一起合作唱歌打节奏。

第一季
IPB Image看守柯夫(カンシュコフ/Каньсюков)
监视囚犯的一般看守员。负责囚犯的饮食、劳动、洗澡等,有时会向囚犯恶作剧,但通常会被反击。
IPB Image
处刑斯基(处刑门)(ショケイスキー/Шокеши)
狱卒,门是黑色,上有画著死神的画,手持镰刀。在死刑犯处刑时出现,负责执行死刑。

鲁道夫(劳动门)(ロウドフ/Родов)
狱卒,门是绿色,手持鞭,负责监督囚犯的强制劳动。

钱尼鲁夫(报酬门)(ゼニロフ/Зениров)
狱卒,门是蓝色,负责支付囚犯工资,会在鲁道夫出现后出现。
IPB Image俄罗斯套娃(マトリョーシカ/Матрёшк)
俄罗斯的民艺品,在普京的强制劳动中出现。
IPB Image莎拉波亚(シャラポア/Шарапова)
列宁格勒的母亲,在寻找儿子,因听到从监狱中传出儿子的声音而找到他。
IPB Image柯曼妮琪母(父)(コマネチ母(父))
柯曼妮琪的母亲,同时也是父亲,因嗅到柯曼妮琪的气味而重遇,但被基廉列克做成烤鸡吃下肚。

第二季
IPB Image
包里斯(ボリス/Борис)
隶属民警组织的俄罗斯警察,是只灰色的兔子,身上的徽章来自苏联国旗上的锤子和镰刀。是一名狙击手,擅长狙击,负责追捕逃狱的普京和基廉列克。
哥布契夫(コプチェフ/Капучев)
隶属民警组织的俄罗斯警察,是只紫色兔子,擅长驾驶,和包里斯一起执行追捕工作。
IPB Image莫斯科人410型汽车(モスクビッチ・410/Москвич-410)
俄罗斯生产的一种汽车,是基廉列克及普京逃狱时开的汽车,俄罗斯的代表车之一。
喷射器
这具喷射器是21集由基廉列克以石头击落飞机,自其上取下的推进器,并经普京改造而成。功能启动之后,汽车会自动以大车轮取代原先的车轮,并在后方弹出推进器,让使车子以飞速疾驶。(但有一次普京忘了拉手煞车而导致基廉列克死亡)
在22集这台车被装甲车炸烂后,经普京拼了命的修理和改造而多了以下功能:
功能按钮
车内有六个按钮,按下后会启动车上的机关。
护盾
能放出护盾保护车子,但防弹效果不甚良好。
弃车
在紧急情况时使用的功能,使用者会和椅子一起飞出去,掉下时椅子上的降落伞会打开。
刷牙
帮驾驶洁牙的功能,但会捉弄驾驶,第23集时牙刷掉出弄坏了基廉列克的帆布鞋杂志。
伪装
在遇到警察时使用的功能,机器会为车上的乘客戴假发、墨镜、假胡子。
大夹子
从车头伸出的夹子,能夹起体积大的东西。
跳跃
车子会跳到远处,逃亡时使用。
IPB Image拉达1200型汽车(VAZ-2101)(ラーダ/Лада 1200)
拉达(LADA)为俄罗斯伏尔加汽车制造厂(AvtoVAZ)旗下的自主品牌,与莫斯科人一样,为俄罗斯的平价大众车。在本片中为其他兔子开的车。
IPB Image警车(ラーダカスタム)
俄罗斯民警的警用轿车,采用拉达2105型(VAZ-21059),耗油量比1200型还少。门上写了数字“78”,装载着自动步枪和火箭炮。
IPB Image战车(BA-20)(ソコシャコフ/БА-20)
在20集登场。由第二次大战退役的装甲车改造而来,配有大炮的军用车辆。操纵座位上面有耳朵状的东西。由包里斯和哥布契夫使用。
IPB Image警用装甲车(KV-1)(ソコシャコフ)
在22集和在24集登场。由包里斯和哥布契夫使用。 与BA-20一样是由第二次大战退役的坦克改造而来,操纵座位上面有耳朵状的东西。

第三季
IPB Image兔老板(兹鲁宗洛夫)(ズルゾロフ/Зрзолов)
一位拥有 13 层商场的白色矮兔子老板,原本是基廉列克两兄弟的手下,后来变节将他们炸死。有极强的自恋症,喜欢自拍,喜欢电玩。娶有两位妻子,并有一群手下,手上的控制器能控制整栋大楼所有机关。因觊觎基廉列克所带的钱而以帆布鞋为饵,企图杀死基廉列克和普京。在基廉列克发飙把它的13层商场大楼变成1层之后,被包里斯和哥布契夫逮捕。
IPB Image机械列克(メカキレネンコ)
在第 35 集普京为吓退兔老板私人武装部队而制造出来的机械兔子。喜欢捣蛋,不怕子弹和热线,还能烹饪(但是做出来的都是有毒料理)、保护和“修好”垂死状态的基廉列克。机器内部附有带镜子的洗手槽,镜子是用来反射镭射光用的。在第四季因为被揍了一拳出现了生长光线的功能。

迁移网站到阿里社区云全过程

前两天收到了ServerPronto的服务通知,大致意思是说服务费要涨到90美元一个月(我当时是购买的超值促销的服务器25美元一个月)。涨价之后基本就没啥性价比了,只好准备换一个服务商。

经过一番考察,决定把迁移到阿里云的社区云服务(http://phpwind.aliyun.com/show/ecc)。最近开始促销,每月199人民币,1990一年,性价比非常不错。

购买不赘述,一路默认下一步即可。付款之后,约15分钟左右服务即可以使用。在管理控制台(http://phpwind.aliyun.com/product/vm_manage/)管理该服务,既可以看到关于服务器的详细信息(配置,IP,默认软件的安装位置等等),其实这就是一台Linux服务器(当然你也可以选择Windows系统)。

我默认安装的PHPwind,倒不因为我要建立一个论坛,我只是让他给我安装好默认的软件(Apache,PHP,Mysql),偷个小懒。

因为我之前使用的Nginx,所以还要手动安装一个Nginx。

安装Nginx:

SSH登录到服务器,下载最新版Nginx(http://nginx.org/en/download.html), 因为默认服务器没有安装PCRE,所以需要自己下载安装(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/)。

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.gz
tar xzvf pcre-8.12.tar.gz
wget http://nginx.org/download/nginx-1.1.0.tar.gz
tar xzvf /nginx-1.1.0.tar.gz

cd nginx-1.10

#注意参数 --with-pcre=../pcre-8.12
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-pcre=../pcre-8.12

make && make install

环境已经准备就绪,即所谓的(LNAMP架构)Linux + Nginx+ Apache + Mysql + PHP 。接下来开始迁移工作。

Nginx  作为前端的服务器,并且处理静态内容

Apache 处理动态内容(PHP)

Mysql 数据库

网站程序迁移:

这个就比较简单,直接把WordPress打包,拷贝到新的服务器。下述仅作描述流程所用,相关路径根据你的实际情况做修改。


#打包

tar czvf main-site.tar.gz main-site

#复制到新的服务器,这里建议用服务器直接对服务器,网速超快(主干网就是不一般啊!木哈哈),当然那你也可以下载-上传

scp main-site.tar.gz  username@host:~/wwwroot/

#ssh登录到新服务器,解压

cd wwwroot

tar xzvf  main-site.tar.gz

数据库迁移:

直接用mysqldump 导出数据库(http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html)。然后再导入到新服务器的数据库即可,建一个和原来服务器上相同的用户,最后密码也相同,这样省得去修改wordpress。


#导出数据库

mysqldump --opt -u root -p mainsite > exportDB.sql

#复制到新的服务器

scp  exportDB.sql  username@host:~/wwwroot/

#SSH登录到新服务器

cd wwwroot

#导入数据库

mysql -u root -p  main_site <  exportDB.sql

目前为止,环境,网站程序,数据库都齐了,可以开始最烦人的部分了,配置!!!

因为我们有两个webServer,都用80的端口,这个怎么办呢?端口冲突。仔细分析,Nginx对外提供服务,Apache仅对内提供服务,这个微妙的区别。解决办法:Nginx绑定到外网IP的80端口,Apache绑定内网(多台服务器)或本机(一台服务器)的80:端口。

配置Apache和Nginx:

Apache:


Listen 127.0.0.1:80

#...忽略默认内容
NameVirtualHost *:80
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" phpwind
CustomLog "|/webserver/apache2.2.15/bin/rotatelogs /logs/apache/%Y-%m-%d-9qc_log.log 100M" phpwind
ErrorLog "/logs/apache/apacheerror_log"

<VirtualHost *:80>
    ServerAdmin admin@admin.com
    DocumentRoot /wwwroot/main_site
    ServerName www.nealmi.com
    ServerAlias main
    ErrorDocument 404 /404.php
    DirectoryIndex index.html index.php index.htm

   <Directory "/wwwroot/main_site">
     Options +Includes
     AllowOverride FileInfo # Fancy Link 使用
     Order allow,deny
     Allow from all
   </Directory>
</VirtualHost>

 

Nginx:

#rewrite xx.com 成 www.xx.com
server {
listen       110.xx.xx.xx:80; # 外网IP
server_name  nealmi.com;
rewrite   ^  http://www.nealmi.com$request_uri? permanent;
}

server {
listen       110.xx.xx.xxx:80; # 外网IP
server_name  www.nealmi.com;
index index.html index.htm index.php;
root /wwwroot/main_site;

#Fancy Link必须设置这个
location / {
        try_files $uri /index.php;
}
#转发php请求到apache
location ~ .*\\.(php)$ {
    proxy_pass         http://127.0.0.1:80;
    proxy_redirect     off;

    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

    client_max_body_size       10m;
    client_body_buffer_size    128k;

    proxy_connect_timeout      90;
    proxy_send_timeout         90;
    proxy_read_timeout         90;

    proxy_buffer_size          4k;
    proxy_buffers              4 32k;
    proxy_busy_buffers_size    64k;
    proxy_temp_file_write_size 64k;
}
location /status {
    stub_status on;
    access_log   off;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    expires      30d;
}
location ~ .*\.(js|css)?$ {
    expires      12h;
}

log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
access_log  /logs/nginx/access.log  access;
}

配置完成,接下来,将域名的记录指向到新服务的IP,大功告成!

这篇文章就是我在迁移到新服务器之后写的。

Transformers: Dark of the Moon – 伊利舒化奶华丽的植入

 

“I’m not talking to you until I finish my Shuhua milk.”

Transformers: Dark of the Moon 国内上映的第二天,去看的,当我听到片中那位ABK(American-born-Korean)Ken Jeong(左图) 说: “May I finish my Shuhua milk?” 我被震撼了,伊利舒化奶的强势植入好莱坞大作。虽然这句话肯定不便宜,但是可以说是广告效果明显,相比之下爱马仕包的植入广告就逊色太多了。当然,国内的品牌还有著名Lenovo,多次近距离特写镜头。相信今后,会有越来越多的中国品牌被植入好莱坞的大片中,当然,副作用就相当明显了:我们会看到越来越多的植入式广告。

当然,无论如何,最大的赢家还是通用,最近还发布了克鲁兹-变形版。大黄蜂的形象已经深入人心,所以呢克鲁兹也有黄色版。

 

截图如下: