#Debian8下的radosgw安装与排错html
具体安装过程请参考官方文档apache
关键的几个配置文件curl
cat /etc/ceph/ceph.conf [global] .... [client.rgw.demo] host = demo keyring = /etc/ceph/ceph.client.radosgw.demo.keyring rgw socket path = /var/run/ceph/ceph-client.rgw.demo.asok log file = /var/log/radosgw/client.radosgw.demo.log rgw print continue = false
cat /etc/apache2/sites-available/rgw.conf <VirtualHost *:80> ServerName demo DocumentRoot /var/www/html ErrorLog /var/log/apache2/rgw_error.log CustomLog /var/log/apache2/rgw_access.log combined # LogLevel debug RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] SetEnv proxy-nokeepalive 1 ProxyPass / unix:///var/run/ceph/ceph-client.rgw.demo.asok|fcgi://localhost:9000/ #这里注意对应前面ceph.conf里面asok文件的路径 </VirtualHost>
注意官方文档漏掉要禁用默认site的操做,须要执行a2dissite 000-default
,测试发现报500错误,具体内容以下socket
curl http://10.0.2.15 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>500 Internal Server Error</title> </head><body> <h1>Internal Server Error</h1> <p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p> <p>Please contact the server administrator at [no address given] to inform them of the time this error occurred, and the actions you performed just before this error.</p> <p>More information about this error may be available in the server error log.</p> <hr> <address>Apache/2.4.10 (Debian) Server at 10.0.2.15 Port 80</address> </body></html>
tail -f /var/log/apache2/rgw_error.log [Thu Sep 17 13:51:49.877636 2015] [proxy:warn] [pid 13025:tid 140558455908096] [client 10.0.2.15:33708] AH01144: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule. [Thu Sep 17 13:53:20.416251 2015] [proxy:warn] [pid 13026:tid 140558358009600] [client 10.0.2.15:33713] AH01144: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule. [Thu Sep 17 13:54:40.455318 2015] [proxy:warn] [pid 13025:tid 140558316046080] [client 10.0.2.15:33714] AH01144: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule. [Thu Sep 17 14:09:23.823843 2015] [proxy:warn] [pid 13993:tid 140035573221120] [client 10.0.2.15:33716] AH01144: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule. [Thu Sep 17 14:13:52.140677 2015] [proxy:warn] [pid 14308:tid 139872356669184] [client 10.0.2.15:33718] AH01144: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
解决这个问题,须要开启几个关键模块再重启服务,官方文档坑仍是比较多的。测试
a2enmod rewrite a2enmod proxy a2enmod proxy_fcgi service apache2 restart
说明:官方文档对apache2的配置作了比较大的更新,2.4.9之前的版本直接使用fastcgi(mod_fastcgi),2.4.10之后使用的是Unix Domain Socket (UDS)转factcgi(mod proxy_fcgi)。this