GVKun编程网logo

CentOS 7 安装 RabbitMQ 就是这么简单(centos7安装rac)

1

以上就是给各位分享CentOS7安装RabbitMQ就是这么简单,其中也会对centos7安装rac进行解释,同时本文还将给你拓展CentOS6RabbitMQ服务器搭建PHP客户端C扩展AMQP安装

以上就是给各位分享CentOS 7 安装 RabbitMQ 就是这么简单,其中也会对centos7安装rac进行解释,同时本文还将给你拓展CentOS 6 RabbitMQ 服务器搭建 PHP 客户端 C 扩展 AMQP 安装 rabbitmq-c 安装 PHP 多版本编译安装 C 扩展、CentOS 7设置开机启动服务,添加自定义系统服务 centos 7 关闭防火墙 centos 7.2 centos 7 64位下载、CentOS-Docker 安装 RabbitMQ 集群 (rabbitmq:3.7.16-management)、H5网页适配 iPhoneX,就是这么简单(转)等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

CentOS 7 安装 RabbitMQ 就是这么简单(centos7安装rac)

CentOS 7 安装 RabbitMQ 就是这么简单(centos7安装rac)

@TOC

环境准备

基础系统:CentOS 7.6 Erlang 和 RabbitMQ 需要版本对应,参考 这里,本次使用如下版本 Erlang:otp_src_22.0.tar.gz (RabbitMQ 是基于 Erlang 语言开发的,所以必须先安装 Erlang) RabbitMQ:rabbitmq-server-generic-unix-3.7.15.tar.xz

1.下载并上传对应版本的软件包

1.1.Erlang 下载

erlang官网:https://www.erlang.org/downloads

otp_src_22.0.tar.gz( 1 慢就用 2 ) 下载 1 下载 2

1.2.RabbitMQ 下载

下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.15

rabbitmq-server-generic-unix-3.7.15.tar.xz 下载

1.3. 上传

通过 WinScp 把两个文件拖到服务器的目录 /usr/local/

2.安装依赖

yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel

3.Erlang 安装

[root@localhost /]# cd /usr/local/

#解压
[root@localhost local]#  tar -zxvf otp_src_22.0.tar.gz

#创建安装目录
[root@localhost local]#  mkdir erlang

#切换目录
[root@localhost local]# cd otp_src_22.0

#配置安装路径
[root@localhost otp_src_22.0]# ./configure --prefix=/usr/local/erlang

如果遇到如下界面,百度说不用管,那咱们就继续下一步

#安装
[root@localhost otp_src_22.0]# make install

#查看是否安装完成
[root@localhost otp_src_22.0]# cd /usr/local/erlang/
[root@localhost erlang]# ls -l
总用量 0
drwxr-xr-x. 2 root root 128 1月  21 15:40 bin
drwxr-xr-x. 3 root root  20 1月  21 15:39 lib

#配置 Erlang 环境变量
[root@localhost erlang]# echo ''export PATH=$PATH:/usr/local/erlang/bin'' >> /etc/profile

#刷新环境变量
[root@localhost erlang]# source /etc/profile

#验证是否成功
[root@localhost erlang]# cd /
[root@localhost /]# erl
Erlang/OTP 22 [erts-10.4] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]

Eshell V10.4  (abort with ^G)
1> 

#输入 halt(). 命令退出(没看错,有点)
1> 
1> halt().
[root@localhost /]# 

4.RabbitMQ 安装

#tar.xz 文件需要命令 xz,没有的话就先安装 
[root@localhost /]# cd /usr/local/
[root@localhost local]# yum install -y xz

#解压
[root@localhost local]# xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz  
[root@localhost local]# tar -xvf rabbitmq-server-generic-unix-3.7.15.tar

#文件夹重命名
[root@localhost local]# mv rabbitmq_server-3.7.15  rabbitmq

#配置 RabbitMQ 环境变量
[root@localhost local]# echo ''export PATH=$PATH:/usr/local/rabbitmq/sbin'' >> /etc/profile

#刷新环境变量
[root@localhost local]# source /etc/profile

#验证服务是否安装成功
#服务启动
[root@localhost local]# rabbitmq-server -detached
Warning: PID file not written; -detached was passed.

#服务状态
[root@localhost local]# rabbitmqctl status

#服务关闭
[root@localhost local]# rabbitmqctl stop         
Stopping and halting node rabbit@localhost ...

5.安装 WEB 管理界面

#安装
[root@localhost local]# rabbitmq-plugins enable rabbitmq_management

