以上就是给各位分享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 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)
@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 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设置开机启动服务,添加自定义系统服务
- 建立服务文件
- 保存目录
- 设置开机自启动
- 其他命令
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
以上就介绍了centos 7设置开机启动服务,添加自定义系统服务,包括了centos 7方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
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,就是这么简单(转)
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,就是这么简单(转)的相关信息,可以在本站进行搜索。
本文标签: