
linux/服务器
沉迷WebRTC
想在音视频实时通信行业一直深耕下去的女孩,请多多包涵。
展开
-
使用git clone遇到:certificate verification failed
git clone时出现错误:server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none解决办法:1、设置环境变量export GIT_SSL_NO_VERIFY=12、进行如下操作:sudo apt updatesudo apt-get install apt-transport-https ca-certificates -ysudo ..原创 2021-11-15 15:29:11 · 1781 阅读 · 0 评论 -
linux 下的lsb_release -a 命令查询系统版本
先安装lsb命令是yum install lsb1、lsb_release -a 查看系统版本[root@localhost bin]# lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printin...原创 2021-02-03 10:33:05 · 2791 阅读 · 1 评论 -
linux解压.tar.xz后缀文件的命令
我们先用 xz 命令把压缩包外层解压,再用tar命令来解压缩包xz -d zlib-1.2.11.tar.xz得到 zlib-1.2.11.tartar -xvf zlib-1.2.11.tar得到 zlib-1.2.11原创 2020-09-01 15:16:05 · 439 阅读 · 0 评论 -
Linux下如何永久修改hostname的方法步骤
对于我们的终端设备,连接wifi,我们想要区分设备名称,那么修改hostname是比较好的选择,对于hostname,我们可以通过man hostname 查看相关的内容;如果我们想查看当前系统的hostname,可以使用如下指令:(1) uname -n(2) hostname我们可以通过指令修改hostname:hostname mydefinename我们通过指令修改的其实也是 /proc/sys/kernel/hostname 中的内容;...原创 2020-07-21 15:53:20 · 1394 阅读 · 0 评论 -
Linux中获取CPU数目确定多线程数
在实际的项目中,尤其是服务器端,需要多线程来处理业务,我们除了可以在配置文件中配置thread number,还可以根据系统CPU 数目来确定甚至是分配线程数。int GetProcessorNum(){ FILE *fstream=NULL; char buff[1024]; memset(buff,0,sizeof(buff)); if (NULL == (fstream =...原创 2019-03-28 13:35:39 · 689 阅读 · 0 评论 -
Linux永久后台启动程序nohup commmand &
今天在linux上部署服务程序,我一般想让某个程序在后台运行,于是我将常会用 & 在程序结尾来让程序自动运行,于是在SSH客户端执行./Server &,启动成功,在关闭SSH客户端后,运行的程序也同时终止了,怎样才能保证在推出SSH客户端后程序能一直执行呢?通过网上查找资料,发现需要使用nohup命令。于是使用如下形式的命令:nohup ./Server >/dev/n...原创 2019-04-26 13:58:43 · 711 阅读 · 0 评论 -
使用c-ares进行DNS域名解析
1、c-ares是一个C语言实现的DNS非阻塞异步解析,libcurl, libevent, gevent, nodejs wireshark都使用了c-ares,因此在一般开发一些服务的客户端Client,在连接服务器Server时,需要做的工作的就是域名解析。2、源码下载路径:https://c-ares.haxx.se/download/3、编译使用 (1)Win32环境...原创 2019-04-18 17:28:51 · 3817 阅读 · 0 评论 -
C/C++获取Linux系统内存使用情况
我们在Linux系统上常常会定时统计系统的Memory信息,从而排查一些其他的问题,在Linux 中,我们可以使用如下方式查看系统情况:(1)free -m(2)cat /proc/meminfo在程序中我们可以定时统计这些信息,那么我们可以使用如下方式:方法一:该方法比较简单,但是有缺陷,每个系统的字段顺序不一样,可能会存在一些错误//proc/meminfo文件结...原创 2019-08-22 15:33:05 · 6140 阅读 · 0 评论 -
C/C++简单方法实现drop Caches——释放缓存
可以看出,/proc/sys是一个虚拟文件系统,可以通过对它的读写操作做为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整。那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存。其默认数值为0. 向/proc/sys/vm/drop_caches中写入内容,会清理缓存。建议先执行sync(sync 命令将所...原创 2019-08-22 15:50:28 · 2401 阅读 · 0 评论 -
C++如何获取服务器内网IP地址[Windows+Linux]
在实际的项目运用中,我们往往需要绑定本机的IP和端口号,或者作为服务器需要将自己的IP信息更新至数据库中,便于其他其中通过查询数据库得到地址从而发数据,如果我们把它做成智能的获取本机的IP,这样我们的代码的可移植性就提高了。下面就介绍一种在windows和linux下面可以智能获取我们本机的局域网IP的方法,不妥之处还请大家多多指教。(1)Windows#include "winsock...原创 2019-03-26 20:10:35 · 1899 阅读 · 0 评论 -
JWT之token生成和解析鉴权验证[C++]
实现Token的方式有很多,本篇介绍的是利用Json Web Token(JWT)生成的Token.JWT生成的Token有什么好处呢?安全性比较高,加上密匙加密而且支持多种算法。 携带的信息是自定义的,而且可以做到验证token是否过期。 验证信息可以由前端保存,后端不需要为保存token消耗内存。1.JWT构成第一部分我们称它为头部(header),第二部分我们称其为载荷(pa...原创 2019-03-20 14:00:25 · 5138 阅读 · 1 评论 -
UDP客户端发送结构体数据,调用recvfrom函数阻塞问题
1.当我们想发送一个结构体给服务端时,如果该结构体是字节对齐,那么无需考虑大小端的转换比如:typedef struct OpenMessage{ int32_t SessionType; int32_t SessionId; int64_t TimeStamp;};OpenMessage kmessage;给结构体赋值后,char * sendb...原创 2019-01-29 16:14:06 · 3370 阅读 · 1 评论 -
Linux 中errno 错误对照表
errno 在 中定义,错误 Exx 的宏定义在 /usr/include/asm-generic 文件夹下面的 errno-base.h 和 errno.h,分别定义了 1-34 、35-132 的错误定义。strerror() 函数依据 errno 值返回错误描述字符串,下面程序打印对照表:[cpp] view plain copy #include原创 2017-09-06 18:28:04 · 1587 阅读 · 0 评论 -
Linux常用SVN 操作
svn add values/strings.xml //–添加svn st //–查看状态svn ci //–提交 svn ci -m “svn ci, permission”1、将文件checkout到本地目录svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1原创 2017-09-16 10:15:19 · 338 阅读 · 0 评论 -
nginx安装参考
nginx安装参考一、nginx简介Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使...原创 2018-05-25 20:40:14 · 303 阅读 · 0 评论 -
跨平台方法(一):获取文件大小(参数为文件url)
在一些实际的项目中,我们需要去计算某目录下的某个文件的大小,从而继续后续的业务;如下的方法是各个平台通用的方法,简洁实用,已经验证和测试过:#include <stdint.h>#include <stdio.h>#include <stdlib.h>#include <sys/stat.h>#include <sys/typ...原创 2018-11-20 18:11:58 · 770 阅读 · 0 评论 -
Linux中获取目录可用空间API
Linux下使用fstatfs/statfs查询系统相关信息1. 功能#include < sys/statfs.h >int statfs(const char *path, struct statfs *buf);int fstatfs(int fd, struct statfs *buf);查询文件系统相关的信息。2. 参数path: 需要查询...原创 2018-08-27 14:30:35 · 1301 阅读 · 0 评论 -
TCP/UDP的接收缓冲区和发送缓冲区
1、TCP. SO_RCVBUF & TCP. SO_SNDBUF每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的流量(拥塞)控制便是依赖于这两个独立的buffer以及buffer的填充状态。1.1 接收端冲区接收缓冲区把数据缓存入内核,应用进程一直没有调用recv()进行读取的话,此数据会一直缓存在相应socket的接收...原创 2018-11-23 15:25:30 · 16912 阅读 · 1 评论 -
MQTT的实际应用
1、MQTT简介MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的轻量级协议,该协议构建于TCP/IP协议之上,MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。最大的优点:可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽...原创 2018-12-22 15:45:07 · 3435 阅读 · 0 评论 -
联网增强型Linux
安装联网增强型Linux1、安装dkms因为使用的yum源要求的KEY验证不正确,所以需要把文件下载到本地,然后强制安装,使用如下命令执行:$ sudo yum install dkms --downloadonly--downloaddir=/home/ec2-user/ -y$ sudo rmp -ivh --force --nodepsdkms-2.2.0.3-34.git.原创 2017-07-17 14:39:46 · 834 阅读 · 0 评论