nginx无缝升级

需要编译一个模块,顺便记录一下,环境是用lnmp一键包搭建的.
下载最新稳定版

wget http://nginx.org/download/nginx-1.12.1.tar.gz
tar zxvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_dav_module --with-http_realip_module --add-module=/root/ngx_http_substitutions_filter_module --add-module=/root/nginx-dav-ext-module

然后make,但不要make install

make

编译完,在objs目录下有一个nginx执行文件,就是它了。

备份下原来老的nginx文件

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

在把新objs下的nginx cp到sbin下,执行:

cp objs/nginx /usr/local/nginx/sbin/nginx 

执行

/usr/local/nginx/sbin/nginx -t 

测试下,显示没有问题。

再执行

make upgrade

执行:

/usr/local/nginx/sbin/nginx -V

将会出现nginx的版本及编译的参数,升级完成!

git简易指南

安装
略过
创建新仓库
创建新文件夹,打开,然后执行

git init

以创建新的 git 仓库。

检出仓库
执行如下命令以创建一个本地仓库的克隆版本:

git clone /path/to/repository 

如果是远端服务器上的仓库,你的命令会是这个样子:

git clone username@host:/path/to/repository

继续阅读→

使用acme签发&续期 Let's Encrypt 证书。

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.

使用它的原因是 acme.sh 支持DNS API方式签发证书,这可方便太多了

支持的DNS服务商有: cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成.

[root@ROOT ~]# ls .acme.sh/dnsapi/
dns_ad.sh         dns_cf.sh         dns_do.sh         dns_gd.sh         dns_linode.sh     dns_myapi.sh      dns_pdns.sh
dns_ali.sh        dns_cx.sh         dns_dp.sh         dns_ispconfig.sh  dns_lua.sh        dns_nsupdate.sh   README.md
dns_aws.sh        dns_cyon.sh       dns_freedns.sh    dns_lexicon.sh    dns_me.sh         dns_ovh.sh

继续阅读→

解决从服务器检索信息时出错 [DF-DFERH-01]

记录下
网上搜索这个问题各大论坛都是讲要你删除帐号重新登录清理缓存之类的,然而都是你抄我的我抄你的,屁用没有
我的路由器已经国外IP分流了,依然出现这个问题,必须在手机上全局挂代理才能用,非常麻烦.
正确的办法是将services.googleapis.cn这个IP指向到216.58.197.195
国内的DNS会解析到Google 国内的IP上
如果你用openwrt的路由器就很好处理啦

sed -i '$a conf-dir=/etc/dnsmasq.d' /etc/dnsmasq.conf
mkdir /etc/dnsmasq.d/
cat >>/etc/dnsmasq.d/custom.conf<<EOF
address=/services.googleapis.cn/216.58.197.195
EOF

这个IP是可变的,在国外的服务器上查询下就行
记得wan口要这么设置,取消勾选使用端局通告的DNS服务器
请输入代码