今天重装了一台阿里云服务器,用之前的ssh连接的方式连接服务器遇到了以下错误,此时只需要用编辑器去删除掉和11.121.123.129有关的那一行即可。

#重装了系统之后连接
ssh root@11.121.123.129 
#报错了!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
#进入该文件去删除掉11.121.123.129这一行有关的信息
vim ~/.ssh/known_hosts

此时重连会发现已经正常了。

从产品经理的角度浅析一下最近最火爆的微信抢红包活动吧。首先必须承认,腾讯在创造社交性应用场景上的技能无与伦比。这是公司的基因,是他们已经建立起来的人才壁垒。当然,他们累积多年的关系链也是成功关键因素。

作为一个堪称经典的新年主题活动,到底微信抢红包有哪些吸引人的地方呢?


1. 与金钱挂钩

但凡与金钱挂钩的事情,多少会比较吸引眼球,如果还能白拿一些,那没有人会在意自己付出了多少时间成本。 参与的金额随意,几乎没有进入门槛。唯一的门槛就是绑定银行卡。

2. 红包主题应景,时间点抓得准

时值过年,赶上了大家都有空的时间;红包主题应景,过年期间大家脸皮都厚。 微信的用户群和QQ的用户群还真的是有差异的,我看老一辈的人正在成为微信的用户,而他们也许都没有QQ,比如我的父亲。因为微信的发信息是短信模型的升级,对于老一辈人来说很容易理解。登录帐号这个环节通过手机号注册已经降低了很多。

3. 随机拼手气

随机就意味着无限可能,即博彩的缩微版。腾讯再次利用人性绕不开的缺点(赌和炫耀),让红包在人群中快速蔓延。点红包的瞬间,就是赌性的释放,发红包和将自己获得的好手气发到群里是炫耀的释放。只有一点都能获得成功,何况叠加了两点。不知道当初设计这个游戏的产品经理是否准确预测了群里会有人把自己抽中的红包金额发出来炫耀,不论如何已经成功了。

4. 交互

从发放红包的流程来看,非常简易,红包类型 -> 红包金额 -> 红包个数 -> 确定。收红包的流程就更加简易了,点击进入,有就抢,没有就抱歉。这本来就是腾讯的强项,在此就不做赘述了。


从以上这些都是可以借鉴到其他活动里的元素。新年里让我也来尝试着设计一个病毒式的游戏营销活动吧。除夕夜祝大家春节快乐!

Step One, install mailcatcher, type the command in terminal

gem install mailcatcher

Step Two, run mailcatcher, type the command in terminal

mailcatcher

Step Three, change the configuration in /config/environments/development.rb

 1 config.action_mailer.raise_delivery_errors = true
 2 config.action_mailer.default_url_options = { :host => 'localhost:3000' }
 3 config.action_mailer.delivery_method = :smtp
 4 config.action_mailer.perform_deliveries = true
 5 config.action_mailer.default :charset => "utf-8"
 6 config.action_mailer.smtp_settings = {
 7   :address => "localhost",
 8   :port => 1025,
 9   :domain => "localhost:3000"
10 }

Step Four, open http://127.0.0.1:1080 in browser and now you can test the email sending function.

上一篇记录了如何将rails代码部署到阿里云上。这一篇介绍代码版本升级的步骤。

第一步:将你的新版本代码推送到git服务器上去,我是推送到github的。

第二步:更新服务器上的代码

#找到跑在后台的进程,进程名称里一般会有ruby
ps -aux
#终止该进程,pid是在上面命令后找到的
kill -9 pid
#进入rails目录
cd your_project_dir
#用git更新代码
git fetch https://github.com/xxx/yyy.git
git -a .
git -commit -m "your_msg"
git pull https://github.com/xxx/yyy.git
#重启Rails服务器,之前可能会需要bundle或者rake之类的步骤
rails s -d

大功告成。

学习Ruby on Rails的口号喊了有半年多了,最近两周时间因为迫于生理原因(大家一定会误解了,想了解请看后记)密集的学习了一下。

完成了最基础的功能注册、登录、推荐书籍、修改书籍信息、借书、还书之后,就想着要部署到线上去。朋友推荐用heroku去做部署,也试了一下,amazon的网络墙得厉害,经常掉线。所以就放弃了这条路,等亚马逊云服务在国内稳定了,相信heroku就方便了。我有一个阿里云服务器,在国内速度还算可以啊,就想自己去折腾部署吧。(吐槽一下:虽然阿里云最近从69/月降价到55/月,但带宽限制也下降到了1Mbit,什么所谓的降价都是欺骗消费者,其实是变相提价带宽资源。)

第一步:一些工具的安装,包括rvm、git、nginx。

rvm的安装可以看这篇文章,但是其中的有些步骤因为rvm版本的升级而失效,请一定要看下文章下面的评论第一条和第二条。

git和nginx的安装满大街都有,可以自己找。

第二步:安装完环境后,利用git从github把代码同步过来并设置访问权限。我的服务没什么特别的安全限制的,所以就设置成777

第三步:阿里云上搭建环境

#设置文件与目录的权限
chmod -R 777 your_project_dir
#设置生产环境
cd your_project_dir
rake RAILS_ENV=production
#数据迁移
rake db:migrate
#启动服务将服务放在后台
rails s -d #这里可以添加-p 80,将端口设置为80

第四步:配置nginx反向代理,这里最重要的一行是下面第7行; 然后重启nginx。大功告成!这样通过nginx实现了一个反向代理。这样通过nginx你还可以在同一台机器上部署其他项目。

1 server{
2     listen 80;
3     server_name your.domain.com; //你的域名
4     index index.htm index.html index.html.erb;
5     location /
6     {
7         proxy_pass http://localhost:3000; //我的默认端口是3000,所以这里的反向代理指向localhost:3000
8     }
9 }

后记: 之所以说是生理原因,因为半年前赌咒说不写图书馆项目就不理发。发在朋友圈里了,不能食言。从夏天拖到了冬天,终于忍受不了长发的困扰就去理发了。让大家失望了,哈哈!感谢在这过程中给予我帮助的Sanvi、Harry、Haibao、小杰、水文。让这些资深的程序员陪着菜鸟玩实在是难为你们啦!