#防火墙放开端口 5672 和 15672
[root@localhost local]#  firewall-cmd --zone=public --add-port=5672/tcp --permanent  
success
[root@localhost local]#  firewall-cmd --zone=public --add-port=15672/tcp --permanent
success

#查看防护墙端口是否放开
[root@localhost local]# firewall-cmd --query-port=15672/tcp
no
[root@localhost local]# firewall-cmd --query-port=5672/tcp 
no

#重启防火墙
[root@localhost local]# firewall-cmd --reload
success

#查看防护墙端口是否放开
[root@localhost local]# firewall-cmd --query-port=5672/tcp
yes
[root@localhost local]# firewall-cmd --query-port=15672/tcp
yes

浏览器访问:ip:15672 如下图

默认账号密码:guest guest(这个账号只允许本机访问)

6.RabbitMQ 用户管理

#查看所有用户
[root@localhost local]# rabbitmqctl list_users
Listing users ...
user    tags
guest   [administrator]

#添加一个用户和密码
[root@localhost local]# rabbitmqctl add_user charmsongo 123456
Adding user "charmsongo" ...

#配置权限
[root@localhost local]# rabbitmqctl set_permissions -p "/" charmsongo ".*" ".*" ".*"      
Setting permissions for user "charmsongo" in vhost "/" ...

查看 charmsongo 权限
[root@localhost local]# rabbitmqctl list_user_permissions charmsongo
Listing permissions for user "charmsongo" ...
vhost   configure       write   read
/       .*      .*      .*

#设置 tag 为 administrator
[root@localhost local]# rabbitmqctl set_user_tags charmsongo administrator
Setting tags for user "charmsongo" to [administrator] ...
[root@localhost local]# rabbitmqctl list_users
Listing users ...
user    tags
charmsongo      [administrator]
guest   [administrator]

#删除默认用户(安全起见)
[root@localhost local]# rabbitmqctl delete_user guest
Deleting user "guest" ...

7.登录验证

用新账号和密码登录(如果失败,可重启 RabbitMQ 服务)

结束......

如果有哪些不对的地方烦请指认,先行感谢

CentOS 6 RabbitMQ 服务器搭建 PHP 客户端 C 扩展 AMQP 安装 rabbitmq-c 安装 PHP 多版本编译安装 C 扩展

CentOS 6 RabbitMQ 服务器搭建 PHP 客户端 C 扩展 AMQP 安装 rabbitmq-c 安装 PHP 多版本编译安装 C 扩展

背景

基于 CentOS 6 环境安装 RabbitMQ 3.7.24

步骤

服务端

安装

yum install  build-essential openssl openssl-devel unixODBC unixODBC-devel  make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz unixODBC  unixODBC-devel wxBase  wxGTK SDL wxGTK-gl socat cmake

wget https://packages.erlang-solutions.com/erlang/rpm/centos/6/x86_64/esl-erlang_21.0.5-1\~centos\~6_amd64.rpm
wget https://raw.githubusercontent.com/jasonmcintosh/esl-erlang-compat/master/rpmbuild/RPMS/noarch/esl-erlang-compat-R14B-1.el6.noarch.rpm
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.24/rabbitmq-server-3.7.24-1.el6.noarch.rpm

rpm -ivh esl-erlang_21.0.5-1\~centos\~6_amd64.rpm
rpm -ivh esl-erlang-compat-R14B-1.el6.noarch.rpm 
rpm -ivh rabbitmq-server-3.7.24-1.el6.noarch.rpm

rabbitmq-server start &
rabbitmq-plugins enable rabbitmq_management
netstat -tunlp |grep 5672

账户

rabbitmqctl add_user admin 123456
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ''.*'' ''.*'' ''.*''
rabbitmqctl delete_user guest

访问

浏览器直接访问控制面板:http://XXXXXXXX:15672/ 。

客户端

wget https://github.com/alanxz/rabbitmq-c/archive/v0.10.0.tar.gz
tar zxvf v0.10.0.tar.gz
cd rabbitmq-c-0.10.0
mkdir build && cd build
cmake ..
cmake --build .
make
make install

wget https://github.com/pdezwart/php-amqp/archive/v1.9.4.tar.gz
tar zxvf v1.9.4.tar.gz
cd php-amqp-1.9.4
/usr/bin/phpize #PHP多版本编译安装扩展核心所在 1/2
./configure -with-php-config=/usr/bin/php-config --with-librabbitmq-dir=/usr/local/ #PHP多版本编译安装扩展核心所在 2/2
make
make install

ln -s /usr/local/lib64/librabbitmq.so.4 /usr/lib64/librabbitmq.so.4

