我几天来一直在努力解决这个问题,我可以使用mongo shell进行身份验证。
但是当我从浏览器访问我的应用程序时,我得到了上述错误。
Ruby on rails logs:
2016-07-05T04:29:34.415943099Z app [web.1]:MONGODB | XX.XX.XX.XX:4121 | [db] .count |开始了| {“count”=>“listing”,“query”=> {}}
2016-07-05T04:29:34.418337913Z app [web.1]:MONGODB | XX.XX.XX.XX:4121 | [db] .count |失败|未授权[db]执行命令{ count:“listing”,查询:{}}(13)| 0.0021065790000000004s
背景 通过Dokku的一键部署主持数字海洋。
Dokku版本:0.6.4 MongoDB:3.2.6 Ruby:2.2.4 Rails 4.2.6
我已将用户(使用DbOwner)添加到MongoDB,并将其添加到mongoid.yml。
以下是mongoid.yml
production:
clients:
default:
database: sample
hosts:
- ip:4121
user: "user"
password: "password"
options:
read:
mode: :primary
max_pool_size: 5
答案 0 :(得分:0)
我不知道这是否能解决您的问题,但一般的建议是,不要单击dokku部署。旋转一滴并手动安装dokku,它也不会花费太多精力。
单击部署会产生不需要的配置错误。它建议采用这种方法,如果你想做一些RnD并玩它。
答案 1 :(得分:0)
dokku一键式图像一直正常工作,没有问题
你安装了dokku的mongodb插件吗? https://github.com/jeffutter/dokku-mongodb-plugin
如果您已经安装了插件,则不上传yml文件,只需在服务器中运行link命令
mongodb:create <app>
mongodb:link <app> <database>
或者您可以在同一个命令中创建和链接
mongodb:create <app> <database>
答案 2 :(得分:0)
确定。我找到了这个解决方案,我想我会关闭这个循环并节省几个小时/天试图解决这个问题。
基本上,从数字海洋一键点击 DOES 工作!
但是你需要在你的mongoid.yml中添加以下内容,添加URI并删除数据库,用户和密码。
要生成URI,请在ssh终端控制台中执行以下操作:
//WAP in Co convert a binary or octal to a decimal number depending on user choice.
#include <stdio.h>
#include <math.h>
int conversion(int number,int base);
int main(void){
int number,base,decimal;
char choice;
printf("Enter the number:");
scanf("%d",&number);
printf("Enter 'b' for binary or 'o' for octal:");
scanf("%c",&choice); //Problem occuring here
if(choice=='b')
base=2;
base=8;
decimal=conversion(number,base);
printf("Decimal number:%d",decimal);
return 0;
}
int conversion(int number,int base){
int reminder;
int decimal=1;
int i=0;
while(number>=0){
reminder=number%base;
decimal=(decimal*reminder)*pow(base,i);
number/=10;
i++;
}
return decimal;
}
使用屏幕上显示的内容更新uri值。
dokku mongo:info <<db name>>