微信咨询

微信咨询

13610*910*9

服务热线 7*24小时

电话咨询

明道云私有部署安装笔记

iamdu2025-06-10 00:25:07 浏览: 984

如果需要服务器管理面板如 1panel ,请先安装好1panel 再安装明道云,以免冲突,安装好1panel,再按下面的流程走一遍明道云的安装

准备工作:

1.已备案域名,解析到已购买的服务器 (如:hap.btaotao.com)也可以绑定一级域名

2.购买服务器 官方要求最低配置 8核32G 30M 带宽。我试了感觉还是有些卡,也可能服务器的问题

3.服务器安全组开放端口:8880 38880 443 38881 80

4.下载 termius SSH工具进行后续安装部署

=====================

明道云私有部署步骤:

按着官方的步骤一步步安装就好了,https://docs-pd.mingdao.com/deployment/docker-compose/standalone/demo (其实就是先安装docker ,再用docker安装明道云私有部署的镜像)

设置的时候,访问链接就写 hap.btaotao.com (根据你自己的实际情况填写,一开始填写11.22.33.44:8880 格式,然后使用域名访问的时候老是报跨域问题(部分文件请求还是走ip地址导致的),所以换成 域名的形式解决了跨域问题), 整个初始化过程大概几分钟

完成后 就可以通过 http://hap.btaotao.com:8880 进行访问了

=============================

通过以上步骤,虽然可以访问了,但是地址带着端口号,不方便,我们通过部署Nginx 进行代理去掉端口

安装Nginx步骤:

user nobody;
worker_processes 1;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    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;

    sendfile on;
    keepalive_timeout 65;

#开启浏览器压缩 加速请求
    gzip  on;
    gzip_proxied any;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_min_length 512;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_types text/plain text/css application/json application/x-javascript application/javascript application/octet-stream text/xml application/xml application/xml+rss text/javascript image/jpeg image/gif image/png;



    server {  # 正确:server在http块内
        listen 80;
        server_name hap.btaotao.com;  # 你的域名

    client_max_body_size 500m;
    client_body_buffer_size 128k;

 location / {
            proxy_pass http://192.140.170.132:8880;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            # 代理到后端服务器的超时设置
            proxy_connect_timeout 60;
            proxy_read_timeout 60;
            proxy_send_timeout 60;
                          # 添加CORS响应头
        add_header Access-Control-Allow-Origin $http_origin;
        add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE,    OPTIONS';
        add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
        add_header Access-Control-Allow-Credentials true;

        # 处理OPTIONS预检请求
        if ($request_method = 'OPTIONS') {
            return 204;
        }

        }


    location ~ /mds2 {
        proxy_set_header Host $http_host;
        proxy_hide_header X-Powered-By;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://hap.btaotao.com:8880;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection upgrade;
    }}
}


#-------------------------/etc/nginx/nginx.conf 内容结束---------------------



7. 重载配置并测试

nginx -t  # 检查语法


代表正常

#重启
systemctl reload nginx  

# 测试访问(域名需解析到服务器IP)
curl http://your-domain.com

8,修改HAP配置

vi /data/mingdao/script/docker-compose.yaml

输入以下代码

version: '3'

services:
  app:
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-community:6.3.0
    environment: &app-environment
      ENV_ADDRESS_MAIN: "http://hap.btaotao.com"
      ENV_APP_VERSION: "6.3.0"
      ENV_API_TOKEN: "yRU2ojasmgNXp2fQPG5u66LYiw6Le5QUnCNrsBaXVHYE8VrV"
      ENV_TIME_ZONE: "Asia/Shanghai"
    ports:
      - 8880:8880
    volumes:
      - ./volume/data/:/data/
      - ../data:/data/mingdao/data

  sc:
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-sc:3.1.0
    environment:
      <<: *app-environment
    volumes:
      - ./volume/data/:/data/

  command:
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-command:node1018-python36
    environment:
      <<: *app-environment

  doc:
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-doc:2.0.0

============================

优化后的,需要navicat链接mangoDB,mysql,放行端口
(不知啥原因,下面的版本,会报错)