vim /etc/php.ini
[amqp]
extension=amqp.so
sudo service php-fpm56 restart

结束。

CentOS 7设置开机启动服务,添加自定义系统服务 centos 7 关闭防火墙 centos 7.2 centos 7 64位下载

CentOS 7设置开机启动服务,添加自定义系统服务 centos 7 关闭防火墙 centos 7.2 centos 7 64位下载

centos 7设置开机启动服务,添加自定义系统服务

  • 建立服务文件
  • 保存目录
  • 设置开机自启动
  • 其他命令

1.建立服务文件

文件路径

vim /usr/lib/systemd/<span>system</span>/nginx.service 
登录后复制

服务文件内容

<span>[Unit]</span><span>Description=<span>nginx - high performance web server</span></span><span>After=<span>network.target remote-fs.target nss-lookup.target</span></span><span>[Service]</span><span>Type=<span>forking</span></span><span>ExecStart=<span>/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf</span></span><span>ExecReload=<span>/usr/local/nginx/sbin/nginx -s reload</span></span><span>ExecStop=<span>/usr/local/nginx/sbin/nginx -s stop</span></span><span>[Install]</span><span>WantedBy=<span>multi-user.target</span></span>
登录后复制

文件内容解释

[<span>Unit</span>]:服务的说明<span>
Description:描述服务</span><span>
After:描述服务类别</span><span>
[Service]服务运行参数的设置</span><span>
Type=forking是后台运行的形式</span><span>
ExecStart为服务的具体运行命令</span><span>
ExecReload为重启命令</span><span>
ExecStop为停止命令</span><span>
PrivateTmp=True表示给服务分配独立的临时空间</span><span>
注意:启动、重启、停止命令全部要求使用绝对路径</span><span>
[Install]服务安装的相关设置,可设置为多用户</span>
登录后复制

2.保存目录

以754的权限保存在目录:

/usr/lib/systemd/<span>system</span>
登录后复制

3.设置开机自启动

任意目录下执行

systemctl enable nginx<span>.service</span>
登录后复制
登录后复制

4.其他命令

启动nginx服务

systemctl <span><span>start</span> nginx.service</span>
登录后复制

设置开机自启动

systemctl enable nginx<span>.service</span>
登录后复制
登录后复制

停止开机自启动

systemctl disable nginx<span>.service</span>
登录后复制

查看服务当前状态

systemctl status nginx<span>.service</span>
登录后复制

重新启动服务

systemctl restart nginx<span>.service</span>
登录后复制

查看所有已启动的服务

systemctl <span>list</span>-units --<span><span>type</span>=</span>service
登录后复制
'').addClass(''pre-numbering'').hide(); $(this).addClass(''has-numbering'').parent().append($numbering); for (i = 1; i '').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了centos 7设置开机启动服务,添加自定义系统服务,包括了centos 7方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

CentOS-Docker 安装 RabbitMQ 集群 (rabbitmq:3.7.16-management)

CentOS-Docker 安装 RabbitMQ 集群 (rabbitmq:3.7.16-management)

准备工作

1. 机器资源 (分别安装 docker 环境)

建议机器配置: centos7.x 4G 及以上 100GB 及以上 2 核及以上

192.168.1.101
192.168.1.102
192.168.1.103

2. 分别配置 hosts 文件,追加
vim /home/rabbitmq/hosts

192.168.1.101 rabbit1 rabbit1
192.168.1.102 rabbit2 rabbit2
192.168.1.103 rabbit3 rabbit3

下载镜像(每台机器)

$ docker pull rabbitmq:3.7.16-management

创建目录 (每台机器)

mkdir -p /home/rabbitmq

 

运行镜像(每台机器)

创建容器 (rabbit1)

docker run --restart=unless-stopped -h rabbit1 -d -p 5672:5672 -p 15672:15672 -p 25672:25672 -p 4369:4369 --name myrabbit1 \
-v /home/rabbitmq:/var/lib/rabbitmq:z -v /home/rabbitmq/hosts:/etc/hosts \
-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 -e RABBITMQ_ERLANG_COOKIE=''xxx_2019''
rabbitmq:3.7.16-management

创建容器 (rabbit2)

docker run --restart=unless-stopped -h rabbit2 -d -p 5672:5672 -p 15672:15672 -p 25672:25672 -p 4369:4369 --name myrabbit2 \
-v /home/rabbitmq:/var/lib/rabbitmq:z -v /home/rabbitmq/hosts:/etc/hosts \
-e RABBITMQ_ERLANG_COOKIE=''xxx_2019''
rabbitmq:3.7.16-management

