📚 我的文章

MacOS 10.12 解决找不到任何来源设置

安装第三方软件必备技能

打开终端 ( 终端在 应用程序 - 实用工具内 )

输入以下命令并回车

sudo spctl --master-disable

然后查看问题是否解决, 偏好设置->安全性与隐私->通用->任何来源

...

nginx+php+ThinkPHP环境常见错误总结

错误一

2017/09/07 16:39:18 [error] 21753#0: *26 FastCGI sent in stderr: “Primary s…

错误一 #

2017/09/07 16:39:18 [error] 21753#0: *26 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.31.26.114, server: localhost, request: "GET /1.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "10.200.8.220:8000"

解决版本 #

在server节点下添加以下配置

...

RabbitMQ 三种 Exchange 模式

RabbitMQ 中的 Exchange(交换机)负责接收生产者发送的消息,并根据类型将消息路由到相应的队列。常见的三种 Exchange 类型如下:


1. Direct Exchange(直连模式) #

✅ 特点: #

  • 根据消息的 routing key 精确匹配,将消息路由到绑定了 相同 routing key 的队列。

🎯 适用场景: #

  • 一对一消息传递。
  • 多个队列分别订阅不同的消息类型。

📌 示例: #

绑定情况:

...

rabbitmq 消息队列安装和配置

erlang #

首先安装erlang语言环境

yum install erlang -y

rabbitMQ #

rabbitMQ下载地址:直达安装方法:

rpm -ivh --force --nodeps rabbitmq-server-3.6.0-1.noarch.rpm
或者
yum localinstall  rabbitmq-server-3.6.0-1.noarch.rpm -y

启动服务 #

/etc/init.d/rabbitmq-server start
rabbitmq-plugins enable rabbitmq_management

配置主备 #

同步cookie #

chmod 777 /var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie Go02:/var/lib/rabbitmq/.erlang.cookie
chmod 400 /var/lib/rabbitmq/.erlang.cookie

添加节点 #

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster [--ram] rabbit@Go01 //此处的Go01为主节点的hostname,需要在/etc/hosts中指定
rabbitmqctl start_app

删除节点 #

rabbitmqctl stop_app
rabbitmqctl forget_cluster_node rabbit@rabbit1

修改类型 #

rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type ram
rabbitmqctl start_app

添加用户 #

rabbitmqctl add_user admin admin
# 添加权限:
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
# 删除测试用户:
rabbitmqctl delete_user guest
# 赋予其administrator角色:
rabbitmqctl set_user_tags admin administrator
# 修改密码:
rabbitmqctl  change_password  admin  '12341234'

修改配置 #

//防止服务端异常中断恢复后镜像队列不能恢复的问题

vim /etc/rabbitmq/rabbitmq.conf
[
  {rabbit,[{tcp_listeners,[5672]},
  {cluster_partition_handling, autoheal}]}
].
#不要忘记最后面的那个点号哦!

环境变量 #

touch /etc/rabbitmq/rabbitmq-env.conf#输入
    RABBITMQ_NODENAME=FZTEC-240088 节点名称    RABBITMQ_NODE_IP_ADDRESS=127.0.0.1 监听IP
    RABBITMQ_NODE_PORT=5672 监听端口    RABBITMQ_LOG_BASE=/data/rabbitmq/log 日志目录
    RABBITMQ_PLUGINS_DIR=/data/rabbitmq/plugins 插件目录
    RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia 后端存储目录

RabbitMQ的用户角色分类 #

none、management、policymaker、monitoring、administrator

...

RabbitMQ性能优化

rabbitmq.config #

rabbitmq.config文件时rabbitmq的配置文件,他遵守Erlang配置文件定义。

rabbitmq.config文件位置:

Unix $RABBITMQ_HOME/etc/rabbitmq

Windows %APPDATA%\RabbitMQ\

例子如下:

...

rabbitmq之机器机器全部断电恢复记录

今天遇到一个rabbitmq集群同时断电,当机器全部启动的时候发现rabbitmq无法正常启动,然后发现如下日志。

=INFO REPORT==== 25-Apr-2018::11:11:07 ===
Starting RabbitMQ 3.5.3 on Erlang R16B03-1
Copyright (C) 2007-2014 GoPivotal, Inc.
Licensed under the MPL.  See http://www.rabbitmq.com/

