LNMP1.3 安装 fileinfo 组件

最近在折腾一款论坛程序,需要fileinfo组件,而lnmp1.3默认没有支持。
其实很简单,只要修改 include/upgrade_php.sh 这个文件

把其中的:--disable-fileinfo
全部替换:--enable-fileinfo

再执行 ./upgrade.sh 选择4,升级php就行了。

flarum伪静态部分配置(仅限军哥lnmp1.3版本)

  1. location / {
  2.     try_files $uri $uri/ /index.php?$query_string;
  3. }
  4. location /api {
  5.     try_files $uri $uri/ /api.php?$query_string;
  6. }
  7. location /admin {
  8.     try_files $uri $uri/ /admin.php?$query_string;
  9. }
  10. location /flarum {
  11.     deny all;
  12.     return 404;
  13. }
  14. location ~ .php$ {
  15.     fastcgi_split_path_info ^(.+.php)(/.+)$;
  16.     fastcgi_pass unix:/tmp/php-cgi.sock;
  17.     fastcgi_index index.php;
  18.     include fastcgi.conf;
  19. }

nginx实现访问网站或目录密码认证保护

以我们做一个简单的后台管理为例, 地址:http://xxxx/admin/*, 对admin 下面的文件进行权限管理;

1. 进入ngnix配置的地址,以我的ubuntu为例;  cd /etc/ngnix

2. 在ngnix 配置目录新建pass_file文件,使用http://tool.oschina.net/htpasswd生成密码.

3. 将生成的帐号密码复制到pass_file文件,一行一个.

4. 修改ngnix 配置.

  1. location ~ /admin {
  2.         auth_basic “Restricted”;
  3.         auth_basic_user_file /etc/nginx/pass_file;//请使用绝对路径
  4.         root   /home/www/admin; //host 地址,不然认证通过之后,找不到对应的文件
  5. }
       5. 重启ngnix ,sudo service ngnix reload;

6. 登录 http://xxxx/admin/*,弹出验证框,说明验证配置完成

使用 Google BBR 拥塞算法加速 TCP

Google BBR是一个TCP加速优化工具,类似于锐速,可用于优化 TCP 连接。最近一下就火起来了,说明还是有牛逼的地方,咱也别落后,用起来。

GitHub 地址为:https://github.com/google/bbr

仔细看了看,GitHub 主页上有明确的说明“This is not an official Google product.” 说明这其实不是 Google 的官方项目,但是是在 Google 的 GitHub 上,比较奇怪。

要想启用 BBR 需要切换内核,所以必须要 KVM 或者 XEN 架构的 VPS。这点和锐速一致,所以 Openvz 的朋友是用不了的。由于需要跟换内核,属于危险操作,请不要用于生产环境,可能会造成无法开机,切记!

至于加速效果,有人反馈比锐速好,有人反馈比锐速弱。我测试后感觉效果还是不错的,但是用起来比破解版锐速放心一些吧,它是内置到最新的内核里边了。

安装 BBR

1.一键安装脚本

网上有 BBR 的一键安装脚本,我找到两个:

  1. wget –no-check-certificate https://github.com/52fancy/GooGle-BBR/raw/master/BBR.sh && sh BBR.sh

可用于 CentOS 6。

  1. wget -N –no-check-certificate https://soft.dou-bi.co/Bash/bbr.sh && chmod +x bbr.sh && bash bbr.sh

