PT工具之Docker全家桶+HTTPS详细配置教程

2023-05-16

一、前言

因为使用Docker的隔离性、可移植性比较好,所以自己使用的服务一般都使用Docker部署,这样每次迁移时将挂载的目录备份即可,不需要考虑机器的版本和兼容性,更换设备时基本可以做到一键迁移,而且升级镜像也比较方便。

这次的教程是将PT下载中的一些常用应用都使用docker部署,将之聚合到一篇文章,方便自己查看,也希望能够帮助到有相同需求的朋友。

二、服务简介

(一)服务种类

这次介绍的服务有下面几种:

  • 阿里云DDNS
  • Nginx
  • qBittorrent
  • Transmission
  • IYUUPlus
  • 迅雷快鸟

所有服务均采用docker-compose进行部署,也就是只需要个docker-compose.yml,在Linux环境下,比如盒子里,只需要使用docker-compose up -d命令即可直接运行,在NAS环境下更简单,以威联通为例,点击创建应用程序,将docker-compose.yml中的内容粘贴进去即可,无需任何额外配置。

比如我的威联通的服务基本全部采用docker进行配置:

Containers

Linux环境的docker的安装可以参考我的这篇文章:https://blog.csdn.net/shangyexin/article/details/103910923

(二)适合对象

本文中的内容因为涉及到DDNS和Nginx反向代理,所以最适合的用户是有公网IP和域名的朋友;如果没有的话,可以跳过DDNS和Nginx,直接看相关服务的部署,同时服务部署完成后,需要在内网访问。

如果你符合下面所有条件,恭喜你,你就是本文最佳目标读者:

  • 喜欢使用Docker部署服务
  • 有动态公网IP
  • 有域名
  • 会申请证书
  • 需要使用https

(三)网络架构

主要服务的网络架构如下:

network

因为如果你要在外网使用服务的话,使用http就等于裸奔,你网络链路上的任何一个环节都可以看到你输入的账号和密码,所以墙裂建议使用https

几块钱买一个域名,然后证书的申请很简单,阿里和腾讯都有免费的一年证书,动手能力再强一点的,可以使用Let's Encrypt自动颁发证书,自动续期。

三、服务部署

好了,啰里啰唆这么多,终于到了我们服务部署的环节。

(一)阿里云DDNS

1.前提条件

DDNS相信已经不需要我详细介绍,简单点说就是你的公网IP每次拨号后会改变,每次IP改变后自动将你的域名解析到新的IP,这样你只要访问你的域名,就可以持续访问到你的服务。

前提条件:

  • 有公网IP
  • 已经在阿里云购买域名
  • 已经获取AccessKey

关于AccessKey的获取可以参考我的这篇文章:

https://blog.csdn.net/shangyexin/article/details/105572102

2.配置文件

docker-compose.yml参考:

version: '3.2'

services:
  ddns:
    image: chenhw2/aliyun-ddns-cli
    container_name: ddns
    restart: always
    environment:
      AKID: 获取到的AccessKey ID
      AKSCT: 获取到的AccessKeySecret
      DOMAIN: 你要解析的域名
      REDO: 60

3.创建容器

这里以威联通为例,打开Container Station,点击创建,点击创建应用程序,将上面的yml中内容粘贴进去即可,验证OK后点击创建。

create

(二)Nginx

这里的Nginx主要作用是对其他服务进行反向代理,我们和Nginx之间的通信采用https加密,Nginx和内网的服务采用http进行通信,这样有下面几个好处:

  • Nginx一般比服务自带的https兼容性好
  • 证书统一管理,同一个域名只需要部署一份证书
  • 方便后期证书升级更换
  • 内网可以正常使用http访问服务,防止https配置错误时无法访问服务

1.准备工作

去你购买域名的服务商处申请证书,然后选择Nginx服务器证书下载,一般是一个pem文件和一个key文件。

2.使用docker部署nginx

这里我们使用host模式部署nginx,这样后期可以直接进行代理而不需要再expose新的端口。

