OOI的Redis分支 - acgx/ooi2 GitHub Wiki

OOI2的master分支提供了最基本的功能,同时另一个redis分支提供了多CDN的特性,同时修复了2015年10月9日官方更新后在游戏页面刷新即不能正常使用需要重新登录的问题。

首先按照 在VPS上安装配置OOI系统 中的步骤安装配置OOI系统,能够正常运行后再安装Redis服务:

apt-get install redis-server

然后将代码切换到redis分支:

cd /srv/ooi2
git pull
git checkout redis

安装Python的Redis库:

source /srv/ooi2/bin/activate
pip install redis
deactivate

此时可根据需要重新配置/etc/supervisor/conf.d/ooi2.conf文件,有几个新的环境变量可以设置:

  • OOI_REDIS_HOST:Redis服务的主机,默认为127.0.0.1;
  • OOI_REDIS_PORT:Redis服务的端口,默认为6379;
  • OOI_REDIS_DB:Redis服务的数据库,默认为0;
  • OOI_REDIS_PASSWORD:Redis服务的密码,默认为空。

如果你的Redis是按照本文的提示安装的话,那么/etc/supervisor/conf.d/ooi2.conf文件不需要额外的配置。

最后设置/srv/_kcs目录可写,否则api_start2请求不能正常缓存,会遇到游戏页面刷新后即猫的问题。

如果不需要配置多CDN,那么此时就可以重启OOI系统正常使用了。如果需要配置多CDN,在customize目录下新建一个cdn.py文件,输入类似以下文本的内容:

from collections import OrderedDict

cdn_domains = OrderedDict()
cdn_domains['360'] = {'domain': 'cdn1.example.com', 'name': '360CDN', 'http': True}
cdn_domains['baidu'] = {'domain': 'cdn2.example.com', 'name': '百度云加速', 'http': True}
cdn_domains['default'] = {'domain': 'www.example.com', 'name': '不使用CDN', 'http': False}

这段内容中cdn_domains变量包含了所有CDN域名的相关信息,例如上面的文本中定义了两个CDN,它们的标记分别为“360”和“baidu”,域名分别为“cdn1.example.com”和“cdn2.example.com”,在登录页面对应的选项分别为“360CDN”和“百度云加速”,默认不使用CDN的域名为“www.example.com”。很多CDN不支持安全连接,需要设置http参数为True。

按照需要设置好CDN后重启OOI即可,redis分支的代码不再需要OOI_KCS_DOMAIN和OOI_KCS_HTTPS_DOMAIN环境变量。