【Docker】配置wiki js
wikijs是一个在线多人协作(带git版本管理)的wiki套件 相比于其他wiki的展示功能为主,wikijs将权限管理+多人协作作为了首个要素,其支持富文本编辑器/mardown编辑器/html源码编辑 1.Docker-cli部署 在云服务器安装 https://docs.requarks.io/install/ubuntu 可以跟着官方的指令走,下面节选了最终3个创建容器的命令。 配置密钥 12345678910mkdir -p /etc/wiki## Generate DB secretopenssl rand -base64 32 > /etc/wiki/.db-secret## Create internal docker networkdocker network create wikinet## Create data volume for PostgreSQLdocker volume create pgdata 配置数据库 1234567891011docker create \ --name=db \ -e...
【C语言】可变参数列表
本篇博客让我们来认识一下C语言学习过程中往往被忽略的可变参数列表 所谓可变参数,就是一个不限定参数数量的函数,我们可以往里面传入任意个数的参数,以达成某些目的。 关联:C++11可变模板参数 1.函数123456#include <stdarg.h>void va_start(va_list ap, last);type va_arg(va_list ap, type);void va_end(va_list ap);void va_copy(va_list dest, va_list src); 1.1 va_start1void va_start(va_list ap, last_arg); ap: 这是一个 va_list 类型的对象,它用来存储通过 va_arg 获取额外参数时所必需的信息 这个函数的作用是初始化 ap 变量,它与 va_arg 和 va_end 函数一起使用。 last_arg 是最后一个传递给函数的已知的固定参数,即省略号之前的参数。 要想设置一个带可变参数的函数,函数声明是下面这样的 1void test(int...
【Linux】来写一个udp的服务端+客户端
来写一个udp的代码 1.socket编程接口123456789101112131415161718#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>// 创建 socket 文件描述符 (TCP/UDP, 客户端 + 服务器)int socket(int domain, int type, int protocol);// 绑定端口号 (TCP/UDP, 服务器) int bind(int socket, const struct sockaddr *address, socklen_t address_len);// 开始监听socket (TCP, 服务器)int listen(int socket, int backlog);// 接收请求 (TCP, 服务器)int accept(int socket, struct sockaddr* address, ...
【Linux】man什么都搜不了,No manual entry for xxx的解决方案
man什么都搜不了,No manual entry for xxx的解决方案 系统 CentOS 7.6 1.问题描述今天查手册的时候,发现man什么都查不了。不管是系统接口还是函数,都显示没有入口文档(No manual entry for) 12345678[muxue@bt-7274:~/git]$ man pthread_createNo manual entry for pthread_create[muxue@bt-7274:~/git]$ man bindNo manual entry for bind[muxue@bt-7274:~/git]$ man manNo manual entry for man[muxue@bt-7274:~/git]$ man lsNo manual entry for ls 这可得难受了,要知道,我的博客里面关于接口定义的说明,很多都是从man手册里面复制出来的。 在root下尝试了安装,并yum update更新之后,还是无法使用 于是我就去stackoverflow提了个问题 【点我】...
【Linux】CentOS7.6 升级 gcc/g++
CentOS 7.6 升级 gcc/g++的方法,不一定适用于其他linux系统 1.查看版本12g++ -vgcc -v 当前查看版本,发现是4.8.5,这已经是2015年的旧版本了,对c++11的支持不是很完善,为了方便学习和编写新版本的代码,升级一下还是可以的 如果你的系统上没有gcc/g++,则尝试用下面的方法安装 1yum install -y gcc gcc-c++ 示例 123456789101112[root@bt-7274:~]# yum install -y gcc gcc-c++Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can use subscription-manager to register.Repository epel is listed...
【Vercel】教你部署imsyy/home个人主页
本篇博客教你如何部署一个自己的个人主页 项目地址:https://github.com/imsyy/home 1.fork仓库+vercel部署首先我们点击fork,将仓库复刻到自己的账户 随后进入vercel,点击dashboard-add new-project 选择你复刻的仓库 然后什么都不用改,直接deploy 等待部署成功,点击domains,在这里添加个你自己的域名+解析。否则vercel默认的域名无法直接访问 到这里就已经部署成功了,可以不用管vercel了; 克隆下我们fork的仓库,接下来就是修改配置文件! 备注,env中已有的配置在这里不提 1.1 本地预览本地预览需要我们在本地安装好node.js环境以及npm包管理器,随后安装yarn 1npm install yarn 安装完成后,进入项目所在文件夹,先执行yarn install安装依赖项。 1yarn...
【Docker】配置lsky pro兰空图床
Docker 部署 lsky pro 兰空图床的教程 1.使用Docker部署1.1 命令行命令比较简单,用下面的即可 12345docker run -d \ --name lsky \ -p 14728:80 \ -v /root/docker/lsky:/var/www/html \ halcyonazure/lsky-pro-docker:latest --name 设置容器名字为 lsky -p 设置端口隐射,容器的80端口映射给本地的14728端口 -v 设置存储映射,本地的/root/docker/lsky 映射给 /var/www/html 完成后,进入IP:14728 即可打开你的图床页面 此命令在CentOS7.2云服务器上测试有效,但在我的nas上测试无效 2023.05.17更新:最初写这篇博客的时候,使用的是旧版本的lsky容器。目前新版本的容器已经切换了内部端口为8089,所以新版本的命令如下 12345docker run -d \ --name lsky \ -p 14728:8089 \ -v...
【Python】ValueError:Sample larger than population or is negative的原因
ValueError: Sample larger than population or is negative 的原因以及解决办法 1.出现这几天重构kook-valorant-bot的代码的时候,遇到了这个问题 123456789101112131415161718Job "vip_roll_task (trigger: interval[0:01:20], next run at: 2023-01-25 19:59:21 CST)" raised an exceptionTraceback (most recent call last): File "/home/muxue/.local/lib/python3.10/site-packages/apscheduler/executors/base_py3.py", line 30, in run_coroutine_job retval = await job.func(*job.args, **job.kwargs) File...
【Linux】网络原理
本篇博客让我们一起来了解一下网络的基本原理 1.网络发展背景关于网络发展的历史背景这种东西就不多bb了,网上很容易就能找到参考资料,我的专业性欠缺,文章参考意义也不大。这里只做简单说明。 网络发展经过了如下几个模式: 独立模式:计算机之间相互独立,靠人移动数据 互联模式:多台计算机连接到一起,实现数据共享 局域网LAN:计算机数量增多,通过交换机/路由器连接到一起 广域网WAN:将相隔距离非常远的计算机连在一起 交换机是啥?简单来说就是一个有很多网口的设备,将设备插上去后(一般用的都是RJ45网线)就能相互交流信息。我们家用的WIFI路由器其实已经集成了交换机的功能! 1983年,TCP/IP协议成为ARPANET上的标准协议,人们把1983年称为互联网的诞生时间。 1.1...
【nginx】Docker配置nginx,实现同服务器ip多站点多域名
Docker配置ngnix,实现同服务器ip,多域名映射多站点 1.说明一般情况下,我们的域名映射到ip后,默认访问的是80端口。如果你的服务器只部署了一个服务,这样也是够用的。 但是很多项目对性能的占用并没有那么夸张,一个服务器一个站点未免有些浪费了。虽然我们可以用域名:端口来访问,但是这样对于用户来说并不友好,对于强迫症来说看着很不舒服🤣 这时候,就需要配置反向代理来实现不同域名到服务器不同端口的映射。 1.1 反向代理你可以理解为,反向代理是服务器的一个中间商,其能将80端口的,不同域名来源的请求,导向到服务器上的不同端口 123www.example.com 指向 8080端口aaa.example.com 指向 3000端口这两个域名都映射到服务器公网ip...