野火IM是一套开源通用的即时通讯组件,能够更加容易地赋予客户IM能力,使客户可以快速的在自有产品上添加聊天功能。使用野火可以替代云通讯产品或减少自研IM的工作量。降低客户使用IM的成本和难度。
基于Freeswitch的语音视频通话
之前写过一篇《阿里云 opensips nat内网穿透》,当时是为了解决对讲机视频对讲的问题。但是之前的方案存在一个问题,那就是虽然服务器能够正常提供服务。但是在接通之后如果设备不在同一个局域网内就会导致有音频但是没有视频信息。这个问题困扰了很久,直到现在算是能够解决这个问题。出现上面这个问题的根本原因在于设备的网络层次关系太过复杂,视频信息没有办法透传。我不是语音视频方面的专家,集中nat结构我也不在叙述了,感兴趣的访问这个链接:https://www.cnblogs.com/zhumengke/articles/11204924.html
如果要在阿里云的服务器上,还需要升级绑定弹性网卡的相关内容,具体参考这里:https://developer.aliyun.com/article/228753?spm=a2c6h.13813017.content3.1.5cbc6532wDqNf4
阿里云 opensips nat内网穿透
书接上文,上次在阿里云安装好opensips之后,发现无法在公网ip监听。为了能够快速测试后续改用内网服务器搭建sips服务器。现在功能差不多了,于是就需要将opensips服务器重新部署到公网上。不得不再次面对这个蛋疼的问题。通过搜索之后发现可以通过rtpproxy实现内网穿透?(这个说不知道准不准去,没有深入研究实现原理)
方法也比较简单,安装rtpproxy:
sudo apt-get install rtpproxy
安装之后修改opensips.cfg配置文件,添加如下内容:
#rtpproxy
loadmodule "rtpproxy.so"
modparam("rtpproxy", "rtpproxy_sock", "unix:/var/run/rtpproxy/rtpproxy.sock") #需要将unix路径修改为rtpproxy对应的sock路径。
ubuntu 18.04 安装opensips 3.1
OpenSIPS is an Open Source SIP proxy/server for voice, video, IM, presence and any other SIP extensions.OpenSIPS is a multi-functional, multi-purpose signaling SIP server used by carriers, telecoms or ITSPs for solutions like Class4/5 Residential Platforms, Trunking / Wholesale, Enterprise / Virtual PBX Solutions, Session Border Controllers, Application Servers, Front-End Load Balancers, IMS Platforms, Call Centers, and many others – see the full Set of Features.
搜索一下网上安装opensips的文章基本都是源码安装的,虽然从源码安装并不是十分困难,但是在安装过程中需要处理各种依赖库。并且在某些系统上会出现编译不过的问题,在阿里云的服务器上很容易就通过源码安装好了opensips。但是由于阿里云的ecs没有经典网络,所以无法在公网ip绑定服务,导致客户端无法正常连接。如果有在阿里云部署服务的,那么可能会在这个地方失败。
在内网尝试部署的时候出现了另外一个问题,那就是源码编译不过去。搜索了一下发现其实可以通过ubuntu的apt命令进行安装,不过官方的apt源限定了linux的发行版本。所以在安装之前最好先确认一下,建议使用ubuntu18.04.
Putty OpenSSH SSH-2 private key (old PEM format)
群晖 NAS Python3 PIP
群晖默认的python版本为python2.如果要安装python3可以通过套件中心进行安装
安装的python并没有带pip工具,如果直接执行
pip3 install requests
会直接报错:-sh: pip3: command not found
通过如下命令安装pip3:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
安装成功之后可能会出现如下警告:
提示安装路径不在PATH中。要解决这个问题可以将路径添加到PATH变量中,或者在执行的时候切换到指定的目录:
不过比较坑的一点事群晖的sh即使在切换到安装目录之后依然会提示命令未找到,可以通过以下命令安装库:
./pip3 install requests
EC2通过命令上传文件到S3
爬虫文件在服务器上爬取数据的时候下载了很多的数据,为了保存这些数据,给这些数据做个备份于是就想把文件传到s3存储上。其实要上传文件也比较简单,通过awscli命令行工具即可上传。首选需要去aws的后台创建访问安全凭证。点击用户名,选择访问密钥,创建新的访问密钥,下载之后是一个csv文件包含AWSAccessKeyId和AWSSecretKey
在服务器上安装awscli,执行
sudo apt install awscli
安装aws命令行工具。
安装完成之后执行
aws configure
进行配置,输入key和secret即可:
最后两项可以留空。
CentOS 6 更新php 从7.0到7.2
#
yum install epel-release
# install Remi repo
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-6.rpm
# centos 7 rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# check installed version
yum list installed php*
# remove old version
yum remove php*
# install new version
yum install --enablerepo=remi-php72 php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo
# check php version
php -v