=INFO REPORT==== 25-Apr-2018::11:11:07 ===
node           : rabbit@WIN-ACC2J7AGNM9
home dir       : C:\Users\Administrator
config file(s) : e:/RabbitMQ Data/rabbitmq.config (not found)
cookie hash    : kR4NuIdBr2n8/4Qt9uIgqQ==
log            : E:/RabbitMQ Data/log/rabbit@WIN-ACC2J7AGNM9.log
sasl log       : E:/RabbitMQ Data/log/rabbit@WIN-ACC2J7AGNM9-sasl.log
database dir   : e:/RabbitMQ Data/db/rabbit@WIN-ACC2J7AGNM9-mnesia

=WARNING REPORT==== 25-Apr-2018::11:11:07 ===
Kernel poll (epoll, kqueue, etc) is disabled. Throughput and CPU utilization may worsen.

=INFO REPORT==== 25-Apr-2018::11:11:08 ===
Memory limit set to 13095MB of 32738MB total.

=INFO REPORT==== 25-Apr-2018::11:11:08 ===
Disk free limit set to 50MB

=INFO REPORT==== 25-Apr-2018::11:11:08 ===
Limiting to approx 8092 file handles (7280 sockets)

=INFO REPORT==== 25-Apr-2018::11:11:38 ===
Timeout contacting cluster nodes: ['rabbit@WIN-2W6NDAIZBIA'].

BACKGROUND
==========

This cluster node was shut down while other nodes were still running.
To avoid losing data, you should start the other nodes first, then
start this one. To force this node to start, first invoke
"rabbitmqctl force_boot". If you do so, any changes made on other
cluster nodes after this one was shut down may be lost.

DIAGNOSTICS
===========

attempted to contact: ['rabbit@WIN-2W6NDAIZBIA']

rabbit@WIN-2W6NDAIZBIA:
  * connected to epmd (port 4369) on WIN-2W6NDAIZBIA
  * epmd reports: node 'rabbit' not running at all
                  no other nodes on WIN-2W6NDAIZBIA
  * suggestion: start the node

current node details:
- node name: 'rabbit@WIN-ACC2J7AGNM9'
- home dir: C:\Users\Administrator
- cookie hash: kR4NuIdBr2n8/4Qt9uIgqQ==

关键的地方在于中间的这段说明:

...

rabbitmq之修改数据和log目录位置位置

 vim /etc/rabbitmq/rabbitmq-env.conf

# I am a complete /etc/rabbitmq/rabbitmq-env.conf file.
# Comment lines start with a hash character.
# This is a /bin/sh script file - use ordinary envt var syntax
MNESIA_BASE=/data/rabbitmq/mnesia
LOG_BASE=/data/logs/rabbitmq

Rematrix is needed between 10 channels and 7.1(wide) but there is not enough

解决办法

将10个声道拆分成10个音轨

ffmpeg -i INPUTFILE -filter_complex “[0:a]pan=mono|c0=c0[…

解决办法 #

将10个声道拆分成10个音轨

ffmpeg -i INPUTFILE  -filter_complex "[0:a]pan=mono|c0=c0[a0];[0:a]pan=mono|c0=c1[a1];[0:a]pan=mono|c0=c2[a2];[0:a]pan=mono|c0=c3[a3];[0:a]pan=mono|c0=c4[a4];[0:a]pan=mono|c0=c5[a5];[0:a]pan=mono|c0=c6[a6];[0:a]pan=mono|c0=c7[a7];[0:a]pan=mono|c0=c8[a8];[0:a]pan=mono|c0=c9[a9]" -map "[a0]" -map "[a1]" -map "[a2]" -map "[a3]" -map "[a4]" -map "[a5]" -map "[a6]" -map "[a7]" -map "[a8]" -map "[a9]" -vn -c:a pcm_s24le  OUTPUTFILE

ffmpeg -i INPUTFILE -vn -c:a pcm_s24le -map 0:1 -filter:a:0 "pan=mono|c0=c0" -map 0:1 -filter:a:1 "pan=mono|c0=c1" -map 0:1 -filter:a:2 "pan=mono|c0=c2" -map 0:1 -filter:a:3 "pan=mono|c0=c3" -map 0:1 -filter:a:4 "pan=mono|c0=c4" -map 0:1 -filter:a:5 "pan=mono|c0=c5" -map 0:1 -filter:a:6 "pan=mono|c0=c6" -map 0:1 -filter:a:7 "pan=mono|c0=c7" -map 0:1 -filter:a:8 "pan=mono|c0=c8" -map 0:1 -filter:a:9 "pan=mono|c0=c9" OUTPUTFILE