由于博客从ghost转到了jekyll,很多东西需要进行优化配置。首先从网上找一个比较适合自己的模板,在github上找到了wangana这款模板,觉得挺合适,然后就clone下来开始了改造。

首先是将一些不要的功能都精简掉,同时因为这个模板原来css、font、js等等的资源都是存在本地,考虑到这个主机是托管在国外一个128MB的迷你型VPS上(还要跑个nginx),所以就将其能在国内找到CDN的资源,如jquery,bootstrap,fontawesome都从国内的公共CDN引用,然后再将主css传到七牛上,同时使用多说而不是disqus,同时找到了多说的完美https方案就用上了。

然后发现fontawesome的性能依旧不是特别理想,所以再将fontawesome换成了iconfont。所以目前博客在国内完全刷新大概需要2s,握手交换传输主页这个时间差不多是极限了。

最后再根据自己的需要增加了博客分页的功能,以后再根据需要作一下修正。

国内有个阿里云学生版主机,不过快毕业了,可能就废弃了,这个国外便宜主机就留着慢慢渣干性能。

一、nginx的配置文件(主要部分)如下:

server1.conf

server {
    listen       8189;
    server_name  127.0.0.1;
    root   /opt/nginx/html/php;
    index  index.html index.htm index.php;

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
       
}

server2.conf

- 阅读剩余部分 -

从hexo到ghost又回到jekyll

还是觉得jekyll这种本地管理的方式最适合自己,不过现在不再部署到github上了,而是通过rsync直接同步到自己的服务器上,感觉这样也不错,服务器的配置自己可控可写。

Resin4配置文件发生了较大变化,分为:

app-default.xml web应用配置 cluster-default.xml 集群配置 resin.xml resin.properties 会被修改的变量

一.删除/注释resin社区版本不支持的功能

1.health: 修改resin.xml, 删除

<resin:import path="${__DIR__}/health.xml"/>  

2.LoadBalance 修改resin.xml, 删除

<web-app id="">  
   <resin:LoadBalance regexp="" cluster="app"/>  
</web-app>  

- 阅读剩余部分 -

rsync有两种常用的认证方式,一种为rsync-daemon方式,另外一种则是ssh。 在一些场合,使用rsync-daemon方式会比较缺乏灵活性,ssh方式则成为首选。但是今天实际操作的时候发现当远端服务器的ssh默认端口被修改后,rsync时找不到一个合适的方法来输入对方ssh服务端口号。 在查看官方文档后,找到一种方法,即使用-e参数。 -e参数的作用是可以使用户自由选择欲使用的shell程序来连接远端服务器,当然也可以设置成使用默认的ssh来连接,但是这样我们就可以加入ssh的参数了。 具体语句写法如下:

rsync -e 'ssh -p 1234' [email protected]:SourceFile DestFile`

- 阅读剩余部分 -

实习项目

过程

1.下载nginx-1.11.3源码包并且编译。

因为nginx HTTP rewrite module 需要PCRE包,同时其依赖的zlib本机也没有安装。所以一并下载源码包编译。

其中遇到过一次错误,就是nginx依赖的是PCRE而不是PCRE2,在下载的时候需要区分清楚。

PCRE和zlib编译安装过程比较简单,只需./configure好然后make && make install即可。

然后可以进入nginx编译过程。

在./configure时需要添加好参数 –with-pcre=PATH/TO/pcre  –with-zlib=PATH/TO/zlib

执行make && make install 编译安装

- 阅读剩余部分 -

mpeg4的每一帧开头是固定的:00 00 01 b6,那么我们如何判断当前帧属于什么帧呢?在接下来的2bit,将会告诉我们答案。注意:是2bit,不是byte,下面是各类型帧与2bit的对应关系:

  00: I Frame

  01: P Frame

  10: B Frame 

为了更好地说明,我们举几个例子,以下是16进制显示的视频编码:

- 阅读剩余部分 -