需要注意的是,下面的/share/CACHEDEV3_DATA/Docker/路径前缀需要替换为你机器的实际路径,建议所有Docker部署的服务放到统一的文件中进行管理,也方便我们后期进行备份。

这里有2个路径需要我们关注:

  • /share/CACHEDEV3_DATA/Docker/nginx/conf.d:nginx配置文件夹,后面所有服务的配置文件都在这里新增
  • /share/CACHEDEV3_DATA/Docker/nginx/ssl:SSL证书文件夹,我们的证书文件需要放到这个目录

docker-compose.yml参考:

version: '3'

services:
  nginx:
    image: nginx:stable-alpine
    container_name: nginx
    restart: always
    #privileged: true
    environment:
      - TZ=Asia/Shanghai 
    network_mode: "host"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /share/CACHEDEV3_DATA/Docker/nginx/conf.d:/etc/nginx/conf.d
      - /share/CACHEDEV3_DATA/Docker/nginx/log:/var/log/nginx
      - /share/CACHEDEV3_DATA/Docker/nginx/dist:/opt/dist:ro
      - /share/CACHEDEV3_DATA/Docker/nginx/ssl:/ssl:ro

3.部署证书

假设我们下载的证书文件分别是home.shangyexin.com.keyhome.shangyexin.com.pem,将这2个文件放置到你上面配置的证书文件夹,比如/share/CACHEDEV3_DATA/Docker/nginx/ssl

4.启动容器

现在你就可以启动容器了,具体的每个服务的代理设置我们会在相应的服务中分别讲解。

(三)qBittorrent

1.配置文件

docker-compose.yml参考:

version: "3.2"

services:
  qbittorrent:
    image: linuxserver/qbittorrent
    container_name: qbittorrent
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=Asia/Shanghai
      - UMASK_SET=022
      - WEBUI_PORT=8081
    volumes:
      - /share/CACHEDEV3_DATA/Docker/qbittorrent/config:/config
      - /share/CACHEDEV3_DATA/Multimedia/QBDownloads:/downloads
    ports:
      - 10681:10681
      - 10681:10681/udp
      - 8081:8081
    restart: unless-stopped

2.配置解释

(1)PUIDPGID

这是容器里启动服务的用户的用户UID和GID,一般是为了限制容器服务的权限,比如你可以在NAS里,新建一个docker用户,所有的docker服务都用这个权限来启动。

用户新建完成后,ssh登陆NAS后,使用cat /etc/passwd查看这个用户的UID和GID,比如像这样:docker:x:1000:100:Linux User,,Docker服务用户,:/share/homes/docker:/bin/sh,然后修改上面的PIUD=1000PGID=100,如果你没有这个需求,不用管这个选项即可。

(2)WEBUI_PORT

这里需要改成你web想要访问的端口,服务启动后,输入IP+端口才能访问到你的服务。注意的是配置文件中的ports选项的第三行需要同步将这个端口expose出来,也就是这里的端口需要改成和WEBUI_PORT一样的端口。

(3)ports

这里的10681需要改成你实际使用,qbittorrent用来传入连接的端口,这个和你的WEB端口是两个东西,是BT下载用的。这个端口,路由器里面需要配置端口转发,你的qbittorrent配置里也要配置成相同端口。

qb_ports

这里多说一句,因为我路由器里配置的端口范围转发,比如转发10000-11000所有范围的端口到我的NAS,这样只要我NAS的所有服务都配置成这个范围的端口,就不需要为每个端口进行转发配置。

(4)volumes

这里是将的宿主机的磁盘挂载到容器里面去,这样我们可以直接修改文件而不需要进入容器。

  • /share/CACHEDEV3_DATA/Docker/qbittorrent/config,qb的配置文件夹,改成你的实际设备路径,后期的种子文件夹可以直接去这个里面找。
  • /share/CACHEDEV3_DATA/Multimedia/QBDownloads: 下载文件夹,你下载所有文件都在这个文件夹。

