前言
在阿里的官方不小心看到首单购买云库RDS基础版只需要10块钱就能用6个月,加上最近在ECS上搭了seafile和图床,内存的占用量更是吃紧了,刚好把数据库停掉,省了一半内存,话说好像我对数据库的依赖并不高,为啥要把内存占用调那么高呢,十块钱四舍五入等于白嫖。
今年好像已经迁了三,四次站了,LNMP都编译了好多了,真的是手贱,哈哈哈哈哈哈哈哈哈哈哈。。。
下面默认为OSS、云库均和ECS服务器在同一地区,使用同一vpc内网,且seafile的安装目录为/seafile,官方用的是ubuntu,我这里用的是centos7
免费的Seafile专业版
前段时间在捣鼓Seafile的时候,翻服务器手册,稀里糊涂的就进了英文官网,无意中看到了这个免费的专业版,似乎 […]
阿里OSS后端存储
注意这里需要专业版的,博主用的是免费的3用户专业版。按照官方文档的介绍,如果想要开启后端存储最好是开启memcahe做缓存,官方文档其实也写的挺详尽了,下面简单的做一下步骤介绍。官方文档
使用Memcache做缓存
yum -y install memcached sed -i 's/CACHESIZE=".*"/CACHESIZE="128"/g' /etc/sysconfig/memcached systemctl start memcached && systemctl enable memcached #在文件最后添加以下内容。不需要替换,直接复制粘贴 vim /seafile/conf/seahub_settings.py CACHES = { 'default': { 'BACKEND': 'django_pylibmc.memcached.PyLibMCCache', 'LOCATION': '127.0.0.1:11211', }, 'locmem': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', }, } COMPRESS_CACHE_BACKEND = 'locmem'
配置阿里云oss后端存储
需要准备的东西:
1.阿里能够操作对象存储oss的key,阿里控制台申请(头像–>AccessKey管理),当然你可以新建一个用户,分配只能操作oss的权限,这样更安全。
2.在oss的管理后台创建三个存储空间(commit,fs,block),权限可以为私有,为了好分辨空间,最好创建空间的时候加上关键词【当然你可以只创建一个空间,但是据说会有性能损失】
3.在对应的存储空间获得EndPoint(地域节点)
1.阿里能够操作对象存储oss的key,阿里控制台申请(头像–>AccessKey管理),当然你可以新建一个用户,分配只能操作oss的权限,这样更安全。
2.在oss的管理后台创建三个存储空间(commit,fs,block),权限可以为私有,为了好分辨空间,最好创建空间的时候加上关键词【当然你可以只创建一个空间,但是据说会有性能损失】
3.在对应的存储空间获得EndPoint(地域节点)
博主用的最新seafile版本seafile-pro-server-7.0.11,用的还是python2,现在社区版7.1已经支持python3了,等7.1专业版的出来了,再做升级好了。
pip install oss2==2.3.0 # 安装oss python工具
#在文件最后添加以下内容,注意替换 vim /seafile/conf/seafile.cof [commit_object_backend] name = oss bucket = <commit存储空间名称> key_id = <阿里申请到的keyid> key = <阿里申请到的key> endpoint = EndPoint(地域节点) memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 [fs_object_backend] name = oss bucket = <fs存储空间名称> key_id = <阿里申请到的keyid> key = <阿里申请到的key> endpoint = EndPoint(地域节点) memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100 [block_backend] name = oss bucket = <block存储空间名称> key_id = <阿里申请到的keyid> key = <阿里申请到的key> endpoint = EndPoint(地域节点) memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100
#重启服务 /seafile/seafile-server-latest/seafile.sh restart /seafile/seafile-server-latest/seahub.sh restart
如果配置有问题,登陆web端会显示社区版的内容而不是专业版,并且在/seafile/logs/seahub.log中的日志会报错,所以有这两个现象可以检查一下oss的信息是否配置正确
修改数据库信息
做这一步之前请先确定你的数据库是否已经导出到新的库,否则数据库没有数据,会报错。报错不要紧张,把配置文件回滚到原来的样子就可以正常运作了
#修改在/seafile/conf/下的三个文件数据库信息,数据库信息一般都在文件头部 ccnet.conf seafile.conf seahub_settings.py
我没找到官方文档说明怎么修改数据库信息,但是在官方一键部署脚本里面找到一句相关命令,执行后seafile就正常运作了。
#注意替换掉自己路径和数据库信息,执行完之后/seafile/conf/seafevents.conf中的配置会被恢复初始pro版本状态 python /seafile/seafile-pro-server-7.0.11/pro/pro.py setup --mysql --mysql_host=remote_mysql_host --mysql_port=3306 --mysql_user=remote_seafile_user --mysql_password=seafile_user_passwd --mysql_db=seahub_db
#重启服务 /seafile/seafile-server-latest/seafile.sh restart /seafile/seafile-server-latest/seahub.sh restart