Linux

CentOS7 php5.6 编译安装amqp扩展

php 安装最新rabbitmq扩展

1、安装编译环境 #

yum install cmake gcc gcc-c++ make openssl-devel

2、安装rabbitmq-c #

wget https://github.com/alanxz/rabbitmq-c/archive/v0.9.0.zip
unzip v0.9.0.zip
cd rabbitmq-c-0.9.0/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c-0.9.0/
make && make install

3、安装amqp #

wget http://pecl.php.net/get/amqp-1.9.4.tgz
tar zxf amqp-1.9.4.tgz
cd amqp-1.9.4
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.9.0

#由于rabbitmq-c编译出来的lib目录是lib64,所以我们要做一些小的修改
vim Makefile
#将 AMQP_SHARED_LIBADD = -Wl,-rpath,/usr/local/rabbitmq-c-0.9.0/lib -L/usr/local/rabbitmq-c-0.9.0/lib -lrabbitmq
#修改为 AMQP_SHARED_LIBADD = -Wl,-rpath,/usr/local/rabbitmq-c-0.9.0/lib64 -L/usr/local/rabbitmq-c-0.9.0/lib64 -lrabbitmq

make && make install

4、php.ini 添加模块 #

vi /usr/local/php/etc/php.ini
#增加
extension = /usr/lib64/php/modules/amqp.so

5、重启服务 #

systemctl restart php-fpm

hadoop下载文件遇到的坑

hadoop fs -get 下载带特殊字符文件失败的一些解决方法。

错误范例 #

hadoop fs  -get  "/xxx/xxx分类/动漫Y/2005/蓝猫淘气3000问 航天系列(太空历险记)/第363集 协议.ts" "/media/bak/媒资源素材分类/动漫Y/2005/蓝猫淘气3000问 航天系列(太空历险记)/第363集 协议.ts"

运行以上命令就报“unexpexted URISyntaxException”

...

linux-iftop实时流量监控

iftop是类似于top的实时流量监控工具。可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。

安装 #

Debian/Ubuntu/Deepin:

sudo apt update
sudo apt -y install iftop

CentOS/RHEL:

...

Centos7+Python2.7下yum安装软件报错解决办法

yum安装软件报错,但可以下载文件。

错误信息 #

Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 365, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 271, in main
    return_code = base.doTransaction()
  File "/usr/share/yum-cli/cli.py", line 773, in doTransaction
    resultobject = self.runTransaction(cb=cb)
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 1736, in runTransaction
    if self.fssnap.available and ((self.conf.fssnap_automatic_pre or
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 1126, in <lambda>
    fssnap = property(fget=lambda self: self._getFSsnap(),
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 1062, in _getFSsnap
    devices=devices)
  File "/usr/lib/python2.7/site-packages/yum/fssnapshots.py", line 158, in __init__
    self._vgnames = _list_vg_names() if self.available else []
  File "/usr/lib/python2.7/site-packages/yum/fssnapshots.py", line 56, in _list_vg_names
    names = lvm.listVgNames()
lvm.LibLVMError: (0, '')

解决方法 #

mkdir /tmp/down/
yum install --downloadonly --downloaddir=/tmp/down/ yum
cd /tmp/down/
rpm -Uvh *

yum clean metadata
yum clean all

记一次时间同步引起的故障

ntpdate同步时间,时间跳跃,引起服务中断。

计划任务 #

0 4 * * * /usr/sbin/ntpdate  10.200.3.71

日志 #

Dec 30 04:00:01 localhost systemd: Created slice user-0.slice.
Dec 30 04:00:01 localhost systemd: Starting user-0.slice.
Dec 30 04:00:01 localhost systemd: Started Session 16 of user root.
Dec 30 04:00:01 localhost systemd: Starting Session 16 of user root.
Dec 29 20:09:59 localhost systemd: Time has been changed
Dec 29 20:09:59 localhost systemd: Removed slice user-0.slice.
Dec 29 20:09:59 localhost systemd: Stopping user-0.slice.

故障 #

因为跳跃的时间太大,导致系统的各种服务中断(网络中断和systemctl管理的服务也有问题)。

...

solr7.3.1单机版添加core

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

...

solr-7.3.1 单机安装教程

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

...

解决rabbitmq依赖问题

MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。

错误提示 #

warning: rabbitmq-server-3.6.6-1.el6.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEYerror: Failed dependencies:
    erlang >= R16B-03 is needed by rabbitmq-server-3.6.6-1.el6.noarch
    socat is needed by rabbitmq-server-3.6.6-1.el6.noarch

解决方法 #

cd /etc/yum.repos.d/
cat erlang.repo
[erlang-solutions]
name=Centos $releasever - $basearch - Erlang Solutions
baseurl=http://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch
gpgcheck=0
gpgkey=http://packages.erlang-solutions.com/debian/erlang_solutions.asc
enabled=1

然后再安装rabbitmq

...

grafana重置管理员密码

Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。

...

Linux bash 提取文件名和目录名

在Linux Bash中分别使用basename、dirname、${},提取文件名和目录名。

通过变量方式 #

${}用于字符串的读取,提取和替换功能,可以使用${} 提取字符串

...