3.反向代理

这个时候,如果你一切操作都OK的话,你已经可以在内网访问到你的qBittorrent了,比如你的NAS的IP地址是192.168.31.8,在内网你输入http://192.168.31.8:8081应该就可以访问到qBittorrent了。

但是如果我们还想上https,增加我们在外网访问的安全性,还需要使用Nginx进行反向代理配置。

(1)配置文件

还记得我们上面的Nginx配置文件路径吗,比如/share/CACHEDEV3_DATA/Docker/nginx/conf.d,使用SSH登入系统,使用cd命令进入当前文件夹,使用vim或者直接用sftp将当前配置文件复制到这个目录即可。

配置文件qbittorrent.conf,文件名可以修改,但是一定要使用conf后缀名:

server {
  listen 10081 ssl http2;
  listen [::]:10081 ssl http2;

  server_name home.shangyexin.com;

  ssl_certificate /ssl/home.shangyexin.com;
  ssl_certificate_key /ssl/home.shangyexin.com;
  client_max_body_size 100G;

  location / {
      proxy_pass http://127.0.0.1:8081;
      proxy_set_header Host 127.0.0.1:8081;
      proxy_set_header X-Forwarded-Host $http_host;
      proxy_set_header X-Forwarded-For $remote_addr;
  }

  proxy_cookie_path / "/; Secure";
}

(2)配置解释

这里的listen端口10081需要改成你配置过转发的端口,也就是你在外网能够访问到端口,比如我们的8081没有配置转发,所以在外网无法使用http进行访问。

server_name改成你的实际域名。

ssl_certificate因为我们已经将容器内的ssl文件夹映射到宿主机的/share/CACHEDEV3_DATA/Docker/nginx/ssl文件夹,所以这里不用修改,只需要你将证书文件放到你映射的文件夹即可。

http://127.0.0.1:8081中的端口改成你设置的内网WEBUI_PORT端口。

client_max_body_size:可选项,比如用于一次性添加大量种子。

(3)配置生效

只需要重启Nginx即可使我们的配置生效,因为我们的Nginx也是使用docker配置的,所以重启Nginx这个容器就行了。

这时候在浏览器中输入你的域名加端口即可在外网使用https进行访问,以增加我们账号密码的安全性:

https://home.shangyexin.com:10081

(四)transmission

1.配置文件

docker-compose.yml参考:

version: "3.2"

services:
  transmission:
    image: lscr.io/linuxserver/transmission
    container_name: transmission
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=Asia/Shanghai
      - TRANSMISSION_WEB_HOME=/transmission-web-control/
      - USER=your_user_name
      - PASS=your_passwd
    volumes:
      - /share/CACHEDEV3_DATA/Docker/transmission/config:/config
      - /share/CACHEDEV3_DATA/Network/transmission/downloads:/downloads
      - /share/CACHEDEV3_DATA/Network/transmission/watch:/watch
      - /share/CACHEDEV3_DATA/Multimedia/QBDownloads:/qbdownloads
    ports:
      - 9091:9091
      - 10413:10413
      - 10413:10413/udp
    restart: unless-stopped

2.配置解释

(1)PUIDPGID

同上面的qbittorrent

(2)TRANSMISSION_WEB_HOME

这是WEB_UI的风格,这里改成中文的,很多人习惯使用的/transmission-web-control/

(3)USERPASS

改成你想设置的用户名和密码。

(4)volumes

这里是将的宿主机的磁盘挂载到容器里面去,前面需要改成你设备的实际路径。

  • config:配置目录,后面的种子文件夹在这里面
  • downloads:下载目录
  • watch:种子监控目录
  • qbdownloads: 可选项,这样transmission可以访问到qbittorrent的下载文件

(5)ports

左边的的9091需要改成你实际使用,右边容器内的端口不能改,但这里建议不修改,这里的端口就是我们web访问的端口。

