阿里云的CentOS主机增加swap文件

在安装gitlab过程中,老是连不上,后来在unicorn的stderr日志看到说unable to allocate memory。于是研究内存问题。这才发现之前一直忽略的问题:阿里云的CentOS主机默认没有设置swap。于是找了方法,设置如下:

利用swap文件的方式增加虚拟的swap空间,不过执行性能会较实际swap分区稍差。
首先,以root身份连接到服务器
选择一个目录,如/var,进入
# cd /var/
创建swap文件,执行dd命令,增加一个1G的swap文件,根据Redhat公司的建议,swap分区最适合的大小是物理内存的1-2倍
# dd if=/dev/zero of=swapfile bs=1024 count=2048000
这条命令是从硬盘里分出一个2G大小的空间,挂在swapfile上
接着再把这个分区变成swap分区
# /sbin/mkswap swapfile
并使其成为有效状态
# /sbin/swapon swapfile
检查是否正确
# free -m
或者
# /sbin/swapon -s
可看到swap分区和大小以及使用情况

最后需要修改/etc/fstab 文件,使其可以随服务器重启时自动启动swap分区
# echo “/var/swapfile swap swap defaults 0 0” >>/etc/fstab
至此,已全部完成添加swap分区。

网站实现HTTPS协议

HTTPS协议的作用和好处就不多说了。

整个过程的步骤,一是要找到一个证书。

二是安装证书,尤其对于一台服务器部署多个虚拟站点的情况。

证书方面,虽然自己也可以制作,但用户访问的时候,会提示需要用户接受该证书,这个很不友好。换成浏览器能接受的CA发行的证书就没有这个问题了。收费的不用说,贵的便宜的都有,一般的主机托管服务商都会有。免费的找到几家公认可以用的,一家是国内的wosign,一家是国外的startcom,应该都好用,免费ssl主要是针对域名进行验证的,申请过程中需要证明对域名的拥有权,可以通过在网站根目录上传特定文件,或者添加特定二级域名来验证。过程中还发现赛门铁克也注册了一个叫freessl.com的网站,里面显示即将推出免费ssl,咱们拭目以待吧。

安装证书一般都有教程,本人是阿里云的ECS服务器,centos6.7 + apache,找到对应教程即可。值得注意的是,阿里云版本的ssl配置文件位置和独立安装的centos的ssl配置文件的位置稍有不一样。

可以参考:https://freessl.wosign.com/aliyun-ssl.html

由于多数免费ssl会有对应的域名限制(譬如wosign上面最多允许一个证书对应5个域名),所以当单台服务器上有超过五个站点都需要启动https的时候,需要再申请另外的ssl。这时候,需要注意ssl配置文件里面的虚拟主机的设置。要考虑用不同的端口来对应不同的证书。

微信网页音频播放遇到的坑(referer防盗链)

最近做微信网页开发,遇到音频问题。方案是在微信网页中,判断用户有收听权限的情况下,让他可以播放音频。在HTML中用了audio标签,用少量js代码控制播放。mp3文件来源是托管在阿里云cdn上面的。

昨天上午刚刚把cdn部署好,测试访问没问题。昨天晚上将带有音频播放功能的网页给用户开放,结果很多用户反应打开不了。明明自己在安卓、苹果上面都测试过了,怎么回事呢。一开始以为是mp3文件的比特率问题。到最后发现不是,后来抱着试试看的心理,清除了cdn里面的防盗链设置
继续阅读“微信网页音频播放遇到的坑(referer防盗链)”