Setting up Django with uWSGI, nginx and SSL on CentOS 7
In this tutorial we will set up uWSGI so that it creates a Unix socket, and serves Django responses to nginx via the uwsgi protocol.
In this tutorial we will set up uWSGI so that it creates a Unix socket, and serves Django responses to nginx via the uwsgi protocol.
我翻译的这篇《 CentOS 最佳第三方仓库 》今天发表在 linux.cn 首页,这是我为 linux.cn 翻译的第二篇文章。
LFS ( Linux From Scratch ) , 即“从零开始构建 linux ”。具体是指,从最基本的 glibc, binutils, gcc 等开始,逐个编译 linux 运行所必须的各个软件,最终构建出一个可以启动并独立运行的 linux 。
一个完整的 LFS 过程至少要分为两个阶段——chroot 前和后。本文涉及 chroot 前的内容,基本可以完成 LFS 6.4 即 chroot (包括)之前的所有工作,包括软件包下载、环境设定、编译等,直到 chroot 命令本身。
如果没有添加路径,外部命令无法执行。
之前只是听说,不以为然,今天出现问题才有体会。
事情是这样的。
TrinityCore 6.x很不稳定,worldserver经常因为客户端的一些行为而异常退出。因为放在aws上,不想每次都ssh上去启动,就写了个脚本:
pidof bnetserver || { /home/dot/6tcinit/bin/bnetserver & }
pidof worldserver || { /home/dot/6tcinit/bin/worldserver < /dev/null &> /dev/null & }
加到crontab里每5分钟运行一次。奇怪的是||后面的语句总会运行,这说明前面的的命令报错了(状态码非0)。
把前面的命令替换为:(冒号,等同true)则正常,说明问题出在pidof命令上。这时才想起查看日志,于是看了看crond发送的邮件,提示pidof: command not found,这才想起没有添加路径,导致找不到pidof。
tcinit 是一个自动部署 TrinityCore 的 bash 脚本
这是在CentOS 7上扩展lv时遇到的问题。
当时为了给TrinityCore配置环境,需要编译较新的gcc。但之前只给这个CentOS虚拟机分配了8G的硬盘,编译时gcc目录竟然涨到了近5G,No space left one device,进行不下去了。
第一反应是扩展lv。
先添加一块硬盘,然后执行:
pvcreate /dev/sdb
vgextend centos /dev/sdb
lvextend -l +100%free /dev/mapper/centos-root
但是最后resize2fs报错:
resize2fs: Bad magic number in super-block while trying to open /dev/mapper/centos-root
原来CentOS 7默认采用xfs而非ext4,resize2fs自然无效了。
TrinityCore 是什么?黑话,一个网络游戏框架;白话,一个魔兽世界服务器端
本文描述在 CentOS 7.2 上部署 TrinityCore
编译流程官方 wiki 讲的很详细,不赘述。这里只讲一些可能遇到的问题,以及 wiki 遗漏的一些细节
本文暂只说明现象,原因则有待研究。
我们删掉git目录下的一个文件foo1,如果foo1是其他文件foo的硬链接,此时虽然可以用git checkout foo1恢复文件,但恢复出来的这个foo1拥有的是不同的inode,和目标文件foo已失去了对应关系,俨然一个新文件。这倒不难理解。
但如果说这一举动会导致目标文件foo的inode也发生变化,就有些匪夷所思了。
来看看下面这个例子。
本文是用curl命令提交表单的续篇,在脚本中添加了nmcli的调用,以实现连接、修改、断开等简单操作。
提示:
脚本功能:
待解决的问题:
自己总是在电脑前一坐半天乃至一天,不利于健康不说,长时间纠结某个问题往往事倍功半,所以就写了这么个脚本,初衷就是定时提醒自己起身放松一下。
这个脚本作用很简单,添加到crontab,0 8-19/1 * * * relax.sh
,8至19点每小时整点运行。