美文网首页
nginx+radosgw配置方法

nginx+radosgw配置方法

作者: bloody | 来源:发表于2016-01-30 22:18 被阅读0次

ceph官方文档是以Apache为例的,由于笔者的公司广泛使用nginx,并且nginx与radosgw是布在不同的机器上的,在这里记录一下配置细节。

1.更新ceph配置文件

从集群中获取最新的/etc/ceph/ceph.conf文件

修改ceph.conf,将新的gateway添加进去

[client.radosgw.sjs_58_93]

host = sjs_58_93

user = root

keyring = /etc/ceph/ceph.client.radosgw.keyring

rgw host = 0.0.0.0

rgw port = 8001

log file = /var/log/radosgw/radosgw.log

rgw print continue = false

debug rgw = 1

注意,这里没有配置rgw socket path,否则radosgw将开启unix domain socket而不是tcp socket。

并且,需要修改/etc/init.d/ceph-radosgw,将对rgw_socket的检查注释掉,否则radosgw不会启动:


# is the socket defined?  if it's not, this instance shouldn't run as a daemon.

#rgw_socket=`$RADOSGW -n $name --show-config-value rgw_socket_path`

#if [ -z "$rgw_socket" ]; then

#    continue

#fi

官方文档里使用的是apache转发本地radosgw,所以使用了unix domain socket,想配本地模式的可以参考ceph官方文档:

http://docs.ceph.com/docs/master/radosgw/config/

2.为新的gateway创建keyring文件和key


ceph-authtool --create-keyring /etc/ceph/ceph.client.radosgw.keyring

ceph-authtool -n client.radosgw.sjs_58_93 --gen-key /etc/ceph/ceph.client.radosgw.keyring

ceph-authtool -n client.radosgw.sjs_58_93 --cap osd 'allow rwx' --cap mon 'allow rw' /etc/ceph/ceph.client.radosgw.keyring

3.将新gateway的key添加到ceph keyring中

在添加时需要拥有ceph集群的admin key,方能有权限操作ceph集群。该key是部署ceph集群时得到的,将该keyring文件拷贝到本地即可。

添加key:

ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.radosgw.sjs_58_93 -i /etc/ceph/ceph.client.radosgw.keyring

4. 创建gateway的nginx配置文件

创建nginx/conf/vhosts/rgw.conf文件,内容如下:

upstream bk_radosgw
{
        server host01:8001;
        server host02:8001;
        server host03:8001;
        server host04:8001;
}

server
{
        listen *:80;

        location /
        {
                include fastcgi_params;
                fastcgi_pass_header Authorization;
                fastcgi_pass_request_headers on;
                fastcgi_pass bk_radosgw;
        }
}

如果想采用只转发给本地radosgw,可以配成unix domain socket。

注意不要打开fastcgi_keep_conn,radosgw似乎不支持。

5.启动radosgw

service ceph-radosgw start

6.启动nginx

service nginx start

相关文章

网友评论

      本文标题:nginx+radosgw配置方法

      本文链接:https://www.haomeiwen.com/subject/xyxskttx.html