📚 我的文章

solrcloud上传配置文件

使用solr自带的工具zkcli.sh上传配置文件

chmod +x  /opt/solr/server/scripts/cloud-scripts/zkcli.sh
cp -r /opt/solr-7.3.1/server/solr/configsets/_default/conf /opt/solr-7.3.1/server/solr/_test1b/
/opt/solr/server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -zkhost 10.1.201.49:2181,10.1.201.50:2181 -confname test1b -confdir /opt/solr-7.3.1/server/solr/_test1b/

复制的时候一定要复制server/solr/configsets/_default/conf目录,而不是server/solr/configsets/_default

...

Nginx的connect() to xxx failed (13: Permission denied) 和 Nginx 403 forbidden

解决Nginx的connect() to xxx failed (13: Permission denied) 和 Nginx 403 forbidden 错误

查看SeLinux状态 #

getenforce

如果是enabled则继续往下看。

临时关闭(不需要重启机器) #

setenforce 0

修改配置 #

vim /etc/selinux/config #将SELINUX=enforcing改为SELINUX=disabled

如果你执行了临时关闭SeLinux并机器上跑了重要的业务,那可以不需要马上重启机器,等待下次重启配置生效即可。

...

XDCAM HD422 MXF

分别使用ffmpeg ffmbc 实现 输出XDCAM HD422 MXF文件

ffmpeg #

ffmpeg -i test.mov -pix_fmt yuv422p -vcodec mpeg2video -non_linear_quant 1 -flags +ildct+ilme -top 1 -dc 10 -intra_vlc 1 -qmax 3 -lmin "1*QP2LAMBDA" -vtag xd5c -rc_max_vbv_use 1 -rc_min_vbv_use 1 -g 12 -b:v 50000k -minrate 50000k -maxrate 50000k -bufsize 8000k -acodec pcm_s16le -ar 48000 -bf 2 -ac 2 -f mxf_d10 output.mxf

ffmbc #

ffmbc  -y -threads 8 -i 先导片.mp4 -target xdcamhd422 -tff -acodec pcm_s24le 先导片-out.mov

nginx+rtmp+hls直播推流

源码编译nginx+rtmp+hls,并附带nginx配置文件、推流的方式及播放方法。

nginx #

编译 #

wget http://nginx.org/download/nginx-1.14.0.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.tar.gz
wget http://zlib.net/zlib-1.2.11.tar.gz
wget
#全部解压并编译nginx
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/opt/app/openet/oetal1/chenhe/pcre-8.37 --with-zlib=/opt/app/openet/oetal1/chenhe/zlib-1.2.8 --with-openssl=/opt/app/openet/oetal1/chenhe/openssl-1.0.1t --add-module=../nginx-rtmp-module

配置 #

worker_processes  auto;

error_log  logs/error.log debug;

events {
    worker_connections  1024;
}

rtmp {
    server {
        listen 1935;
        chunk_size 4000;

        application myapp {
            live on;
        }

        application hls {
            live on;
            hls on;
            hls_path /data/y/ngnix/hls;
            hls_playlist_length 1d;
            hls_sync 100ms;
            hls_continuous on;
            hls_fragment 8s;
        }
    }
}

http {
    server {
        listen      80;

        location / {
            root html;
        }

        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
            root html;
        }

        location /hls {
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
            add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
            #server hls fragments
            types{
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }
            alias /data/y/ngnix/hls;
            expires -1;
        }
    }
}

推流 #

#RTMP方式
/opt/ffmpeg/bin/ffmpeg -re -i "/home/1.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://127.0.0.1:1935/myapp/test1
#HTTP方式
/opt/ffmpeg/bin/ffmpeg -re -i "/home/2.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://127.0.0.1:1935/hls/test2

具体参数可根据自己的需求调整

...

删除除link(软连接)对应的文件以外的所有文件

使用find和readlink删除除link(软连接)对应的文件以外的所有文件,一般用于自动删除日志文件。

脚本 #

#!/bin/bash

linkArr=`find $1 -type l -exec readlink {} \;`
fileArr=`find $1 -type f -name "*${2}*"`

for f in $fileArr;do
  isLink=false
  for l in $linkArr;do
    #判断当前文件是否为link对应的文件
    if [ "${f##*/}" == "$l" ];then
      isLink=true
      break
    fi
  done
  if [ $isLink == false ];then
    rm -f $f
  fi
done

说明 #

功能 #

删除除link对应的文件以外的所有文件

...

GoToShell

一个在Finder中快速打开hyper、iTerm2、Terminal、vscode和新建文件的小工具

简介 #

可以快速打开常见的终端模拟器,并切换到当前finder所在的目录。

...

centos 6 搭建 SolrCloud 7.3.1 集群服务

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

...

mac终端(iterm2)代理

一个简单的脚本,实现终端socks5代理。

开始是打算使用“proxychains4”的,但是需要关闭SIP功能(System Integrity Protection),作为一个注重系统安全的用户,怎么能关闭这个SIP呢,于是只能另辟蹊径了。最后找到使用shell 的代理环境变量来解决这个问题。

$ cat /usr/local/bin/pc
#!/bin/bash
export http_proxy=socks5://127.0.0.1:1086
export https_proxy=$http_proxy
$@

$ chmod +x /usr/local/bin/pc

$ #需要使用代理的时候
$ pc curl www.google.com

是不是很简单,感觉比“proxychains4”简单方便多了,而且还不要关闭SIP。理论上Linux下也是可行的,但是没有测试。