可用于 Debian / Ubuntu 14.04 + (说明看这里:https://www.dou-bi.co/wlzy-16/)。

我是手动安装的,没测试过,请自测。CentOS 7 可以看这里:https://zhujiwiki.com/10156.html

2.手动安装方式

先看官方手动编译内核的文档:

https://github.com/google/bbr/blob/master/Documentation/bbr-quick-start.md

看起来比较麻烦,我们还是直接安装编译好的吧。

我的系统是 Ubuntu x64,可以直接到 ppa 仓库里下载:

http://kernel.ubuntu.com/~kernel-ppa/mainline/

网页拉到最后,看最新的内核,当前最新的是 v4.9:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/

下载内核文件:

  1. wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900_4.9.0-040900.201612111631_all.deb
  2. wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb
  3. wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb

32位下这些:

  1. wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900_4.9.0-040900.201612111631_all.deb
  2. wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900-generic_4.9.0-040900.201612111631_i386.deb
  3. wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_i386.deb

下载完成之后可以开始安装了:

  1. sudo dpkg -i linux-headers-4.9*.deb linux-image-4.9*.deb

安装完成之后可以删除多余的内核:

  1. dpkg -l | grep linux-image | awk ‘{print $2}’ | grep -v ‘linux-image-4.9’ | sudo xargs dpkg –purge
  2. dpkg -l | grep linux-headers | awk ‘{print $2}’ | grep -v ‘linux-headers-4.9’ | sudo xargs dpkg –purge

然后更新一下 grub:

  1. # sudo update-grub
  2. Generating grub configuration file …
  3. Found linux image: /boot/vmlinuz-4.9.0-040900rc8-generic
  4. Found initrd image: /boot/initrd.img-4.9.0-040900rc8-generic
  5. done

重启 vps:

  1. sudo reboot

重启之后,查看一下当前的内核:

  1. # uname -r
  2. 4.9.0-040900-generic

已经是 4.9 了,现在可以启用 BBR 了:

  1. sudo bash -c ‘echo “net.core.default_qdisc=fq” >> /etc/sysctl.conf’
  2. sudo bash -c ‘echo “net.ipv4.tcp_congestion_control=bbr” >> /etc/sysctl.conf’
  1. sysctl -p

使配置生效。
然后可以检查一下:

  1. # sysctl net.ipv4.tcp_available_congestion_control
  2. net.ipv4.tcp_available_congestion_control = bbr cubic reno
  1. # lsmod | grep bbr
  2. tcp_bbr                20480  14

结果里边已经有 BBR 了,说明启用成功。没成功的话,再重启一下 VPS。

Debian 的手动安装方法可以看这里:https://moonagic.com/try-bbr/

Youtube-dl高级使用方法,混合参数下载

youtube-dl这个解析下载脚本功能可不是盖的,在视频下载方面极其强悍,如果你还没有听说过那真的落伍了;

虽然它一般都被用来下载youtube视频,但它所支持的格式范围很广除了欧美主流视频网站之外,中国的主流视频网站它也支持,比如优酷、搜狐、爱奇艺等;

这是一个命令脚本工具,没有ui界面的,最基础的使用方法是 youtube-dl + url,因此它强大的功能就要靠参数来实现,借用不同的参数可以实现不同的下载方式,比如指定格式、下载视频字幕、批量下载、代理下载等等好多功能可以轻松实现;

后期我还准备另外分享一篇youtube-dl结合ffmpeg重新编码、格式转换、合并视频等等之类的拓展功能介绍的内容,进一步让大家知道这个脚本工具是多么的牛叉好用;

今晚正好我又用到了这个脚本,就来记录一下我常用的一些下载命令方法,日后会增添一些觉得有用的参数继续完善这篇文章;

安装youtube-dl

  1. wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
  2. chmod a+x /usr/local/bin/youtube-dl

下载全部格式

  1. youtube-dl  –all-formats https://www.youtube.com/watch?v=hLQl3WQQoQ0

–all-formats 添加这个参数之后,所有存在的格式一扫而尽,统统下载;

查看该视频所有格式类型,只看不下载 -F或者–list-formats

–list-formats这是一个列清单参数,执行后并不会下载视频,但能知道这个目标视频都有哪些格式存在,这样就可以有选择的下载啦!

  1. youtube-dl –list-formats https://www.youtube.com/watch?v=hLQl3WQQoQ0

下载指定格式视频

-f + 编号通过上一步获取到了所有视频格式的清单,最左边一列就是编号对应着不同的格式,例如我想下载22号那个mp4格式分辨率为1280*720的视频,则按下面的命令就可以轻松指定下载视频哦;

  1. youtube-dl -f 22 http://www.youtube.com/watch?v=BlXaGWbFVKY

下载youtube字幕及视频

有的youtube视频是有字幕的可供下载的,但不是全部;如果过你想要下载字幕用这个脚本来操作也是很容易的;
先来说说两个参数–write-sub加入字幕文件 –all-subs如果有字幕存在则全部下载

  1. youtube-dl –write-sub –all-subs https://www.youtube.com/watch?v=0TjgZbVdOLA

批量下载

在Putty命令行界面中创建一个专门的目录用于存放下载的视频文件,然后CD至此目录下,创建一个包含所有下载链接的txt文件(使用vi命令即可)。在此目录下,执行下载命令:

  1. youtube-dl -c -i -a video_url.txt

没错,youtube-dl提供了很多有用的附加参数,这里用到的是:

  • -c 断点续传(如果由于意外原因下载中断了,再次启动下载命令时,可以实现断点续传)
  • -i 忽略报错(如果出现某些链接无法打开或者下载的问题,会自动绕过,继续下载其他视频)