这里的10413需要改成你实际使用,transmission用来传入连接的端口,这个端口,路由器里面需要配置端口转发,你的transmission配置里也要配置成相同端口。

tr_ports

3.反向代理

这个时候,如果你一切操作都OK的话,你已经可以在内网访问到你的transmission了,比如你的NAS的IP地址是192.168.31.8,在内网你输入http://192.168.31.8:9091应该就可以访问到transmission了。

但是如果我们还想使用https,增加我们在外网访问的安全性,还需要使用Nginx进行反向代理配置。

(1)配置文件

还记得我们上面的Nginx配置文件路径吗,比如/share/CACHEDEV3_DATA/Docker/nginx/conf.d,使用SSH登入系统,使用cd命令进入当前文件夹,使用vim或者直接用sftp将当前配置文件复制到当前目录即可。

配置文件transmission.conf,文件名可以修改,但是一定要使用conf后缀名:

server {
  listen 10091 ssl http2;
  listen [::]:10091 ssl http2;

  server_name home.shangyexin.com;

  ssl_certificate /ssl/home.shangyexin.com.pem;
  ssl_certificate_key /ssl/home.shangyexin.com.key;
  client_max_body_size 100G;

  location / {
      proxy_redirect off;
      proxy_pass http://127.0.0.1:9091;
      proxy_set_header Host $http_host;
  }
}

(2)配置解释

这里的listen端口10091需要改成你配置过转发的端口,也就是你在外网能够访问到端口,比如我们的8081没有配置转发,所以在外网无法使用http进行访问。

server_name改成你的实际域名。

ssl_certificate因为我们已经将容器内的ssl文件夹映射到宿主机的/share/CACHEDEV3_DATA/Docker/nginx/ssl文件夹,所以这里不用修改,只需要你将证书文件放到你映射的文件夹即可。

http://127.0.0.1:9091中的端口改成你设置的内网端口。

client_max_body_size:可选项,比如用于一次性添加大量种子。

(3)配置生效

只需要重启Nginx即可使我们的配置生效,因为我们的Nginx也是使用docker配置的,所以重启Nginx这个容器就行了。

这时候在浏览器中输入你的域名加端口即可在外网使用https进行访问,以增加我们账号密码的安全性:

https://home.shangyexin.com:10091

(五)IYUUPlus

篇幅所限,这里不讲解软件的详细使用,只有部署服务的流程。

1.配置文件

docker-compose.yml参考:

version: "3.2"

services:
  iyuuplus:
    image: iyuucn/iyuuplus
    container_name: iyuuplus
    volumes:
      - /share/CACHEDEV3_DATA/Docker/iyuuplus/db:/IYUU/db
      - /share/CACHEDEV3_DATA/Docker/qbittorrent/config/qBittorrent/BT_backup:/BT_backup
      - /share/CACHEDEV3_DATA/Docker/transmission/config/torrents:/torrents
    ports:
      - 8787:8787
    restart: unless-stopped

2.配置解释

(1)volumes

这里是将的宿主机的磁盘挂载到容器里面去,前面需要改成你设备的实际路径。

  • /share/CACHEDEV3_DATA/Docker/iyuuplus/db:程序数据库存放位置,改成机器中你想放置的任意路径
  • /share/CACHEDEV3_DATA/Docker/qbittorrent/config/qBittorrent/BT_backup:这是前面qBittorrent里配置文件的路径,这里更加详细点,是种子的存放目录的绝对路径
  • /share/CACHEDEV3_DATA/Docker/transmission/config/torrents:这是前面transmission里配置文件的路径,这里更加详细点,是种子的存放目录的绝对路径

3.反向代理

这个时候,如果你一切操作都OK的话,你已经可以在内网访问到你的IYUUPlus了,比如你的NAS的IP地址是192.168.31.8,在内网你输入http://192.168.31.8:8787应该就可以访问到IYUUPlus了。

但是如果我们还想使用https,增加我们在外网访问的安全性,还需要使用Nginx进行反向代理配置。

