如何选择第三方支付服务商

从用户的角度:简单又个性

1.验证要素简单

最主要的是要解决预留手机号问题。信用卡和借记卡的在线支付所需要的要素已经有了固定的模式,信用卡需要卡号、有效期、卡片背面后三位数字、柜台预留手机号,借记卡只需要卡号和柜台预留手机号码。验证完这些信息之后,只需要输入短信验证码即可完成支付。在这些标准化信息中,难就难在柜台预留手机号这一项,对于借记卡用户来说,这个号码很可能与正在用户正在使用的手机号不同,甚至与用户接受银行提醒信息的手机号码不同。柜台预留手机号是最近几年才在用户开卡时进行明确提示的,这个信息成了借记卡支付的拦路虎。目前市场上目前只有广州易联支付不需要柜台预留手机号也能支付成功。

继续阅读 →

在 vps 安装 Ghost 博客系统记录

0. 前期准备

我的 VPS 系统比较差,很多必备的东西都没安装。

apt-get update
apt-get -y upgrade
apt-get install -y build-essential vim curl unzip

1. 安装 nodejs 和 npm

curl -sL https://deb.nodesource.com/setup | bash -
apt-get install -y nodejs

继续阅读 →

nginx 简单 https 服务器配置

前提是你有一个 SSL 证书。我是在 [StartSSL] 免费申请的,流程很简单。

最简单的 SSL 配置:

server {
    listen    80;
    listen    443 ssl;
    server_name    your_domain;

    ssl_certificate     /path/to/your_certificate.crt;
    ssl_certificate_key    /path/to/your_certificate_key.key;

    root /path/to/your_html_files;
    index index.html index.htm;

    access_log /path/to/your_log_files.log;
}

这样配置后,每次启动 nginx 时都会要求输入证书的密码。如果不想每次都输入密码,可以这样操作:

openssl rsa -in your_certificate_key.key -out your_certificate_key.key.unsecure

期间会要求你输入证书密码,完成后生成解密的key,再修改 Nginx 配置中ssl_certificate_key的文件为your_certificate_key.key.unsecure

php-fpm 崩溃后处理记录

1. 重启 VPS

reboot

2. 启动 Nginx

service nginx start
Starting nginx... Enter PEM pass phrase:done

3. 启动nginx后发现依然无法访问网站,查看 nginx 错误日志,发现如下错误:

2014/12/01 22:48:54 [crit] 774#0: *1 connect() to unix:/tmp/php-cgi.sock failed (2: No such file or directory) while connecting to upstream, client: 183.14.85.153, server: xxx.com, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "xxx.com"

4. 启动php-fpm

/etc/init.d/php-fpm start

5. php 已启动,网站正常了。

Mysql日志过大导致磁盘被占满

前几天一个网站突然挂掉了,以下是定位和解决问题的过程。

  1. 提示 MySql 无法链接
  2. 尝试重启,重启成功,依然不能访问,提示 502
  3. 尝试修改 Nginx 配置,提示无法保存,磁盘已满
  4. 去 VPS 后台查看,磁盘果然满了
  5. 使用 du -sh /* 一步一步定位大文件位置,发现是 MySql 日志文件
  6. 进入 MySql 控制台 /usr/local/mysql/bin/mysql -u root -p
  7. 清除 MySql 日志 reset master;
  8. 修改 MySql 配置文件,设置不保留日志。日志一般是用来做主从库用的,对于普通VPS用户来说一般不需要保存。在 /etc/my.cnf 中将 log-bin=mysql-bin 这行注释掉即可。
  9. 重启系统

如果不是因为是 VPS 只有 10G 硬盘应该不会发现这个问题,屌丝也有屌丝的好处。

霜火岭的爱情故事

这个兽人在冻死之前,似乎在这里宿营过几天,她的眼中凝结着悲伤,直直地望向西南方的冰原。她的胸口藏着一封折叠整齐的信件。

two-love-letters-from-frostfire-ridge-1
继续阅读 →

解决 wordpress gravatar 被墙

Gravatar 在国内被墙的越来越严重,严重影响了博客的打开速度。以下方式能将 wordpress 引用的 Gravatar 通过服务器下载到本地并缓存。只确保海外的主机能用,国内的主机本身就无法访问到 gravatar 服务器,缓存就更无从谈起了。

  1. 在 wordpress 根目录中增加一个目录 avatar,确认权限为 755
  2. 在 avatar 目录中上传一张默认头像 defalut.jpg
  3. 在主题 functions.php 中增加以下代码

继续阅读 →

App Store 被拒记录及分析

3.4:应用在 iTunes Connect 和设备上显示的名称不应该有太大差别,也不应导致误解。

10.6:苹果和苹果的用户都认为简单、优雅、富有创造力的用户界面极为重要,在用户界面上投入大量精力是值得的。如果应用的用户界面过于复杂或不那么好,将会在审核时遭到拒绝。

17.5:包含用户注册或登陆功能的应用,需要有用户隐私政策和条款,不然将被拒绝。

继续阅读 →

iOS APP 更新到旧版本的解决办法

新版App在App Store发布除了会遇到各种审核问题以外,还经常会遇到一些奇怪的问题。比如在旧版APP里面提示升级,引导到App Store下载新版本,App Store里面显示“升级”按钮,下载下来的却是老版本。

其实遇到这种问题不用担心,一般的用户很少会遇到这种情况。产生这种问题的场景基本上都是在自己测试的时候。为了测试方便,我们一般都是从XCode直接打包安装到测试机,而iCloud备份了旧版本的APP信息,iCloud中并没有测试机上Apple ID安装某些版本App的记录。于是就从App Store先下载了历史上有记录的那个版本,再从那个版本进行更行。这也算是App Store的一个BUG。Apple一直没有修复这个BUG,导致测试更新的时候经常被吓到。
继续阅读 →