部署思源Docker最新版2.10.0并启用https(小白向)

部署思源Docker最新版2.10.0并启用https(小白向)

前置条件

  • Linux系统,本文基于 Centos 8 ,Centos 7 也适用,其余发行版本命令可能略有不同如果报错自行百度

  • 具有公网 IP

  • 安装Docker 和 Docker-compose

安装docker和docker-compose
# 如果之前安装过旧版本的Docker,可以使用下面命令卸载:
 yum remove docker \
                   docker-client \
                   docker-client-latest \
                   docker-common \
                   docker-latest \
                   docker-latest-logrotate \
                   docker-logrotate \
                   docker-selinux \
                   docker-engine-selinux \
                   docker-engine \
                   docker-ce

# 使用官方安装脚本自动安装 docker 
# 安装命令如下:
 curl -fsSL https://get.docker.com -o get-docker.sh
 sudo sh get-docker.sh

# 使用以下命令来安装稳定版本的 docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 将可执行权限应用于二进制文件:
sudo chmod +x /usr/local/bin/docker-compose
# 创建软链:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 测试是否安装成功:
docker-compose version
# 无报错返回版本号则成功
正式部署思源
  1. 创建SiYuan文件夹
mkdir SiYuan
cd SiYuan
vim docker-compose.yml
  1. 往 docker-compose.yml 中写入命令
version: '3'

services:
  siyuan:
    image: b3log/siyuan:latest
    container_name: siyuan
    restart: always
    volumes:
      - /root/SiYuan:/root/Documents/SiYuan
    command: [--workspace=/root/Documents/SiYuan,--ssl=true,--accessAuthCode=yy401,--lang=zh_CN]
    network_mode: "host"
~

写入完成后按一下 esc 按键,然后输入 :wq 保存并退出

  1. 启动docker-compose
# 首次启动进行测试,关闭命令行或 Ctrl + C 都会结束程序
docker-compose up

# 注意: 大部分云服务商都启动用了防火墙或策略组,需要到对应的服务商开启 6806 80 443 端口,否则可能无法访问
# 打开linux 防火墙 6806 和 443 ,80 端口
# 如果您使用的是iptables,可以使用以下命令打开端口:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 6806 -j ACCEPT
sudo service iptables save

# 如果您使用的是firewalld,可以使用以下命令打开端口:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --zone=public --add-port=6806/tcp --permanent
sudo firewall-cmd --reload
  1. 打开浏览器,在地址栏输入ip:6806 能够正常看到授权页面,如图

image

  1. 设置后台启动
# 首先 Ctrl + C 停掉刚才运行的思源
docker-compose up -d
# -d 表示后台运行
  1. 安装nginx
# nginx添加yum repro库中
wget https://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
 # 建立nginx的yum仓库
 rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
# 安装 nginx
yum install nginx -y
# 中间需要输入 y 确认安装
# 启动nginx 并且设置为开机启动
sudo systemctl start nginx

访问 ip:80 能够看到nginx 欢迎页面

  1. 配置 nginx
cd /etc/nginx
mv nginx.conf nginx_cp.conf
mkdir /var/cache/nginx/client_temp
mkdir /var/cache/nginx/proxy_temp;
mkdir /var/cache/nginx/fastcgi_temp
vim nginx.conf

写入以下内容:

error_log /var/log/nginx/error.log warn;  
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
events {
   worker_connections  10240;
   use epoll;                  # 使用epoll网络模型,提高性能
   multi_accept on;           # 开启支持多个连接同时建立

}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    tcp_nopush on;
    keepalive_timeout  65;
    client_body_temp_path /var/cache/nginx/client_temp;
    proxy_temp_path /var/cache/nginx/proxy_temp;
    fastcgi_temp_path /var/cache/nginx/fastcgi_temp;

    # 代理参数
    proxy_connect_timeout 10s;       # 连接超时时间
    proxy_send_timeout 10s;         # 发送超时时间
    proxy_read_timeout 10s;         # 接收超时时间
    proxy_buffer_size 16k;          # 缓冲区大小
    proxy_buffers 4 32k;            # 缓冲区个数和大小
    proxy_busy_buffers_size 64k;    # 忙碌缓冲区大小
    proxy_temp_file_write_size 64k; # 代理临时文件写入大小

    client_max_body_size     50m;
    client_body_buffer_size  10m; 	  
    client_header_timeout    1m;
    client_body_timeout      1m;
    # 定义日志格式,main是默认的日志格式
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent" "$http_x_forwarded_for"';

    # 默认访问日志保存路径和格式
    access_log /var/log/nginx/access.log main;

    gzip on;
    gzip_min_length  1k;
    gzip_buffers     4 32k;
    gzip_comp_level  6;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;

server{
    listen 443 ssl;
    server_name siyuan.qlwechat.cn;# 这里替换为你的域名
    ssl_certificate        siyuan.qlwechat.cn.pem; # 这里替换为你的ssl证书
    ssl_certificate_key  siyuan.qlwechat.cn.key; # 这里替换为你的ssl密钥
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:6806;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'Upgrade';
    }
     location /ws {
        proxy_pass         http://127.0.0.1:6806;
        proxy_read_timeout 60s;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'Upgrade';
    }

}
server{
   listen 80;
        server_name siyuan.qlwechat.cn; # 替换域名
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:6806;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'Upgrade';
    }
     location /ws {
        proxy_pass         http://127.0.0.1:6806;
        proxy_read_timeout 60s;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'Upgrade';
    }
}
}

写入完成后 按 esc 再输入 :wq 保存并退出

  1. 重启nginx
nginx -s reload
  1. 分别访问 http://绑定域名 和 https://绑定域名查看是否能看到授权页面,能看到就表示成功

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值