创建容器 (rabbit3)

docker run --restart=unless-stopped -h rabbit3 -d -p 5672:5672 -p 15672:15672 -p 25672:25672 -p 4369:4369 --name myrabbit3 \
-v /home/rabbitmq:/var/lib/rabbitmq:z -v /home/rabbitmq/hosts:/etc/hosts \
-e RABBITMQ_ERLANG_COOKIE=''xxx_2019''
rabbitmq:3.7.16-management

参数说明
#容器后台运行
-d
#容器的主机名为 rabbit_master,容器内部的 hostname
--hostname rabbit_master
#将宿主机目录 /home/rabbitmq 挂载到容器的 /var/lib/rabbitmq 目录。z 是一个标记,在 selinux 环境下使用。
-v /home/rabbitmq:/var/lib/rabbitmq:z
#设置 rabbitmq 的 cookie 可以自定义为其他文本,三个容器保持一致即可。
-e RABBITMQ_ERLANG_COOKIE=''xxx_2019''

 

绑定集群

将 myrabbit1 节点重置

docker exec -it myrabbit1 bash

rabbitmqctl stop_app && \
rabbitmqctl reset && \
rabbitmqctl start_app

将 myrabbit2 节点加入集群

docker exec -it myrabbit2 bash

rabbitmqctl stop_app && \
rabbitmqctl reset && \
rabbitmqctl join_cluster rabbit
@rabbit1 && \
rabbitmqctl start_app

将 myrabbit3 节点加入集群

docker exec -it myrabbit3 bash

rabbitmqctl stop_app && \
rabbitmqctl reset && \
rabbitmqctl join_cluster rabbit
@rabbit2 && \
rabbitmqctl start_app

查询集群状态

rabbitmqctl cluster_status

故障节点的处理

docker exec -it rabbit2 /bin/bash

rabbitmqctl stop_app

#在一个正常的节点上移除有问题的节点

docker exec -it rabbit1 /bin/bash

rabbitmqctl forget_cluster_node rabbit@rabbit2

 

使用说明

springboot 集成

spring.rabbitmq.addresses=192.168.1.101:5672,192.168.1.102:5672,192.168.1.103:5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=123456
spring.rabbitmq.virtual-host=/

#支持手动 ack 模式
spring.rabbitmq.listener.simple.acknowledge-mode=manual
#每个并发的预取条数
spring.rabbitmq.listener.simple.prefetch=10
#并发数
spring.rabbitmq.listener.simple.concurrency=3
#最大并发数
spring.rabbitmq.listener.simple.max-concurrency=10
spring.rabbitmq.listener.direct.acknowledge-mode=manual

队列模式分为普通模式和镜像模式,集群模式建议直接使用镜像队列

1. 全部节点镜像策略创建

2. 指定节点数镜像策略创建

参数说明

Pattern 模式:"^" 为全部;"^all-" 为所有 all - 开头

Priority 优先级:建议 10,比较耗费资源

Definition 定义参数:

ha-mode=all 或 exactly;

ha-sync-mode=automatic;

ha-params=2(ha-mode=exactly);

 

H5网页适配 iPhoneX,就是这么简单(转)

H5网页适配 iPhoneX,就是这么简单(转)

iPhoneX 取消了物理按键,改成底部小黑条,这一改动导致网页出现了比较尴尬的屏幕适配问题。对于网页而言,顶部(刘海部位)的适配问题浏览器已经做了处理,所以我们只需要关注底部与小黑条的适配问题即可(即常见的吸底导航、返回顶部等各种相对底部 fixed 定位的元素)。笔者通过查阅了一些官方文档,以及结合实际项目中的一些处理经验,整理了一套简单的适配方案分享给大家,希望对大家有所帮助,

 

以下是处理前后效果图:

适配之前需要了解的几个新知识

安全区域

安全区域指的是一个可视窗口范围,处于安全区域的内容不受圆角(corners)、齐刘海(sensor housing)、小黑条(Home Indicator)影响,如下图蓝色区域:

也就是说,我们要做好适配,必须保证页面可视、可操作区域是在安全区域内。

更详细说明,参考文档:Human Interface Guidelines - iPhoneX

viewport-fit

iOS11 新增特性,苹果公司为了适配 iPhoneX 对现有 viewport meta 标签的一个扩展,用于设置网页在可视窗口的布局方式,可设置三个值:

  • contain: 可视窗口完全包含网页内容(左图)
  • cover:网页内容完全覆盖可视窗口(右图)
  • auto:默认值,跟 contain 表现一致