(1)配置文件

还记得我们上面的Nginx配置文件路径吗,比如/share/CACHEDEV3_DATA/Docker/nginx/conf.d,使用SSH登入系统,使用cd命令进入当前文件夹,使用vim或者直接用sftp将当前配置文件复制到当前目录即可。

配置文件iyuuplus.conf,文件名可以修改,但是一定要使用conf后缀名:

server { 
  listen 10787 ssl http2;
  listen [::]:10787 ssl http2;
  
  server_name home.shangyexin.com;

  ssl_certificate /ssl/home.shangyexin.com.pem;
  ssl_certificate_key /ssl/home.shangyexin.com.key;
  
  location / {
      proxy_redirect off;
      proxy_pass http://127.0.0.1:8787;
      proxy_set_header Host $http_host;
  }
}

(2)配置解释

这里的listen端口10787需要改成你配置过转发的端口,也就是你在外网能够访问到端口,比如我们的8787没有配置转发,所以在外网无法使用http进行访问。

server_name改成你的实际域名。

ssl_certificate因为我们已经将容器内的ssl文件夹映射到宿主机的/share/CACHEDEV3_DATA/Docker/nginx/ssl文件夹,所以这里不用修改,只需要你将证书文件放到你映射的文件夹即可。

http://127.0.0.1:8787中的端口改成你设置的内网端口。

(3)配置生效

只需要重启Nginx即可使我们的配置生效,因为我们的Nginx也是使用docker配置的,所以重启Nginx这个容器就行了。

这时候在浏览器中输入你的域名加端口即可在外网使用https进行访问,以增加我们账号密码的安全性:

https://home.shangyexin.com:10787

(六)迅雷快鸟

这里只适合迅雷超级VIP用户,或者迅雷快鸟用户,可以自己到官网看相应的资费,上行最高提高到50M,下行最高提高到700M,但是一定要到官网看看自己有没有办法提速和实际能提速多少,比如我就是将200M下行提速到了500M下行。

好处就是可以按月购买以及比有的地方的官方提速包要便宜些,至于使用容器的好处就是不需要电脑打开迅雷客户端才提速,可以一直保证家中的带宽是提速状态。

1.配置文件

docker-compose.yml参考:

version: "3.2"

services:
  xunlei:
    image: scjtqs/xunlei-fastdick
    container_name: xunlei
    environment:
      - XUNLEI_UID=your_xunlei_username
      - XUNLEI_PASSWD=your_xunlei_passwd
    restart: unless-stopped

2.配置解释

没啥好解释的,XUNLEI_UIDXUNLEI_PASSWD换成你的迅雷用户名和密码就行了,看docker输出的日志是成功后,再测速看看有无成功即可。

xunleikuainiao

四、写在最后

因为篇幅所限,本篇主要写了一些常用的PT工具的docker部署办法,还有一些常用的服务比如个人云盘Nextcloud和个人多媒体服务器Jellyfin等等就不写在这里了。

其实Nextcloud的配置可以参考我的这篇文章:https://blog.csdn.net/shangyexin/article/details/106306680,只是当时针对服务器写的,可能很多东西没有解释的那么详细。

还有本人水平所限,可能文中有很多错误或者不是最优配置,请谅解。

但是容器用多了真的再也回不去了,毕竟谁能够拒绝再也不用为环境而头疼,几分钟内立刻搭建好自己常用的服务呢。

希望多多少少能帮助到一些人吧。

