Ubuntu升级内核

下载内核

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

安装最新的4.12.0,然后重启

wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-headers-4.12.0-041200_4.12.0-041200.201707022031_all.deb
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-headers-4.12.0-041200-generic_4.12.0-041200.201707022031_amd64.deb
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-image-4.12.0-041200-generic_4.12.0-041200.201707022031_amd64.deb
sudo dpkg -i *.deb
reboot

SSH解决直接绕过跳板机登陆后端服务器

通常我们登陆服务器都是先到跳板机,然后从跳板机登陆其他服务器,这么做的原因是为了杜绝任何人都可以直接连接 SSH 服务器,带来安全隐患,但是每次都要 ssh 到跳板机,然后从跳板机在连远程主机实在是太麻烦了。我们可以通过 ssh 的 forward 模式直接就从本地连接到内网机器,具体操作如下

如何绑定www和根域名在CDN

未接入服务器之前

现在我有一个自己的服务器,Linux 操作系统,搭建了 LNMP。现在我的配置信息如下

服务器 IP: 110.110.110.110
我的域名是: www.awen.me
在我的网站上已经绑定了www.awen.meawen.me
在 DNS 上,我现在的解析记录如下,绑定了2条A 记录,一个 www 和一个@ 这样可以保证我访问http://www.awen.mehttp://awen.me都可以获取服务器的 web 资源。

自动化工具--Ansible使用

什么是 Ansible

Ansible 是一款自动化管理,官网https://www.ansible.com/

官网说他是”Ansible is Simple IT Automation”–简单的自动化 IT 工具,他主要是让我们自动化部署应用,自动化管理配置项,自动化的持续交付,自动化的云服务管理。

比如说你有一个任务,需要在1000台线上服务器配置缓存系统 ats,那么你不可能一台 一台的ssh 登陆服务器去安装配置,这样的效率估计也只能看着公司倒闭了。所以,需要借助一些自动化工具批量化的部署实现安装、更新等操作。类似于 cobbler 自动 PEX 安装机器。

使用验证DNS的方式申请证书

如果说你的网站要使用Let’s encrypt的话,当你无法使用A记录的方式添加 @www 时,而使用了 cname 记录添加,这种情况一般发生在使用 CDN 加速域名的时候会出现,例如你要加速 fangwenjun.com 和 www.fangwenjun.com 当你的源站也443端口加上证书也是采用的Let’s encrypt,就不能自动续期证书的,因为Let’s encrypt必须验证主域名的所有者,也就是说必须做 A 记录指向才可以申请和续签,而使用 CDN 一般得到的 IP 地址都是 CDN 厂商的代理 IP,并非你的真实 IP,这样就会导致升级续签会很麻烦,你不能享受Let’s encrypt的自动续签功能,做了计划任务到期续签,当你的源站证书到期后,你不得不修改 DNS 解析指向源站做 A 记录才能升级,否则超过90天源站的证书就会过期。

但是,在 GitHub 上我发现一个项目,叫 acme,项目地址
https://github.com/Neilpang/acme.sh,它是一个开源的项目,其实就是一个 sh 脚本,,它的强大之处就在于你即使是在你的本地 PC 上,同样可以申请Let’s encrypt证书,并且支持 DNS 的方式申请,而不占用你的 cname 和 A 记录,这样,哪怕你使用了 CDN 进行加速,也不必担心源站证书续签的问题,下面就简单演示下如何通过 DNS 的方式申请证书。

上传文件 Empty reply from server

某客户返回海外上传文件特别慢,经常超时,于是进行排查

往接口发送文件

在 digitalocean 创建一个英国的服务器,然后进行测试

1.本地上传一个53k 的文件

   root@ubuntu-512mb-lon1-01:~# curl -T /usr/bin/passwd http://v0.api.upyun.com/file201503/passwd -u fangwenjun:xxxxxx-v
*   Trying 43.230.89.190...
* Connected to v0.api.upyun.com (43.230.89.190) port 80 (#0)
* Server auth using Basic with user 'fangwenjun'
> PUT /file201503/passwd HTTP/1.1
> Host: v0.api.upyun.com
> Authorization: Basic xxxxx==
> User-Agent: curl/7.47.0
> Accept: */*
> Content-Length: 54256
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
* We are completely uploaded and fine
* Empty reply from server
* Connection #0 to host v0.api.upyun.com left intact
curl: (52) Empty reply from server

见识决定命运

这句话我是深有感触,罗辑思维之前有一期叫“拒绝逃离北上广,见识决定命运” 里面几个例子印象深刻,虽然现在的罗辑思维节目我不怎么看了。