upstream hap { server 192.140.170.132:8880; # 负载均衡 修改为你的 HAP 系统内网IP与端口,目前单机用不上 多台服务器需要用的话,这里写多个 下面的location里需要 proxy_pass http://hap;}

Linux命令记录

vi 命令: 编辑文件

要清空之前文件的内容:

使用 truncate 命令:truncate 命令可直接设定文件大小,将其设定为 0 即可清空文件。执行 truncate -s 0 /etc/nginx/nginx.conf 就能清空 nginx.conf 文件。然后再用文本编辑器打开文件进行粘贴操作。


使用 vim 文本编辑器:通过命令 vim /etc/nginx/nginx.conf 用 vim 打开文件。按 Esc 键进入命令模式,键入 :%d 删除所有行,即可清空文件内容。接着按 i 键进入插入模式,将剪贴板中的内容粘贴进去,最后按 Esc 键,输入 :wq 保存更改并退出。

:q! 不保存直接退出

ls:查看文件和目录

 cd:切换目录

语法:cd [-L|[-P [-e]]] [dir]
cd命令用于切换目录,常见示例如下:

  • cd 目录名:切换到指定目录。
  • cd ..:切换到上一级目录。
  • cd / 或 cd ~:切换到home目录。
  • cd -:切换到上次访问的目录。

mkdir:创建目录

mv:重命名或移动文件/目录

cat:显示文件内容

在特定位置后追加内容

先定位到目标位置,再按 a 或 A

使用方向键或搜索命令(如 /关键词)移动光标到目标位置,然后按 a 或 A

原内容:hello world  
光标在任意位置,按 `A` 并输入 "!" → hello world!  

修改行内容 替换字符(不删除)
r:替换单个字符(按 r 后再按新字符)。

在命令模式下,使用以下快捷键删除内容:
x:删除光标所在字符。
nx:删除光标后的 n 个字符(如 5x 删除 5 个字符)。
dd:删除当前行。
ndd:删除从当前行开始的 n 行(如 3dd 删除 3 行)。

NGINX.conf版本二,该版本感觉加载速度更慢了,记录一下,线上不使用

user nobody;

worker_processes  auto;
worker_cpu_affinity auto;
worker_rlimit_nofile 204800;

error_log /var/log/nginx/error.log warn;
pid nginx.pid;

events {
    use epoll;
    worker_connections 20480;
}

http {
    include /etc/nginx/mime.types;
    default_type  application/octet-stream;
    server_tokens off;

    log_format main "\$http_x_forwarded_for | \$time_local | \$request | \$status | \$body_bytes_sent | "
                "\$request_body | \$content_length | \$http_referer | \$http_user_agent | "
                "\$http_cookie | \$remote_addr | \$hostname | \$upstream_addr | \$upstream_response_time | \$request_time";

    access_log /var/log/nginx/access.log main;

    tcp_nopush     on;
    tcp_nodelay    on;
    proxy_buffer_size     64k;
    proxy_buffers         4 128k;
    keepalive_timeout  10;
    open_file_cache max=102400 inactive=60s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 1;
    resolver_timeout     10s;
    underscores_in_headers on;

    # 开启浏览器压缩,加速请求
    gzip  on;
    gzip_proxied any;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_min_length 512;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_types text/plain text/css application/json application/x-javascript application/javascript application/octet-stream text/xml application/xml application/xml+rss text/javascript image/jpeg image/gif image/png;

    server {  # 正确:server在http块内
        listen 80;
        server_name hap.btaotao.com;  # 你的域名
    
        server_names_hash_bucket_size 128;
        client_header_buffer_size 8k; 
        client_max_body_size 500m;
        client_body_buffer_size 128k;
        large_client_header_buffers 4 32k;

    location / {
            proxy_pass http://192.140.170.132:8880;  # 明道云IP+端口
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            # 添加CORS响应头
            add_header Access-Control-Allow-Origin $http_origin;
            add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS';
            add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
            add_header Access-Control-Allow-Credentials true;
            
            # 处理OPTIONS预检请求
            if ($request_method = 'OPTIONS') {
                return 204;
            }

        }
    

            location ~ /mds2 {
                proxy_set_header Host $http_host;
                proxy_hide_header X-Powered-By;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://hap.btaotao.com:8880;
                proxy_redirect off;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection upgrade;
            }

    }
}