Enjoy it now.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PT工具之Docker全家桶+HTTPS详细配置教程 的相关文章

  • 用Navicat Premium连接数据库!

    Navicat Premium介绍 Navicat Premium 是一套数据库开发工具 xff0c 让你从单一应用程序中同时连接 MySQL MariaDB MongoDB SQL Server Oracle PostgreSQL 和 S
  • 介绍一款非常好用的截图软件-《Snipaste》

    目录 Snipaste介绍 Snipaste下载 Snipaste功能介绍 总结 Snipaste介绍 非常好用的截图软件 xff0c 一句话 xff0c 非常非常好用 xff0c 比你用过任何的截图软件都好用 xff0c 不好用你顺着网线
  • 推荐一款卸载软件的小工具-《UninstallToo》

    目录 UninstallToo介绍 UninstallToo下载 UninstallToo使用 总结 UninstallToo介绍 Uninstall Tool 是一款可以用来替代 添加 删除程序 的工具 它允许您显示隐藏的安装程序 xff
  • 【MySQL】下载(超详细教程)

    目录 First 下载 Second 安装 Third 检测是否安装 Last 总结 First 下载 首先 xff0c 我们一步一步跟着我的操作来 xff0c 不能越步骤 xff0c 很容易报错 xff0c 就芭比Q了 第一步直接进入这个
  • 【ASP. Net Mvc】毕设之【在线考试项目】

    前提 这个项目是毕设 xff0c 是用asp net mvc和SQL server数据库完成的 xff0c 分为前端和后台 后台功能 xff1a 老师添加试卷 xff0c 上传试卷 xff0c 审核试卷 xff0c 管理学生 前端功能 xf
  • 继承——Person为父类,Teacher和Student都继承Person

    一 题目 按照要求完成以下操作 创建Person xff0c Teacher xff0c Student类 其中 xff0c Person为父类 xff0c Teacher和Student都继承Person Person中有属性 xff1a
  • c语言求数组中10 个整数中最大值

    c语言求数组中10 个整数中最大值 要求在数组中输入10个整数 xff0c 输出最大值 这里先用一种简单的方法 xff0c 创建一个变量max xff1d 0 xff0c 用max与这10个数依次比较 xff0c 如果比max大就把它的值赋
  • c语言详细解答辗转相除法求两个数的最小公倍数

    C语言详细解答辗转相除法求两个数的最小公倍数 1 辗转相除法的用法 最大公约数 辗转相除法是用一个大的数除以一个小的数 xff0c 如果有余数 xff0c 就用被除数 余数 xff0c 如果还有余数就继续用 xff08 上一个公式的 被除数
  • Linux 嵌入式 笔记 NFS网络文件系统

    文章目录 Linux 嵌入式 笔记 提示 xff1a 写完文章后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 文章目录前言一 nfs 相关命令二 原理1 第一点2 第二点 总结 前言 注意 xff1a
  • linux下cpu锁定频率以及频率设置

    linux下cpu锁定频率以及频率设置 环境如下 ubuntu22 04cpu为5700g 前期准备 使用工具为 xff1a cpufrequtils span class token function sudo span span cla
  • CentOS7安装xrdp(windows远程桌面连接linux)

    前提 CentOS安装桌面 xff0c 如果无桌面 xff0c 请执行 xff1a yum y groups install 34 GNOME Desktop 34 startx 方法一 配置源 yum install epel y 安装x
  • Linux CPU超频设置

    查看当前cpu运行频率 xff1a cat proc cpuinfo grep i cpu mhz 开始设置 xff1a cpupower c all frequency set g performance 或者 cpupower freq
  • Ozone调试经验总结

    如何查看内存 view gt memory打开内存窗口即可查看 如何读写内存 Target ReadU32 addr Target WriteU32 addr value 遇到不会的 xff0c 可以使用help命令找找看
  • 元宇宙创作者必备技能TouchDesigner

    元宇宙的资源清单又更新啦 github com shadowcz007 awesome metaverse 感谢ML211 提供线索metaworld app 感谢ML1462 提供线索 The Sims Resource opus Git
  • 栈的入栈和出栈的顺序规律

    栈的入栈和出栈的顺序规律是先进后出 xff0c 所以出栈的可能数目跟入栈的可能排列数目是一致的 a的出入有2中可能 xff0c b的出入有2种可能 xff0c c的出入有2种可能 xff0c d只需要关系入 xff0c 只有一种可能 所以出
  • TCP和UDP协议发送数据包的大小

    在进行UDP编程的时候 我们最容易想到的问题就是 一次发送多少bytes好 当然 这个没有唯一答案 xff0c 相对于不同的系统 不同的要求 其得到的答案是不一样的 这里仅对像ICQ一类的发送聊天消息的情况作分析 xff0c 对于其他情况
  • Nodejs开发:如何让node app的程序一直运行?

    情境 运行nodejs的程序 xff0c 使用命令 xff1a node xxx js xff0c 但是关掉终端 xff0c 程序也关闭了 xff0c 如何让node app的程序一直运行 xff1f 解决 1 安装forever npm
  • Godot基础教程02:全都是节点

    在这里先劝退一波人 xff1a 本教程只会涉及2D内容 xff0c 不会涉及3D内容 创建节点 接上一章 xff0c 在左侧的场景面板中 xff0c 可以看到 xff1a 由于本教程只讲2D内容 xff0c 所以这里我们应该选择2D场景 x
  • docker安装gitlab-ce镜像,使用其他端口,亲测可用

    首先鄙视一下那些直接复制粘贴当自己博文的 xff0c 误导别人 xff0c 害我改了好久T T 安装步骤 xff1a 创建数据目录 mkdir p data gitlab config mkdir p data gitlab logs mk
  • iOS 录音,播放,转码MP3,上传语音文件

    语音文件 AVAudioRecorder recorder NSTimer timer NSString urlPlay BOOL isPlay pragma mark 61 61 61 61 61 61 61 61 61 语音文件 61