注意:网页默认不添加扩展的表现是 viewport-fit=contain,需要适配 iPhoneX 必须设置 viewport-fit=cover,这是适配的关键步骤。

更详细说明,参考文档:viewport-fit-descriptor

constant 函数

iOS11 新增特性,Webkit 的一个 CSS 函数,用于设定安全区域与边界的距离,有四个预定义的变量:

  • safe-area-inset-left:安全区域距离左边边界距离
  • safe-area-inset-right:安全区域距离右边边界距离
  • safe-area-inset-top:安全区域距离顶部边界距离
  • safe-area-inset-bottom:安全区域距离底部边界距离

这里我们只需要关注 safe-area-inset-bottom 这个变量,因为它对应的就是小黑条的高度(横竖屏时值不一样)。

注意:当 viewport-fit=contain 时 constant 函数是不起作用的,必须要配合 viewport-fit=cover 使用。对于不支持 constant 的浏览器,浏览器将会忽略它。
官方文档中提到 env 函数即将要替换 constant 函数,笔者测试过暂时还不可用。

更详细说明,参考文档:Designing Websites for iPhone X

如何适配

了解了以上所说的几个知识点,接下来我们适配的思路就很清晰了。

第一步:设置网页在可视窗口的布局方式

新增 viweport-fit 属性,使得页面内容完全覆盖整个窗口:

1
<meta name="viewport" content="width=device-width, viewport-fit=cover">

 

前面也有提到过,只有设置了 viewport-fit=cover,才能使用 constant 函数。

第二步:页面主体内容限定在安全区域内

这一步根据实际页面场景选择,如果不设置这个值,可能存在小黑条遮挡页面最底部内容的情况。

1
2
3
body {
padding-bottom: constant(safe-area-inset-bottom);
}

 

第三步:fixed 元素的适配

类型一:fixed 完全吸底元素(bottom = 0),比如下图这两种情况:

可以通过加内边距 padding 扩展高度:

1
2
3
{
padding-bottom: constant(safe-area-inset-bottom);
}

 

或者通过计算函数 calc 覆盖原来高度:

1
2
3
{
height: calc(60px(假设值) + constant(safe-area-inset-bottom));
}

 

注意,这个方案需要吸底条必须是有背景色的,因为扩展的部分背景是跟随外容器的,否则出现镂空情况。

还有一种方案就是,可以通过新增一个新的元素(空的颜色块,主要用于小黑条高度的占位),然后吸底元素可以不改变高度只需要调整位置,像这样:

1
2
3
{
margin-bottom: constant(safe-area-inset-bottom);
}

空的颜色块:

1
2
3
4
5
6
7
{
position: fixed;
bottom: 0;
width: 100%;
height: constant(safe-area-inset-bottom);
#fff;
}

 

类型二:fixed 非完全吸底元素(bottom ≠ 0),比如 “返回顶部”、“侧边广告” 等

像这种只是位置需要对应向上调整,可以仅通过外边距 margin 来处理:

1
2
3
{
margin-bottom: constant(safe-area-inset-bottom);
}

 

或者,你也可以通过计算函数 calc 覆盖原来 bottom 值:

1
2
3
{
bottom: calc(50px(假设值) + constant(safe-area-inset-bottom));
}

 

别忘了使用 @supports

写到这里,我们常见的两种类型的 fixed 元素适配方案已经了解了吧,但别忘了,一般我们只希望 iPhoneX 才需要新增适配样式,我们可以配合 @supports 这样编写样式:

1
2
3
4
5
@ supports (bottom: constant(safe-area-inset-bottom)) {
div {
margin-bottom: constant(safe-area-inset-bottom);
}
}

 

写在最后

以上几种方案仅供参考,笔者认为,现阶段适配处理起来是有点折腾,但是至少能解决,具体需要根据页面实际场景,在不影响用户体验与操作的大前提下不断尝试与探索,才能更完美的适配。

我们今天的关于CentOS 7 安装 RabbitMQ 就是这么简单centos7安装rac的分享就到这里,谢谢您的阅读,如果想了解更多关于CentOS 6 RabbitMQ 服务器搭建 PHP 客户端 C 扩展 AMQP 安装 rabbitmq-c 安装 PHP 多版本编译安装 C 扩展、CentOS 7设置开机启动服务,添加自定义系统服务 centos 7 关闭防火墙 centos 7.2 centos 7 64位下载、CentOS-Docker 安装 RabbitMQ 集群 (rabbitmq:3.7.16-management)、H5网页适配 iPhoneX,就是这么简单(转)的相关信息,可以在本站进行搜索。

本文标签: