nginx+radosgw配置方法

ceph官方文檔是以Apache為例的,由于筆者的公司廣泛使用nginx,并且nginx與radosgw是布在不同的機器上的,在這里記錄一下配置細節(jié)。

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轉(zhuǎn)發(fā)本地radosgw,所以使用了unix domain socket,想配本地模式的可以參考ceph官方文檔:

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

2.為新的gateway創(chuàng)建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,方能有權(quán)限操作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. 創(chuàng)建gateway的nginx配置文件

創(chuàng)建nginx/conf/vhosts/rgw.conf文件,內(nèi)容如下:

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;
        }
}

如果想采用只轉(zhuǎn)發(fā)給本地radosgw,可以配成unix domain socket。

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

5.啟動radosgw

service ceph-radosgw start

6.啟動nginx

service nginx start
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容