随机推荐

  • CentOS使用yum安装MySQL5.7报检索密钥错误解决方法

    在CentOS上使用yum安装MySQL时检索密钥错误的解决方法 参考 使用yum安装MySQL时报错 yum y install mysql mysql server yum y install mysql community serve
  • 安装django

    使用pip安装 pip install django 61 61 span class hljs string 39 1 8 39 span 检查django版本 python c span class hljs string 39 imp
  • python,pycharm报错 ModuleNotFoundError: No module named PIL最简单的解决方法

    python pycharm报错 ModuleNotFoundError No module named 39 PIL 最简单的解决方法 1进入cmd命令 2输入pip install Pillow即可 如图 如果对你有帮助 xff0c 请
  • docker中使用Ubuntu中文乱码问题解决

    一 前言 最近在docker中使用Ubuntu作为编译环境 xff0c 遇到了中文乱码情况 xff0c 分为不同的解决场景 xff0c 下面分别给出解决方法 下面的方法都不是将系统的语言修改为中文 xff0c 而是能够正确显示和输入中文 g
  • 在docker的centos镜像中使用systemctl启动slapd服务报错

    前言 使用docker搭建服务环境 xff0c 拉取了一个Centos7镜像 xff0c 在镜像中使用systemctl命令启动sladpd服务 xff0c 已经使用 privileged 61 true启用特权模式 xff0c 但还是报错
  • 逻辑卷管理器(LVM)

    一 什么是LVM xff1f LVM Logical Volume Manager 逻辑卷管理是在Linux2 4内核以上实现的磁盘管理技术 它是Linux环境下对磁盘分区进行管理的一种机制 现在不仅仅是Linux系统上可以使用LVM这种磁
  • Ubuntu使用Docker搭建编译环境完整教程

    前言 因为只有一台编译服务器 xff0c 但是我们需要在服务器上搭建不同的编译环境 xff0c 不同的编译环境区别巨大 xff0c 甚至可能需要是不同的Ubuntu版本 xff0c 所以我们可以使用Docker xff0c 搭建不同的编译环
  • 最新Gerrit2.16.15版本用户指南-中文文档

    这是为Gerrit最终用户准备的Gerrit指南 它说明了标准的Gerrit工作流程以及指导用户可以根据个人喜好来设置并使用Gerrit 为了更好地理解本指南 xff0c 读者最好了解Git xff0c 并熟悉基本的git命令和工作流程 什
  • Ubuntu 14.04安装Sambaf服务并设置为开机启动

    1 需求 我的需求是将Ubuntu服务器上的用户目录 xff08 比如 home yasin xff09 映射给Windows访问 xff0c 这样就可以在Windows下编辑代码 xff0c 修改完成后在Linux环境编译 2 安装 sp
  • Git Commit message编写指南

    一 Commit message 的作用 格式化的Commit message xff0c 有几个好处 1 提供更多的历史信息 xff0c 方便快速浏览 比如 xff0c 下面的命令显示上次发布后的变动 xff0c 每个commit占据一行
  • Windows下写代码并使用 SSHFS快速部署到 Linux 进行调试

    前言 很多时候 xff0c 因为不熟悉vim或者更喜欢Windows下的一些IDE xff0c 我们需要在Windows写代码并部署到Linux服务器上进行调试 相信很多程序员都有这个需求 xff0c 也有很多自己的解决方法 常见的有使用G
  • Android开发——java.lang.SecurityException: Permission Denial

    记录一个在日常开发当中遇到的错误 xff1a java lang SecurityException Permission Denial startForeground from pid 61 2345 uid 61 10395 requi
  • OpenWrt打开和关闭指定端口shell脚本

    最近使用小米路由器插件Misstar Tools xff0c 因为它在小米路由器3上使用的端口为1024 xff0c 而且没有密码 xff0c 所以把这个端口暴露在公网上就非常不安全 但有时候我们确实就想在公网上使用这个插件 xff0c 比
  • Windows使用阿里云RAM访问控制API实现自建DDNS动态域名解析

    前言 因为最近将家里的电信宽带换成了公网IP xff0c 在二手鱼上面淘了点破烂 xff0c 搭建了一些服务 xff08 比如NAS xff09 而电信的公网IP并不是固定的 xff0c 要想持续稳定的访问到搭建的服务 xff0c 我们可以
  • 使用rsync每天自动进行远程增量备份的shell脚本

    rsync incremental backup 可配置的bash脚本 xff0c 使用rsync将数据的增量备份发送到本地或远程目标 项目地址 xff1a https github com pedroetb rsync increment
  • 使用docker-compose搭建Nextcloud个人云盘并开启https教程

    一 前言 之前一直采用LANMP直接搭建服务 xff0c 但后来使用docker后 xff0c 搭建和迁移数据都很方便 xff0c 所以将服务都容器化 下面介绍一下使用docker compose搭建Nextcloud xff0c 并且使用
  • 使用docker-compose搭建WordPress网站并开启https教程

    一 前言 之前一直采用LANMP直接搭建服务 xff0c 但后来使用docker后 xff0c 搭建和迁移数据都很方便 xff0c 所以将服务都容器化 下面介绍一下使用docker compose搭建WordPress网站 xff0c 并且
  • 使用Docker搭建自己的在线密码管理器软件-Bitwarden

    前言 因为现在网络安全问题愈发严重 xff0c 黑客经常通过互联网已泄露的用户和密码信息进行撞库攻击 xff0c 而且很多用户在不同网站使用的是相同的帐号密码 xff0c 所以为不同的网站设置不同的密码就非常重要 但密码不同尤其是使用随机生
  • 如何在Docker容器里开启fail2ban防止SSH暴力破解

    一 前提介绍 Docker容器里开启了SSH服务 xff0c 但是发现有大量的暴力破解进程 xff0c 需要使用fail2ban防止SSH暴力破解 xff0c 将攻击的IP拉黑 二 原因分析 但是直接安装fail2ban xff0c 和没有
  • PT工具之Docker全家桶+HTTPS详细配置教程

    一 前言 因为使用Docker的隔离性 可移植性比较好 xff0c 所以自己使用的服务一般都使用Docker部署 xff0c 这样每次迁移时将挂载的目录备份即可 xff0c 不需要考虑机器的版本和兼容性 xff0c 更换设备时基本可以做到一