All posts by 龙生
RabbitMQ用户增删及权限控制
用户角色分类 none:无法登录控制台 不能访问 management plugin,通常就是普通的生产者和消费者。 management:普通管理者。 仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对policies进行管理。用户可以通过AMQP做的任何事外加: 列出自己可以通过AMQP登入的virtual hosts 查看自己的virtual hosts中的queues, exchanges 和 bindings 查看和关闭自己的channels 和 connections 查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。 policymaker:策略制定者。 management可以做的任何事外加: 查看、创建和删除自己的virtual hosts所属的policies和parameters monitoring:监控者。 management可以做的任何事外加: 列出所有virtual hosts,包括他们不能登录的virtual hosts 查看其他用户的connections和channels 查看节点级别的数据如clustering和memory使用情况 查看真正的关于所有virtual hosts的全局的统计信息 同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等) administrator:超级管理员。 policymaker和monitoring可以做的任何事外加: 创建和删除virtual hosts 查看、创建和删除users 查看创建和删除permissions 关闭其他用户的connections 创建用户
|
1 2 3 4 |
rabbitmqctl add_user {用户名} {密码} // 设置权限 rabbitmqctl set_user_tags {用户名} {权限} |
例:创建一个超级用户
|
1 2 |
rabbitmqctl add_user admin1 admin1 rabbitmqctl set_user_tags admin1 administrator |
查看用户列表
|
1 |
rabbitmqctl list_users |
为用户赋权
|
1 2 3 4 5 6 7 8 9 10 |
// 使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源 rabbitmqctl set_permissions -p vhost1 user1 '.*' '.*' '.*' // 查看权限 rabbitmqctl list_user_permissions user1 rabbitmqctl list_permissions -p vhost1 // 清除权限 rabbitmqctl clear_permissions [-p VHostPath] User |
删除用户
|
1 |
rabbitmqctl delete_user Username |
修改用户的密码
|
1 |
rabbitmqctl change_password Username Newpassword |
from: https://www.cnblogs.com/xinxiucan/p/7940953.html
View DetailsRabbitMQ从入门到精通—安装
安装脚本
|
1 2 3 4 5 6 7 8 9 10 |
yum install wget -y #Download RabbitMQ and Erlang wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-3.6.9-1.el6.noarch.rpm wget https://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el6.x86_64.rpm #Install Erlang and RabbitMQ rpm -ivh erlang-19.0.4-1.el6.x86_64.rpm rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc yum install rabbitmq-server-3.6.9-1.el6.noarch.rpm -y |
发现错误
|
1 2 |
1. 安装依赖Requires: socat 2. 安装socat的时候提示需要tcp_wrappers |
解决方案
|
1 2 3 4 |
wget –no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo yum install socat -y 使用https://rpmfind.net/linux/rpm2html/search.php搜索tcp_wrappers,下载,rpm -ivh tcp_wrappers.version |
启动RabbitMQ
|
1 2 3 4 5 6 |
chkconfig rabbitmq-server on /sbin/service rabbitmq-server start # 修改密码 rabbitmqctl change_password guest welcome123 # 启动管理界面 rabbitmq-plugins enable rabbitmq_management |
使用过程错误小记 user ‘guest’ – User can only log in via localhost 登录响应如下:
|
1 |
{"error":"not_authorised","reason":"User can only log in via localhost"} |
我实在docker中创建rabbitmq的,然后将端口15672映射到宿主机器上的15672,所以也算是远程登录,而guest用户要求只能使用localhost登录,所以要想远程登录必须新建用户。
|
1 2 3 |
rabbitmqctl add_user {username} {password} # 例:创建admin用户 rabbitmqctl add_user admin 123456 |
新建用户无法登录
|
1 |
{"error":"not_authorised","reason":"Not management user"} |
需要授予用户角色
|
1 2 3 |
rabbitmqctl set_user_tags {username} {role} # 例 rabbitmqctl set_user_tags admin administrator |
用户授权
|
1 2 |
rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write} {read} rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" |
关于RabbitMQ权限和角色管理 参考:http://blog.csdn.net/zyz511919766/article/details/42292655 from:https://www.dev-heaven.com/posts/1914.html
View DetailsRedis服务停止报错解决方案[NOAUTH Authentication required]
Redis服务器设置密码后,使用service redis stop 会出现以下信息: service redis stop Stopping … OK (error) NOAUTH Authentication required. Waiting for Redis to shutdown … Waiting for Redis to shutdown … Waiting for Redis to shutdown … Waiting for Redis to shutdown … Waiting for Redis to shutdown … Waiting for Redis to shutdown … Waiting for Redis to shutdown … Waiting for Redis to shutdown … 出现这样的错误信息,redis 这时是没有停止服务的。可以使用ps -ef | grep redis 查进程号 然后kill 掉,如果在deamon下还需要去删除pid文件,有点繁琐。 解决办法: 用redis-cli 密码登陆(redis-cli -a password)就OK了。 再用ps -ef | grep redis 可以看到redis进程已经正常退出。 修改redis服务脚本,加入如下所示的红色授权信息即可: vi /etc/init.d/redis $CLIEXEC -a "password" -p $REDISPORT shutdown from:https://www.cnblogs.com/jeffen/p/6068745.html
View DetailsCENTOS7下安装REDIS
一、安装redis 第一步:下载redis安装包 wget http://download.redis.io/releases/redis-4.0.6.tar.gz
|
1 2 3 4 5 6 7 8 9 10 11 |
[root@iZwz991stxdwj560bfmadtZ local]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz --2017-12-13 12:35:12-- http://download.redis.io/releases/redis-4.0.6.tar.gz Resolving download.redis.io (download.redis.io)... 109.74.203.151 Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1723533 (1.6M) [application/x-gzip] Saving to: ‘redis-4.0.6.tar.gz’ 100%[==========================================================================================================>] 1,723,533 608KB/s in 2.8s 2017-12-13 12:35:15 (608 KB/s) - ‘redis-4.0.6.tar.gz’ saved [1723533/1723533] |
第二步:解压压缩包 tar -zxvf redis-4.0.6.tar.gz
|
1 |
[root@iZwz991stxdwj560bfmadtZ local]# tar -zxvf redis-4.0.6.tar.gz |
第三步:yum安装gcc依赖 yum install gcc
|
1 |
[root@iZwz991stxdwj560bfmadtZ local]# yum install gcc |
遇到选择,输入y即可 第四步:跳转到redis解压目录下 cd redis-4.0.6
|
1 |
[root@iZwz991stxdwj560bfmadtZ local]# cd redis-4.0.6 |
第五步:编译安装 make MALLOC=libc
|
1 |
[root@iZwz991stxdwj560bfmadtZ redis-4.0.6]# make MALLOC=libc |
将/usr/local/redis-4.0.6/src目录下的文件加到/usr/local/bin目录 cd src && make install
|
1 2 3 4 5 6 7 8 9 10 |
[root@iZwz991stxdwj560bfmadtZ redis-4.0.6]# cd src && make install CC Makefile.dep Hint: It's a good idea to run 'make test' ;) INSTALL install INSTALL install INSTALL install INSTALL install INSTALL install |
二、启动redis的三种方式 先切换到redis src目录下
|
1 |
[root@iZwz991stxdwj560bfmadtZ redis-4.0.6]# cd src |
1、直接启动redis ./redis-server
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
[root@iZwz991stxdwj560bfmadtZ src]# ./redis-server 18685:C 13 Dec 12:56:12.507 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 18685:C 13 Dec 12:56:12.507 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18685, just started 18685:C 13 Dec 12:56:12.507 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 4.0.6 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 18685 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 18685:M 13 Dec 12:56:12.508 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 18685:M 13 Dec 12:56:12.508 # Server initialized 18685:M 13 Dec 12:56:12.508 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 18685:M 13 Dec 12:56:12.508 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 18685:M 13 Dec 12:56:12.508 * Ready to accept connections |
如上图:redis启动成功,但是这种启动方式需要一直打开窗口,不能进行其他操作,不太方便。 按 ctrl + c可以关闭窗口。 2、以后台进程方式启动redis 第一步:修改redis.conf文件 将
|
1 |
daemonize no |
修改为
|
1 |
daemonize yes |
第二步:指定redis.conf文件启动 1 ./redis-server /usr/local/redis-4.0.6/redis.conf
|
1 2 3 4 |
[root@iZwz991stxdwj560bfmadtZ src]# ./redis-server /usr/local/redis-4.0.6/redis.conf 18713:C 13 Dec 13:07:41.109 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 18713:C 13 Dec 13:07:41.109 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18713, just started 18713:C 13 Dec 13:07:41.109 # Configuration loaded |
第三步:关闭redis进程 首先使用ps -aux | grep redis查看redis进程
|
1 2 3 |
[root@iZwz991stxdwj560bfmadtZ src]# ps -aux | grep redis root 18714 0.0 0.1 141752 2008 ? Ssl 13:07 0:00 ./redis-server 127.0.0.1:6379 root 18719 0.0 0.0 112644 968 pts/0 R+ 13:09 0:00 grep --color=auto redis |
使用kill命令杀死进程
|
1 |
[root@iZwz991stxdwj560bfmadtZ src]# kill -9 18714 |
3、设置redis开机自启动 1、在/etc目录下新建redis目录 mkdir redis
|
1 |
[root@iZwz991stxdwj560bfmadtZ etc]# mkdir redis |
2、将/usr/local/redis-4.0.6/redis.conf 文件复制一份到/etc/redis目录下,并命名为6379.conf
|
1 |
[root@iZwz991stxdwj560bfmadtZ redis]# cp /usr/local/redis-4.0.6/redis.conf /etc/redis/6379.conf |
[…]
View DetailsLinux 软件安装到哪里合适,目录详解
Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。 /usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。 /opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。 源码放哪里? /usr/src:系统级的源码目录。 /usr/local/src:用户级的源码目录。 —————--翻译——————- /opt Here’s where optional stuff is put. Trying out the latest Firefox beta? Install it to /opt where you can delete it without affecting other settings. Programs in here usually live inside a single folder whick contains all of their data, libraries, etc. 这里主要存放那些可选的程序。你想尝试最新的firefox测试版吗?那就装到/opt目录下吧,这样,当你尝试完,想删掉firefox的时候,你就可 以直接删除它,而不影响系统其他任何设置。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。 举个例子:刚才装的测试版firefox,就可以装到/opt/firefox_beta目录下,/opt/firefox_beta目录下面就包含了运 行firefox所需要的所有文件、库、数据等等。要删除firefox的时候,你只需删除/opt/firefox_beta目录即可,非常简单。 /usr/local This is where most manually installed(ie. outside of your package manager) software goes. It has the same structure as /usr. It is a good idea to leave /usr to your package manager […]
View Details解决Centos6.5中ssh登录时Warning:Permanently added (RSA) to the list of known hosts的警告
当主机使用ssh免密码登录时,弹出Warning:Permanently added (RSA) to the list of known hosts的警告,看着很碍眼。通过以下方法进行解决: 1:vim /etc/ssh/ssh_config(master和slave1都需要设置) 找到#StrictHostKeyChecking ask去掉注释,并把ask改为no即可
View Detailsgit-修改远程的URL
git remote set-url命令修改remote URL git remote set-url传递两个参数 remote name。例如,origin或者upstream new remote url。例如,git@github.com:USERNAME/OTHERREPOSITORY.git 例如:从SSH切换到HTTPS的远程URL 打开终端 切换到你项目的工作目录 列出remotes,是为了得到你想要改变的remote的名字
|
1 2 3 |
xxxxxx@xxxxxx:~/workspace/goal$ git remote -v origin git@github.com:xxxxxx/SpringBoot.git (fetch) origin git@github.com:xxxxxx/SpringBoot.git (push) |
使用git remote set-url命令从SSH到HTTPS的远程URL
|
1 |
xxxxxx@xxxxxx:~/workspace/goal$ git remote set-url origin https://github.com/xxxxxx/SpringBoot.git |
验证是否改变成功
|
1 2 3 |
xxxxxx@xxxxxx:~/workspace/goal$ git remote -v origin https://github.com:xxxxxx/SpringBoot.git (fetch) origin https://github.com:xxxxxx/SpringBoot.git (push) |
from:https://www.cnblogs.com/yandufeng/p/6423821.html
View DetailsMaxScale:实现MySQL读写分离与负载均衡
1MaxScale 是干什么的? 配置好了MySQL的主从复制结构后,我们希望实现读写分离,把读操作分散到从服务器中,并且对多个从服务器能实现负载均衡。 读写分离和负载均衡是MySQL集群的基础需求,MaxScale就可以帮着我们方便的实现这些功能。 2MaxScale 的基础构成 MaxScale 是MySQL的兄弟公司MariaDB 开发的,现在已经发展得非常成熟。MaxScale 是插件式结构,允许用户开发适合自己的插件。 MaxScale 目前提供的插件功能分为5类: 认证插件 提供了登录认证功能,MaxScale 会读取并缓存数据库中 user 表中的信息,当有连接进来时,先从缓存信息中进行验证,如果没有此用户,会从后端数据库中更新信息,再次进行验证 协议插件 包括客户端连接协议,和连接数据库的协议 路由插件 决定如何把客户端的请求转发给后端数据库服务器,读写分离和负载均衡的功能就是由这个模块实现的 监控插件 对各个数据库服务器进行监控,例如发现某个数据库服务器响应很慢,那么就不向其转发请求了 日志和过滤插件 提供简单的数据库防火墙功能,可以对SQL进行过滤和容错 3MaxScale 的安装使用 例如有 3 台数据库服务器,是一主二从的结构。 过程概述 (1)配置好集群环境 (2)下载安装 MaxScale (3)配置 MaxScale,添加各数据库信息 (4)启动 MaxScale,查看是否正确连接数据库 (5)客户端连接 MaxScale,进行测试 详细过程 (1)配置一主二从的集群环境 准备3台服务器,安装MySQL,配置一主二从的复制结构。 (2)安装 MaxScale 最好在另一台服务器上安装,如果资源不足,可以和某个MySQL放在一起。 MaxScale 的下载地址: https://downloads.mariadb.com/files/MaxScale 根据自己的服务器选择合适的安装包。 以 centos 7 为例 安装步骤如下: yum install libaio.x86_64 libaio-devel.x86_64 novacom-server.x86_64 libedit -y rpm -ivh maxscale-1.4.3-1.centos.7.x86_64.rpm 如果依赖无法安装,请使用yum安装 gnutls即可 (3)配置 MaxScale 在开始配置之前,需要在 master 中为 MaxScale 创建两个用户,用于监控模块和路由模块。 创建监控用户 mysql> create user scalemon@’%' identified by "111111"; mysql> grant replication slave, replication client on *.* to […]
View Details如何修改maven的默认jdk版本
问题: 1、创建maven项目的时候,jdk版本是1.5版本,而自己安装的是1.7或者1.8版本。 2、每次右键项目名-maven->update project 时候,项目jdk版本变了,变回1.5版本或者其他版本 解决办法: 解决办法一:在项目中的pom.xml指定jdk版本,如下:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> |
这个方法只能保证该项目是jdk1.8版本,每次新建项目都得加上面代码,不推荐使用,推荐第二种方法。 解决方法二:在maven的安装目录找到settings.xml文件,在里面添加如下代码
|
1 2 3 4 5 6 7 8 9 10 11 12 |
<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> |
添加完后,在对eclipse进行设置。window->preferences->maven->user settings,user settings那里选择maven安装目录下的settings.xml文件。如下图 设置完成后,右键项目->maven->update project,这样每次新建maven项目都默认为jdk1.8版本了 解决方法三: 在解决方法二中,user settings的默认settigs.xml文件路径为:c:\users\Hxinguan\.m2\settings.xml,如下图。只要把设置好的settings.xml文件复制到该目录下,然后update project就好了。 from:https://www.cnblogs.com/Hxinguan/p/6132446.html
View Details解决“Maven项目中的Dynamic Web Module 3.0 requires Java 1.6 or newer”问题
错误描述 当创建有动态web模块3.0支持的项目时,需要用到Java版本不低于1.6。 在Markers标签页中显示的错误为:Dynamic Web Module 3.0 requires Java 1.6 or newer. 如图所示: 解决方法 注:有的时候1、2、3已经实现,直接跳过,操作4就OK了。 1、首先在Eclipse中安装JRE,Preferences > Java > Installed JREs,点击 Add,并添加自己的Java路径。 2、确认编译器版本不低于1.6,右键项目 > Properties > Java Compiler,保证“Compiler compliance level”不低于1.6。 3、保证项目的Facet中Java版本不低于1.6,右键项目 > Properties > MyEclipse > Project Facets > Java,保证“Java”不低于1.6。 4、在项目的pom.xml的标签中加入:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </build> |
5、最后一步,右键项目 > Maven > Update Project。 from:https://blog.csdn.net/liuxinghao/article/details/37088063
View Details