为Plesk重新编译Nginx添加额外的功能

一.起因

Plesk用的很爽很顺手,但是它比起DirectAdmin来说我最不习惯的是没有类似的CustomBuild功能,无法按照我的习惯来定制软件。
之前翻官方论坛找到了自己编译软件的方法,但是官方人员也表示这个需要把编译的软件的自动更新关掉,锁死版本,防止自动更新把你做的修改全部还原掉。好吧,虽然不完美,但是也算是能用。

另外,如果你需要为Plesk的Nginx增加brotli或者PageSpeed这样的模块,这篇文章也正是你需要的,至于如果你只要给Apache加PageSpeed,那就方便多了,可以参考我之前的文章——> 传送门

二.解决

官方论坛的原贴在这,感兴趣的可以看看 ——>传送门

下面记录了我自己编译Nginx替换原装版本的过程,主要都是命令,大家凑合着看吧,我把注释写下

PS.请务必在修改后将Nginx的自动更新关闭,锁死版本,不然会被替换掉

  1. 访问https://Plesk面板的IP:8443/admin/pum/list
  2. 搜索nginx然后锁定

阅读全文→

编译更新iptables以便支持更多匹配规则

一.介绍

一般情况下的iptables其实是够用的,但是在某些些情况下可能会碰到版本过低的情况,比如使用部分模块或者要安装依赖高版本iptables的程序。
前者我在Linode的机器上碰到过,使用iptables的string模块来匹配关键词的时候报错了,研究了下发现可能是版本过低,但是直接更新并没有卵用,提示没有更新的包,所以只能编译。
由于iptables其实会加载模块,所以瞎几把编译很容易导致之后如果有其他依赖iptables的程序识别错误,因而写一篇文章来记录下如何比较"完美"的覆盖系统自带的iptables,其中编译参数为对系统yum源中的iptables的src.rpm解包后研究所得。

二.方法

也不多说,直接命令走起,在你系统依赖满足的情况下(我当初装的时候忘记记一下要哪些依赖了,所以你如果碰到缺依赖的情况的话就缺啥补啥吧),直接复制命令粘贴应该就能完成升级操作 阅读全文→

Proxmox VE 4.x升级5.x全纪录

一.前因

前阵子心心挂念的Proxmox VE 5.0终于发布了,为啥说期待呢,我个人主要是因为内核的变动,据说是从4.4内核直接到了4.10,这意味着什么?当然是BBR !当然,Proxmox是可以开KVM虚拟机的,这个情况下内核可以随便换,但是,还有LXC你别忘了,没法更改内核,然而其性能以及资源的损耗又让人难以割舍,所以,在4.10的内核支持下它应该也能享受到BBR的优势了。

恩,擦擦嘴,先想想怎么升级吧,全部重装是个办法,但是我目前虚拟机数量还是有几台的,数据量也是不小,所以这样搬来搬去就很烦,那么就直接升级吧。说到升级,那么肯定得去翻官方wiki,这是个好东西啊 ——> 传送门

二.操作

步骤还是挺长的,我们一步步来

首先看前提条件

  • upgraded to latest V 4.4 //升级到最新的4.4版本
  • reliable access to all configured storages //能够稳定连接当前配置的所有存储
  • healthy cluster //集群的话要保证节点都是健康的
  • no VM or CT running //关闭所有虚拟机
  • valid backup of all VM (needed if something goes wrong) //如果要稳妥就先备份一下,省得挂了没法还原
  • Correct repository configuration //正确配置repo
  • at least 1GB free disk space at root mount point //根目录起码有1G
  • if using Ceph, you should be already running the Ceph Luminous version, but see the caveat above //如果使用了Ceph需要保证你用的是Luminous版本

阅读全文→

Centos 6更新glibc——编译或RPM,任君选择

很多软件写着只支持Centos7而不支持Centos6,很大的原因就是因为要求的glibc版本大于2.12(Centos6内置的最高版本),所以这就很尴尬。其实如果解决了glibc的版本问题,很多情况下这些Centos7 Only的程序都是能够正常跑在Centos6上的。

那么,很多人就觉得,既然yum没有高版本的,那我就自己编译呗,我曾经也这么想过……然后,结果比较蛋疼,我成功的陷入了僵局,旧版本的glibc没了,新版本的还不能用,然后整个系统没几个命令可以用,连关机重启都不行,想恢复旧版本的glibc又没办法,只能重装系统。

所以我在这儿给两个办法,一个是rpm的,不过只是2.14版本,大部分情况下够用。还有一个是编译的方法, 不过是借鉴了别人的,考虑的略为全面点,能在失败的情况下救回来。

首先,我们可以用下面几种办法来查看当前glibc版本

阅读全文→

Centos6(EL6)安装Python2.7——与时俱进(?)

一.缘起

Python的版本貌似更新的还是蛮快的,然而这和el6并没有关系……作为以稳定性著称的系统,各种包更新的确实是有点慢了(不是有点慢好吗,是根本没有啊),然而最近发现的一些有趣的轮子要求的Python版本竟然没有2.6……这就很尴尬了,我一开始还没在意,在各种报错之后才去看了下system requirement,然后_(:з」∠)_,我选择死亡,不得已只能想办法装个Python2.7了。

二.条条大路(???)

在网上以各种姿势搜了一下,发现大概是有三种方法来安装Python2.7(其中两种我还真是没见过)

①.RPM大法,这个是最方便的,然而那个RPM包我懵逼了,官方源貌似已经没这个包了,靠迅雷离线给强行下到了(我勒个擦,真的强)———该方法不推荐,包不够新,而且不保证出奇怪的问题

网上教程提供的基本上是

http://li.nux.ro/download/nux/dextop/el6/x86_64/python27-libs-2.7.3-6.2.el6.nux.x86_64.rpm

http://li.nux.ro/download/nux/dextop/el6/x86_64/python27-2.7.3-6.2.el6.nux.x86_64.rpm

http://li.nux.ro/download/nux/dextop/el6/x86_64/tkinter27-2.7.3-6.2.el6.nux.x86_64.rpm

http://li.nux.ro/download/nux/dextop/el6/x86_64/python27-devel-2.7.3-6.2.el6.nux.x86_64.rpm

这四个,然而全是404……喂喂喂,你们一个个写(抄)教程的能不能考虑下时效性,不要睁着眼说瞎话啊。

恩,然后我靠神秘的迅雷离线给抢救回来了,请参照如下命令安装

然后安装pip啥的就不说了,网上一大堆。 阅读全文→