1. 搭建Elang环境
1)安装GCC GCC-C++ Openssl等模块,安装过就不需要安装了
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
2)安装
yum install ncurses-devel
3)安装erlang环境
wget http://erlang.org/download/otp_src_18.2.1.tar.gz
tar xvfz otp_src_18.2.1.tar.gz
cd otp_src_18.2.1
./configure --prefix=/usr/erlang --without-javac
make
make install
4)验证安装是否成功
cd /usr/local/erlang/
./erl
5)设置环境变量
vim /etc/profile
export PATH=$PATH:/usr/erlang/bin
2.安装RabbitMQ
1)下载rabbitmq-server-3.6.9.tar.xz
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz
2)对于下载xz包进行解压,首先先下载xz压缩工具:
yum install xz
3)对rabbitmq包进行解压:
xz -d xz -d rabbitmq-server-generic-unix-3.6.9.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.9.tar
随后移动至/usr/local/下 改名rabbitmq:cp -r rabbitmq_server-3.6.9 /usr/local/rabbitmq
这种方式无需make
4)配置文件
vi /etc/profile
export PATH=$PATH:/usr/local/rabbitmq/sbin
“source /etc/profile”使修改文件生效
6)启用MQ管理方式:
cd /usr/local/rabbitmq/sbin
./rabbitmq-plugins enable rabbitmq_management #启动后台管理
rabbitmq-server -detached #后台运行rabbitmq
同时将rabbitmq-server加入到开机自启动服务中,运行以下命令:
[root@rabbitmqserver bin]# chkconfig rabbitmq-server on
7) 开放端口
端口开放要放在22的下方
vi /etc/sysconfig/iptables
添加:(15672:网页版访问使用, 5672:程序)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 15672 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5672 -j ACCEPT
8)创建 配置文件
mkdir /etc/rabbitmq
cp /usr/local/rabbitmq/rabbitmq.config.example rabbitmq.config
如果没有该文件可以去下面地址拷贝
[https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example ]
官方文档 [https://www.rabbitmq.com/configure.html ]
9)添加用户,设置用户权限
eg:
在sbin目录下
添加用户 ./rabbitmqctl add_user dujj dujj
添加权限 ./rabbitmqctl set_permissions -p “/” dujj “." ".” “.*”
修改用户角色 ./rabbitmqctl set_user_tags dujj administrator
访问地址:http://47.102.124.21:15672/#/queues
注意:
rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。
默认情况下,RabbitMQ的默认的guest用户只允许本机访问, 如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可,如下:{loopback_users, []}
另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许xzb用户本机访问。{loopback_users, [“xzb”]}
更新配置后,重启服务
相应的命令
(1) 新增一个用户
rabbitmqctl add_user Username Password
(2) 删除一个用户
rabbitmqctl delete_user Username
(3) 修改用户的密码
rabbitmqctl change_password Username Newpassword
(4) 查看当前用户列表
rabbitmqctl list_users
用户角色
按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
(1) 超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
与administrator的对比,administrator能看到这些内容
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
(5) 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
了解了这些后,就可以根据需要给不同的用户设置不同的角色,以便按需管理。
设置用户角色的命令为:
rabbitmqctl set_user_tags User Tag
User为用户名, Tag为角色名(对应于上面的administrator,monitoring,policymaker,management,或其他自定义名称)。
也可以给同一用户设置多个角色,例如
rabbitmqctl set_user_tags hncscwc monitoring policymaker
用户权限
用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。配置权限会影响到exchange,queue的声明和删除。读写权限影响到从queue里取消息,向exchange发送消息以及queue和exchange的绑定(bind)操作。
例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限。详细请参考官方文档中"How permissions work"部分。
相关命令为:
(1) 设置用户权限
rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP
(2) 查看(指定hostpath)所有用户的权限信息
rabbitmqctl list_permissions [-p VHostPath]
(3) 查看指定用户的权限信息
rabbitmqctl list_user_permissions User
(4) 清除用户的权限信息
rabbitmqctl clear_permissions [-p VHostPath] User
Ps:找不到/etc/sysconfig/iptables文件
拟机新装了一个CentOs7,然后做防火墙配置的时候找不到iptables文件,解决方法如下:
因为默认使用的是firewall作为防火墙,把他停掉装个iptable
systemctl stop firewalld
systemctl mask firewalld
yum install -y iptables
yum install iptables-services
然后就有iptables文件,就可以作配置
开启服务
systemctl start iptables.service
systemctl restart iptables.service // 重启防火墙使配置生效
systemctl enable iptables.service // 设置防火墙开机启动
其他命令:
检查是否安装了iptables
service iptables status
安装iptables
yum install -y iptables
升级iptables
yum update iptables
安装iptables-services
yum install iptables-services
systemctl disable iptables #禁止iptables服务
systemctl stop iptables #暂停服务
systemctl enable iptables #解除禁止iptables
systemctl start iptables #开启服务
http://www.cnblogs.com/zs-notes/p/8535275.html
Linux安装jdk1.8和配置环境变量
linux 下安装jdk和windows下的安装是一样的,之前在windows安装的时候是先下载压缩包,然后再配置环境变量。其实在linux下也是一样的。
第一步:创建jdk安装目录
Ps :(该/usr/local/src 目录是空的,最好把我们自己下载的放到这,容易区分)
命令:mkdir -p /usr/local/src/jdk
命令:rpm -qa | grep -i jdk
Ps : 若之前安装过jdk,下次安装一定把之前的删除干净
第三步:命令下载jdk包 (需要联网,下载也需要点时间)
本章使用的为后缀为tar.gz的文件(不需要安装),如jdk-8u131-linux-x64.tar.gz
命令:wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
注意:如果上面wget命令不能用,报错:-bash: wget: command not found。执行一下该命令(安装依赖包) yum -y install wget
注意 : 记住需要加上:--no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" 这段是为了避开用户验证用的
tar -zxvf jdk-8u131-linux-x64.tar.gz
系统会生成一个名为:jdk1.8.0_131 的文件夹。可以使用mv命令自定义文件名。
mv jdk1.8.0_131 jdk1.8
vi /etc/profile
可以看到这个文件的内容,profile文件有点类似于windows系统里面的环境变量的配置,
shift + g 定位到最后一行
这个时候按一下a或i键,进入编辑模式
中间用红色的线圈起来的就是需要加的( JAVA_HOME 是jdk安装目录,和在Windows下配置一样 )
export JAVA_HOME=/usr/local/src/jdk/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
按Esc键 输入:wq 保存并退出
source /etc/profile
java -version
若出现jdk版本号,则安装并配置环境变量成功
如果提示命令找不到的话,查看一下jdk的配置路径是否错误。
1.获取redis资源
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
2.解压
tar xzvf redis-4.0.8.tar.gz
3.安装
cd redis-4.0.8
make
cd src
make install PREFIX=/usr/local/redis
4.移动配置文件到安装目录下
cd ../
mkdir /usr/local/redis/etc
mv redis.conf /usr/local/redis/etc
5.配置redis为后台启动
vi /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes
6.将redis加入到开机启动
vi /etc/rc.local //在里面添加内容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)
7.开启redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
8.启动redis客户端
设置环境变量:
vim /etc/profile
export PATH=$PATH:/usr/local/redis/bin
“source /etc/profile”使修改文件生效
启动客户端:
redis-cli
set foo bar
get foo
常用命令
redis-server /usr/local/redis/etc/redis.conf //启动redis
pkill redis //停止redis
卸载redis:
rm -rf /usr/local/redis //删除安装目录
rm -rf /usr/bin/redis-* //删除所有redis相关命令脚本
rm -rf /root/download/redis-4.0.4 //删除redis解压文件夹
注意:这个版本一定要和项目中的版本一致
tar -zxvf zookeeper-3.3.6
默认进去zoo_sample.cfg是这个,需要复制一份重命名为zoo.cfg,因为 Zookeeper 在启动时会找这个文件作为默认配置文件。
命令:cp zoo_sample.cfg zoo.cfg
启动是start,重启是restart,status是看状态、启动客户端是sh zkCli.sh -server 127.0.0.1:2181
org.apache.zookeeper
zookeeper
3.4.6
log4j
log4j
org.slf4j
slf4j-api
org.slf4j
slf4j-log4j12
docker search mysql
docker pull mysql:5.7
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
-d 标识是让 docker 容器在后台运行。
-p 标识通知 Docker 将容器内部使用的网络端口映射到我们使用的主机上。
–name 定义一个容器的名字,如果在执行docker run时没有指定Name,那么deamon会自动生成一个随机数字符串当做UUID。
-e 设置环境变量,或者覆盖已存在的环境变量
3306:3306 将容器的3306端口映射到本机的3306端口
docker ps
docker exec -it 775c7c9ee1e1 /bin/bash
mysql -u root -p
输入密码:geex
firewall-cmd --zone=public --list-port
firewall-cmd --zone=public --add-port=80/tcp --permanent
9、重启防火墙
firewall-cmd --reload
#centos7启动防火墙
systemctl start firewalld.service
#centos7停止防火墙/关闭防火墙
systemctl stop firewalld.service
#centos7重启防火墙
systemctl restart firewalld.service
#设置开机启用防火墙
systemctl enable firewalld.service
#设置开机不启动防火墙
systemctl disable firewalld.service
firewall-cmd --zone=public --add-port=80/tcp --permanent
#说明:
#–zone #作用域
#–add-port=80/tcp #添加端口,格式为:端口/通讯协议
#–permanent 永久生效,没有此参数重启后失效
#多个端口:
firewall-cmd --zone=public --add-port=80-90/tcp –permanent
防火墙重新加载:firewall-cmd --reload
#centos7以下使用netstat -ant,7使用ss
ss -ant
#centos7查看防火墙所有信息
firewall-cmd --list-all
#centos7查看防火墙开放的端口信息
firewall-cmd --list-ports
#删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
cat /etc/centos-release
yum-utils
, which provides the yum-config-manager
utility:yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-edge
yum
package index. yum makecache fast
yum install docker-ce
启动 systemctl start docker.service
守护进程重启 sudo systemctl daemon-reload
重启服务 systemctl restart docker
service docker restart
关闭 service docker stop
docker -v
docker version
启动:
sudo service docker start
1. 创建一个容器: # docker run ...
查看帮助: # docker run --help
2. 启动一个容器: # docker start "容器名称或ID"
3. 关闭容器: # docker stop "容器名称或ID"
4. 查看正在运行的容器: # docker ps
5. 查看所有已创建的容器: # docker ps -a
-l: 查看容器的更详细信息.
6. 删除容器: # docker rm "容器名称或ID"
docker rm -f nexus 删除Restarting状态容器
7. 到容器上执行一个命令后退出立即删除该容器:docker run --rm "镜像名称或ID" "要执行的命令"
8. 杀死正在运行的容器: # docker kill "容器名称或ID"
9. 进入容器的三种方法:
# docker attach
# docker exec
docker exec -it 775c7c9ee1e1 /bin/bash
# nsenter
通过pid进入: sudo nsenter --target 25727 --mount --uts --ipc --net --pid
10.查看容器信息
docker inspect 44fc0f0582d9
docker inspect -f {{.State.Pid}} 44fc0f0582d9
11、创建容器:
创建一个容器并指定随机端口:
docker run -d -P daocloud.io/nginx
创建一个容器并指定端口:
docker run -d -p 81:80 daocloud.io/nginx
dockers目录:
/var/lib/docker
ctrl+P+Q退出容器
docker run -d -p 81:80 daocloud.io/nginx
下载windows 版:nexus-3.15.2-01-win64.zip
执行:nexus.exe /run
启动成功后,默认用户名admin 密码:admin123
maven-releases
Releases
http://localhost:8088/repository/maven-releases/
true
maven-snapshots
Snapshot
http://localhost:8088/repository/maven-snapshots/
true
注意:
distributionManagement中id要和setting文件中server中id配置一直
dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)
dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。
profiles中profiles dependencies:自己理解:应是基于不同开发环境,获取不同版本的jar的配置