Boost up your ShadowSocks server with BBR

在尝试各种SS优化之后,我发现唯一对我服务器有用的是Google的BBR——一个TCP拥塞控制算法。

具体的一些评价,可以参考知乎的问题《Linux Kernel 4.9 中的 BBR 算法与之前的 TCP 拥塞控制相比有什么优势?

Ubuntu下的简单部署:

  1. 确认一下你的内核版本

    如果返回的是>=4.9的版本,那么直接跳到第4
  2. 下载内核安装包。最新版的内核可以去http://kernel.ubuntu.com/~kernel-ppa/mainline/ 查看,这边下载的是4.13版
  3. 安装新的内核(确保你有sudo权限)

    然后删除系统里原来的内核,首先确认一下删除的版本,运行这个命令找到旧版本的内核

    删掉

    别忘了更新grub,不然引导不来了
  4. 配置sysctl启用BBR
    编辑 /etc/sysctl.conf , 在文件末尾加上下面两行

    然后键入 sysctl -p 令配置生效

 

 

参考:

  1. https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=0f8782ea14974ce992618b55f0c041ef43ed0b78
  2. https://www.zxavier.com/shadowsocks%E4%BC%98%E5%8C%96.html

Apache 虚拟主机 ERROR: Site blog.dayandcarrot.net does not exist! a2ensite

今天在新的DigitalOcean下安装apache2,配置虚拟主机用于我的博客服务,然后根据

http://www.neoease.com/apache-virtual-host/

的内容进行配置,因为以前做过相同操作,所以一路轻车熟路~

结果运行a2ensite时,提示

ERROR: Site blog.dayandcarrot.net does not exist!

当时我的配置文件直接就是blog.dayandcarrot.net这个名字,以前也这么用的

然后我翻了下apache的配置文件apache2.conf,发现目录结构描述中有

看到后缀都要是.conf的

然后我把文件名后加了个.conf的后缀,再

ensite blog.dayandcarrot.net

然后就搞定啦!~

Linux/Ubuntu shell中的系统信息查询

http://yige.org/linux/system.php

=============

Linux 的文件系统中,有一个特殊目录“/proc”, 该目录下列出的文件并非保存在磁盘上,而是内存中的一个映像。在该目录下可以找到许多有意思的东西,例如:

/proc/cpuinfo 本机 CPU的相关信息;

/proc/meminfo 本机内存及交换分区的使用信息;

/proc/modules 本机已安装的硬件模块信息;

/proc/mounts 本机已挂载 mount 上的设备信息;

此外, 该目录下有一些以数字为名称的子目录,每个子目录用于维护一个正在运行的进程,而目录名即为相应的进程ID。 例如进入名称为“1” 的子目录:

cd /proc/1

该目录下 文件“cmdline” 中的内容为该进程运行时执行的命令行;“environ”文件中的内容为该进程运行时的环境变量信息;“stat” 文件中存放的时该进程运行的状态信息等。

通过查看“ /proc” 目录下的文件,可以获取几乎所有的系统信息及系统的运行状态信息。事实上,Linux 下的诸多查询系统状态信息的命令,也是通过读取该目录下的文件而获取的。

以下是一些用于查看系统状态信息的命令:


df 命令

用于查看 Linux 文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。如:

df -k 以千字节 (KB) 为单位显示各分区的信息;

df -a 显示所有分区, 包括大小为0 的分区;

df -T 显示分区类型 (EXT2 或EXT3等)。


du 命令

用于查看文件或文件夹的大小 。如:

du -b /home 以字节为单位显示“ /home ”文件夹下各个子文件夹的大小;

du -ks home 以千字节 (KB) 为单位显示“/home” 文件夹的总大小;


top 命令

用于实时查看系统状态信息。 运行该命令后,屏幕上会显示如下信息:

CPU状态(CPU states): 包括用户进程占用比率、系统进程占用比率、用户的nice 优先级进程占用比率及空闲CPU资源比率等;

内存状态 (Mem): 包括内存总量、使用量、空闲量等;

交换分区状态(Swap): 包括交换分区总量、使用量、空闲量等;

每个进程的状态:包括进程ID、 用户名、优先级、CPU和内存使用量,以及运行该进程时执行的命令行;

执行 top 命令后,每隔5 秒,系统会自动刷新一次状态信息,如果要指定刷新间隔,在启动时加入“-d” 参数即可。例如:

top -d 1 启动 top ,并且每隔1 秒刷新一次。

进入 top 后,按下如下按钮会有相应功能:

【空格】 立即刷新显示信息;

【M】 按内存使用量排序;

【N】 按进程ID 排序;

【P】 按 CPU使用量排序;

【c】扩展命令行信息, 显示完整的命令行;
【?】 显示帮助信息;
【q】 退出 top 程序。


iostat 命令

统计并输出 CPU使用信息及特定设备或分区的IO 信息。

iostat -c 仅显示 CPU使用情况统计信息;

iostat -d 仅显示设备/分区使用情况统计信息;

iostat -d 2 统计设备/分区使用情况,并每隔2 秒刷新一次;

显示的 IO 统计信息中,各部分说明如下:

tps 设备每秒收到的 IO 传送请求数;

Blk_read/s 设备每秒读入的块数量;

Blk_wrtn/s 设备每秒写入的块数量;

Blk_read 设备读入的总块数量;

Blk_wrtn 设备写入的总块数量;

显示的 CPU统计信息各部分的含义同top。

 

Ubuntu下创建Django项目——使用Apache2的mod-wsgi

记录本人在自己的XEN VPS上用Apache2跑Django项目的配置过程

QQ截图20140107195633===============================================

我的虚拟主机:

Ubuntu12.04 + Apache 2.2 + python2.7 + Django1.6.1(使用pip安装的)

+ blablabla

===============================================

参考文档:

https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/modwsgi/

http://www.cnblogs.com/zhengyun_ustc/archive/2009/08/11/wsgi.html

http://wiki.ubuntu.org.cn/Apache%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E6%8C%87%E5%8D%97

https://www.digitalocean.com/community/articles/installing-mod_wsgi-on-ubuntu-12-04

================================================

首先参考教程,安装mod_wsgi

前置条件:

安装mod_wsgi (感谢ubuntu自己带了这个安装包)

搞定之后重启apache

================================================

第二步,是找一个地方,自己新建一个Django项目,比如我的项目位置在

然后新建一个文件夹,比如我的文件夹叫apache,来存放wsgi的配置文件

上面的配置就自己看啦,我的django项目名字是叫priv_map来着的

然后接着下一步,需要在apache的配置目录中建立一个虚拟主机,这样当输入网址时能够根据内容转向到我们的django程序。当然你也可以不新建虚拟主机,直接修改default配置文件,这个我没有试过,不过肯定是可行的!参考文献中有使用这个方法做的。

找到你的Apache配置目录:

新建一个文件,自定义命名,反正等下要用命令行来启用的

我的访问的站点是a.dayandcarrot.net

其中有django的ststic目录配置好了,需要另加media目录的话,照葫芦画瓢就行吧。

保存好这个文件。

然后启用这个虚拟主机:

后面的a.dayandcarrot.net是你刚才新建的文件的名字.

然后apache重新加载下

应该就搞定啦!