分类: Linux

使用 Docker Compose 部署 Nextcloud

使用 Docker Compose 部署 Nextcloud,并将配置和数据存储在 /disk2/nextcloud_data 目录中的完整详细步骤,一次性给出: 确保 /disk2/nextcloud_data 目录存在 首先,你需要确保 /disk2/nextcloud_data 目录存在,并且 Docker 进程有读写权限。如果不存在,请创建它: sudo mkdir -p /disk2/nextcloud_data sudo chown -R USER:USER /disk2/nextcloud_data # 将目录所有者改为当前用户 创建 docker-compose.yml 文件 在任意你喜欢的位置(例如 ~/nextcloud),创建一个名为 docker-compose.yml 的文件,并粘贴以下内容: version: ‘3.7’ services: db: image: mariadb:10.6 restart: always volumes: – /disk2/nextcloud_data/db:/var/lib/mysql environment: – MYSQ

阅读全文

Docker Compose 部署 Zabbix 监控栈

使用 Docker Compose 部署完整 Zabbix 监控栈的详细步骤,包括必要的配置文件和命令,一次性给出: 创建项目目录和文件结构 首先,创建一个项目目录,并在其中创建必要的 docker-compose.yml 文件: mkdir zabbix-stack cd zabbix-stack touch docker-compose.yml 此时你的目录结构应该如下: zabbix-stack/ └── docker-compose.yml 配置 docker-compose.yml 将以下配置粘贴到 docker-compose.yml 文件中。这个文件定义了整个 Zabbix 监控栈的服务,包括 zabbix-server, zabbix-web-nginx-mysql, zabbix-agent。同样使用 MySQL 作为 Zabbix Server 的数据库。 version: “3.8” services: mysql-server: image: mysql:8.0 container_name: zabbix-mysql-server restart: alway

阅读全文

使用 Docker Compose 部署完整监控栈(Prometheus、Alertmanager 和 Grafana)

使用 Docker Compose 部署完整监控栈(Prometheus、Alertmanager 和 Grafana)的详细步骤,包括必要的配置文件和命令: 1. 创建项目目录和文件结构 首先,创建一个项目目录,并在其中创建必要的文件: mkdir monitoring-stack cd monitoring-stack mkdir prometheus alertmanager grafana touch docker-compose.yml touch prometheus/prometheus.yml touch alertmanager/alertmanager.yml 此时你的目录结构应该如下: monitoring-stack/ ├── alertmanager/ │ └── alertmanager.yml ├── grafana/ ├── prometheus/ │ └── prometheus.yml └── docker-compose.yml 2. 配置 Prometheus (prometheus/prometheus.yml) 将以下配置粘贴到 promet

阅读全文

Ubuntu 22.04 上安装 Docker并使用国内源(20250108测试有效)

Ubuntu 22.04 上安装 Docker 需要几个步骤。以下是一个详细的指南,包括所有必要的命令和解释: 1. 更新软件包索引: 这是安装任何新软件包前的最佳实践,确保你拥有最新的软件包信息。 sudo apt update 2. 安装必要的软件包以允许 apt 通过 HTTPS 使用仓库: 这些软件包允许你的系统安全地连接到 Docker 的仓库并下载软件包。 sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release apt-transport-https: 允许 apt 使用 HTTPS 协议。 ca-certificates: 包含信任的证书颁发机构 (CA) 的证书。 curl: 一个用于传输数据的命令行工具。 gnupg: GNU Privacy Guard,用于安全地导入 Docker 的 GPG 密钥。 lsb-release: 提供关于 Linux 发行版的信息。 3. 添加 Docker 的官方 GPG 密钥: GPG 密钥用于验证下载的 Docker 软件包的完整性和

阅读全文

Ubuntu 24 环境下使用 LUKS 技术加密磁盘

在 Ubuntu 24 系统下,使用 LUKS 技术加密 /dev/vdb 磁盘,并在每次启动后手动输入密码挂载的详细操作步骤。 请务必注意:以下操作会格式化 /dev/vdb 磁盘上的所有数据,请提前备份重要数据!确保你操作的是正确的磁盘 /dev/vdb,错误的操作可能导致数据丢失。可以使用 lsblk 命令确认磁盘信息。 步骤 1:安装 cryptsetup 工具步骤 1:安装 cryptsetup 工具 如果你的系统还没有安装 cryptsetup,需要先安装它: sudo apt update sudo apt install cryptsetup 步骤 2:加密 /dev/vdb 磁盘 取消挂载 (如果已挂载): 如果 /dev/vdb 已经被挂载,需要先取消挂载。可以使用 mount 命令查看是否已挂载,并使用 sudo umount <挂载点> 命令取消挂载。 格式化磁盘为 LUKS 加密格式: 运行以下命令,这将格式化 /dev/vdb 并设置 LUKS 加密。 sudo cryptsetup luksFormat /dev/vdb 系统会提示你确认操作,输入

阅读全文

