cloudreve云盘建设日记(一)
前言最近像建设一个云盘,观望了下各大网盘的程序,最终还是选择了cloudreve我目前选择的是开源免费版,还没找到开心版就先用开源版本了
cloudreve有两种搭建方法,一种是PHP,一种是可执行文件的(后端为go)我使用的是go语言后端的,go语言后端也是官方推荐的一种方法,由于go的性能什么的都比php要好我也是果断选择了这个
cloudreve默认是sqlite作为数据库的,刚开始使用这个数据库是为了方便,但是这个数据库性能低下,并且数据量大了之后cloudreve.db这个数据文件也会不断变大,还有损毁的风险,趁数据量还不大我准备换成mysql储存
db文件转sql文件1sqlite3 /usr/local/cloudreve/cloudreve.db .dump > /usr/local/cloudreve/sqlite_dump.sql
由于导出的sql文件和mysql语法上并不兼容 我们用 mysql2sqlite 这个工具转换下
1python mysql2sqlite.py /usr/local/cloudreve/sqlite_dump.sql &g ...
K8S部署nginx服务
步骤1.先创建namespace123456apiVersion: v1kind: Namespacemetadata: name: nginx labels: name: nginx
2.创建 deployment1234567891011121314151617181920212223242526272829apiVersion: apps/v1kind: Deploymentmetadata: namespace: nginx name: nginx-deploymentspec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest volumeMounts: - name: config-volume mo ...
K8S初学笔记
什么是K8S近年来云原生,云计算飞速发展虽然 Docker 已经很强大了,但是在实际使用上还是有诸多不便,比如集群管理、资源调度、文件管理等等。那么在这样一个百花齐放的容器时代涌现出了很多解决方案,比如 Mesos、Swarm、Kubernetes 等等,其中谷歌开源的 Kubernetes 是作为老大哥的存在。kubernetes 已经成为容器编排领域的王者,它是基于容器的集群编排引擎,具备扩展集群、滚动升级回滚、弹性伸缩、自动治愈、服务发现等多种特性能力。
Kubernetes 解决的核心问题服务发现和负载均衡Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,如果到容器的流量很大,Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。
存储编排Kubernetes 允许您自动挂载您选择的存储系统,例如本地存储、公共云提供商等。自动部署和回滚您可以使用 Kubernetes 描述已部署容器的所需状态,它可以以受控的速率将实际状态更改为所需状态。例如,您可以自动化 Kubernetes 来为您的部署创建新容器,删除现有容器并将它们的所有资源用于新容器 ...
nextcloud折腾日记
登录页
安装 (docker compose)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748version: '2'services: db: image: mariadb:10.5 restart: always command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW networks: - nextcloud_netbridge volumes: - /nextcloud/db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=chen - MYSQL_PASSWORD=nextcloud - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud app: ima ...
debian添加开机启动项
有的时候,经常有自己需要的程序,官方并没有提供添加开机启动的方法,但我们却需要让他们开机启动(比如探针类、飞机类、服务类程序等)。可能有的人会说,可以使用 /etc/rc.local 啊。是可以使用这个,但不是所有的系统都有 rc.local 。今天介绍一个简单的方法,实现将自己需要的程序添加到开机启动项中,并使其在系统启动后自动执行。
首先,进入 /etc/init.d 目录中:
cd /etc/init.d/
然后,我们使用 ls 命令,会发现里面有一些文件。这些文件就是在开机启动时自动运行的程序。我们现在来开始添加一个自定义的开机启动项 MyTest :
vim MyTest
文件名严格区分大小写,请注意!
你可以使用你自己喜欢的文本编辑工具进行编辑工作。此文以 vim 为例。
然后,在继续之前,先看一下开机启动项文件的一个模板:
123456789101112131415 #!/bin/sh ### BEGIN INIT INFO# Provides: [程序名称,唯一]# Required-Start: $network $remote_fs $local_fs# Re ...
MySQL主从复制
前言:为了解决Discuz论坛访问量大或者被攻击的情况
一、主MySQL设置1.编辑主MYSQL 服务器的MySQL配置文件my.cnf,在mysqld下面添加以下参数:log-bin=mysql-bin //开启MYSQL二进制日志 server-id=1 //服务器ID不能重复 binlog-do-db=dzx3 //需要做主从备份的数据库名字 expire-logs-days = 7 //只保留7天的二进制日志,以防磁盘被日志占满
注:如果您使用的是宝塔的MySQL,只需要在mysqld管理-配置修改中的[mysqld]中添加即可,在添加前,请检查上方4个配置项是否存在,如果存在则无需填写!
2.在主服务器添加一个用于主从复制的帐号:登陆MySQL命令行(mysql -u root -p) 密码可在宝塔-数据库-root密码中查看
执行
create user '账号'@'从服务器IP' identified by '密码'; grant all privileges on *.* to '账号'@'从服务 ...
Linux分区工具parted使用教程
一、MBR 和 GPT 区别1.1 MBR
MBR分区表(即主引导记录)大家都很熟悉,是过去我们使用windows时常用的
所支持的最大卷:2T,而且对分区有限制:最多4个主分区或3个主分区加一个扩展分区
1.2 GPT
GPT(即GUID分区表)。是源自EFI标准的一种较新的磁盘分区表结构的标准,是未来磁盘分区的主要形式。与MBR分区方式相比,具有如下优点。
突破MBR 4个主分区限制,每个磁盘最多支持128个分区。支持大于2T的分区,最大卷可达18EB。
对于大于2TB的硬盘,我们需要使用 GPT(GUID 分区表)来进行分区。fdisk 工具并不直接支持 GPT 分区,但我们可以使用 parted 工具来完成分区。
fdisk 和 parted 都是常用的磁盘分区工具,它们各有优势和特点。下面是它们的一些比较:
fdisk:
fdisk 是一个非常古老但广泛使用的工具,几乎在所有 Linux 发行版中都可用。
它简单直接,易于使用和理解,适合进行基本的分区操作。
它提供了交互式的命令行界面,可以方便地创建、删除和修改分区。
fdisk 目前主要支持 MBR(Master ...
GRUB引导-学习笔记(一)
概念BIOS、UEFI、MBR、GPT、GRUB 到底是什么意思?
2.1 BIOS
BIOS(Basic Input Output System),直译成中文名称就是” 基本输入输出系统“。它是一组固化到主板中一个ROM芯片上的程序,它可以从CMOS中读写系统设置的具体信息。此程序保存着计算机最重要的基本输入输出程序、开机后的自检程序和系统自启动程序。
简单来说,BIOS是一个控制电脑中所有输入输出的程序,它可以对主板上的键盘、鼠标、外部接口、频率、电源、磁盘驱动器等方面进行参数控制和调整。
2.2 UEFI
UEFI(Unified Extensible Firmware Interface)则是取代传统BIOS的,相比传统BIOS来说,它更易实现,容错和纠错特性也更强。
传统BIOS主要支持MBR引导,UEFI则是取代传统BIOS,它加入了对新硬件的支持,其中就有支持2TB以上硬盘。
2.3 MBR与GPT
全新硬盘在使用之前必须进行分区格式化,硬盘分区初始化的格式主要有两种,分别为 MBR格式和 GPT格式。
2.3.1 MBR
MBR是传统的分区表类型,当一台电脑启 ...
实现动态封禁IP
背景为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单。对于黑名单之内的 IP ,拒绝提供服务。并且可以设置失效
1.安装Openresty(编译安装)
1wget https://openresty.org/download/openresty-1.19.3.1.tar.gz# 解压openrestytar -zxvf openresty-1.19.3.1.tar.gz
下载缓存插件
1wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz #解压缓存插件tar -zxvf ngx_cache_purge-2.3.tar.gzcd openresty-1.19.3.1/mkdir modules# 把刚解压的ngx_cache_purge移动到该目录下
编译OpenResty选择需要的插件启用, –with-Components 激活组件,–without 则是禁止组件 ,–add-module是安装第三方模块。进入刚刚解压好的openresty-1.19.3.1根目录下执行命令 ...
linux使用rd.break 重置 root 密码
如果您忘记或丢失了 root 密码,您可以重置它。
流程
启动系统,并在 GRUB 引导屏幕上按 e 键进行编辑。
在 linux 行末尾添加 rd.break 参数:
按 Ctrl+x 使用更改的参数引导系统。
将文件系统重新挂载为可写。
1switch\_root:/# mount -o remount,rw /sysroot
更改文件系统的 root。
1switch_root:/# chroot /sysroot
输入 passwd 命令,并按照命令行上显示的说明进行操作。
在下次系统引导时重新标记所有文件。
1sh-4.4# touch /.autorelabel
重新将文件系统挂载为 只读 :
1sh-4.4# mount -o remount,ro /
输入 exit 命令退出 chroot 环境。
再次输入 exit 命令,以恢复初始化并完成系统启动。
注意
SELinux 重新标记过程可能需要很长时间。系统会在进程完成后自动重启。
提示
您可以通过添加 enforcing=0 选项来省略耗时的 SELinux 重新标记过程。
流程
当在 l ...