自动ban掉对web服务进行暴力扫描的ip

自动ban掉对web服务进行暴力扫描的ip # cat auto_block_ip.sh #!/bin/bash # 定义日志目录路径 LOG_DIR=”/var/log/apache2″ # 获取当前时间减去10分钟的时间戳 TEN_MINUTES_AGO=(date -d “10 minutes ago” “+%d/%b/%Y:%H:%M:%S”) # 临时文件用于存储需要阻止的IP地址及其计数 TEMP_FILE=(mktemp) # 遍历日志目录中的所有日志文件 for LOG_FILE in “LOG_DIR”/*.log; do # 检查文件是否存在且是普通文件 if [[ -f “LOG_FILE” ]]; then # 使用awk处理日志文件,找出所有在最近10分钟内的404响应 # 并按IP地址统计次数 awk -v date=”TEN_MINUTES_AGO” ‘ BEGIN { FS=” “; OFS=”\t”; }4 >= date && 9 == “404” { ip =1; count[ip]++; } END { for (ip in

阅读全文

Solaris 命令使用

查看网络连接: netstat -f inet -n 抓包到文件: snoop -o test -x from 10.1.0.1 网卡状态: ifconfig -a 查看ip: ifconfig -a|grep inet 进程查看: ps -ef CPU占用查看: prstat -a 查看shell程序: echo $SHELL 使用bash做shell: bash 重启: reboot Solaris 10 服务状态: # svcs 查看当前所有的服务状态,可以使用|管道符重定向作更个性化的查找;如 # svcs |grep online 查看当前运行服务 # svcs |grep offline 查看当前停止服务 # svcs |grep inetd 查看inetd 服务状态 关闭ftp、telnet、sendmai 等网络服务: # svcadm disable svc:/network/ftp # svcadm disable svc:/network/telnet # svcadm disable svc:/network/smtp:sendmail   =====

阅读全文

Nginx 配置文件详解

    顶级配置     #定义 Nginx 运行的用户和用户组 user nginx;   #进程文件 pid /var/run/nginx.pid;   #错误日志位置和级别,debug、info、notice、warn、error、crit error_log  /var/log/nginx/error.log warn;   #Nginx worker 的进程数,一般可设置为可用的CPU内核数。 worker_processes 8;   #每个 worker 打开文件描述符的最大数量限制。理论值应该是最多打开文件数(系统的值ulimit -n)与 nginx 进程数相除,但是 nginx 分配请求并不均匀,所以建议与ulimit -n的值保持一致。 worker_rlimit_nofile 65535;   复制代码   修改系统文件打开数量限制: sudo sh -c ulimit -HSn 65535 //临时修改 复制代码   重启后永久生效,则需要设置修改: sudo vim /etc/security/limits.conf 复制代码   在文件尾部添加: * so

阅读全文

MySQL常用命令集锦

一、连接MYSQL。      格式: mysql -h主机地址 -u用户名 -p用户密码     1、连接到本机上的MYSQL。     首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码.     如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>     2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:     mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样)     3、退出MYSQL命令: exit (回车)   &nb

阅读全文

Linux常用系统性能监控命令

监控CPU使用率 使用下面的命令: [root@localhost ~]# gnome-system-monitor 将会出现图形化工具GNOME System Monitor,如下图所示:   监控CPU调度程序运行队列 linux可以使用vmstat命令 vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写, 是实时系统监控工具。该命令通过使用knlist子程序和/dev/kmen伪设备驱动器访问这些数据,输出信息直接打印在屏幕。vmstat反馈的与CPU相关的信息包括: (1)多少任务在运行 (2)CPU使用的情况 (3)CPU收到多少中断 (4)发生多少上下文切换 下面只介绍 Vmstat与CPU相关的参数 vmstat的语法如下: vmstat [delay [count]] 参数的含义如下:   当没有参数时,vmstat则显示系统启动以后所有信息的平均值。有delay时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一个delay时间段的平均信息。当系统有多个CPU时,输出为所有CPU的平均值。 &nb

阅读全文

SED单行脚本快速参考

整理:Eric Pement 译者:Joe Hong 摘自网络. 文本间隔: ——– # 在每一行后面增加一空行 sed G # 将原来的所有空行删除并在每一行后面增加一空行。 # 这样在输出的文本中每一行后面将有且只有一空行。 sed '/^/d;G' # 在每一行后面增加两行空行 sed 'G;G' # 将第一个脚本所产生的所有空行删除(即删除所有偶数行) sed 'n;d' # 在匹配式样“regex”的行之前插入一空行 sed '/regex/{x;p;x;}' # 在匹配式样“regex”的行之后插入一空行 sed '/regex/G' # 在匹配式样“regex”的行之前和之后各插入一空行 sed '/regex/{x;p;x;G;}' 编号: ——– # 为文件中的每一行进行编号(简单的左对齐方式)。这里使用了“制表符” # (tab,见本文末尾关于'\t

阅读全文