• mynote_init
  • mynote init note 注意 排错
  • 第一次创建用户会失败,必须保存一次文章才行:
  • 阿里云 服务器 注意
  • 前置阅读
  • mynote init 全部脚本化 -------------------
  • docker extra
  • 需要手动执行的命令
  • all.sh & allu.sh & pre.sh & post.sh & vars.sh(obso)
  • 配置实例 pre.sh
  • post.sh
  • 增量版本发布
  • only back with newest
  • only front with newest
  • env.sh - 已删除
  • centos 系统语言改成中文
  • 安装xhprof扩展
  • glibc 安装
  • ssh www known_hosts
  • ssh 127.0.0.1
  • mynote init todo -----
  • mynote init done
  • 清理数据
  • 删除用户
  • phpMyAdmin
  • klyc php5
  • log-std
  • gogs
  • gogs 安装时无法输入问题
  • gogs only
  • su
  • es config & pic-avatar config & soft link
  • basic soft pre-install; 拆分:for 缓存加速
  • mynote docker
  • docker 下需要重启,sshd 有问题
  • 乱码问题
  • 时区问题
  • mynote for dajx udajx
  • kill 退出 docker
  • 结构优化
  • mynote docker clone
  • 2021-05 不是 1000? 直接粘贴 all.sh 诡异问题 -- docker 中编码问题
  • lv1= lv2= type=
    mynote_init
    〖E:\uninote\mynote-env-init-v2〗
    〖E:\git_check\mynote-env-init-v2〗 .git 打包.git.zip 单分支包制作 
    es 部署文档 
    docker es 安装 
    expect 
    lv1= lv2= type=
    整理 for dajx -- obsolete
    https://docs.dajxyl.com/book/1/513

    mynote init note 注意 排错

    严格按照文档来做 https://uninote.com.cn/book/1027/4361
    elastic serach 没有需要单独部署,因为其太耗资源
    注意更新 log-std <[--
    log-vm 使用vm43生成,这样差异会小一些
    --]>
    mynote checks 
    mynote、fastadmin、additional_item 现在都全量拉取,避免错误。如果出错了可以手动检查一遍 commits
    front-dist 不 fetch,太大了
    SHA-1: 22b599a8a67ca2431f356333fc009b4a641ba77c
    * 用 git fetch origin 代替 git fetch origin master,避免配置的 commit 不在 master 分支时出错
    SHA-1: 785bfead4cb4e57dcb33e0f33c621aa3f078ed17
    *  mynote-front-dist  fetch & reset $commit
    auto commit for mynote init <[--
    X:\mytool\m 快捷提交,仅 git add install.sh include/functions.sh
    全量拉 分支查 (m)部分(提)交
    --]>

    第一次创建用户会失败,必须保存一次文章才行:

    或者手动再生成一次access token
    httpCode: 403 
      url: http://127.0.0.1:3000/api/v1/admin/users?token=796201291a5d4e2cdd3822a0d9b6181b477961a9 
      param: login_name=2&username=2&email=2%40mynote.com 
      result: 
    正确的样子:
     httpCode: 201 
      url: http://127.0.0.1:3000/api/v1/admin/users?token=796201291a5d4e2cdd3822a0d9b6181b477961a9 
      param: login_name=2&username=2&email=2%40mynote.com 
      result: {

    阿里云 服务器 注意

    2 建立快照,避免多次上传

    前置阅读

    核心测试:http://uninote.com.cn/book/1002/1975
    默认账号:
    fa: admin 123123
    gogs: unote 123456
    additional_items: root/root123.
    ---- 可能需要的前置工作:
    切换为root
    确保可以上网、虚拟机tools可用
    配置ip
    note: 初始化安装的每个项目的版本不一定是最新的,可能需要后续更新
    lv1= lv2= type=

    mynote init 全部脚本化 -------------------

    最新:2021-4-20:http://uninote.com.cn/book/1027/4361
    vm 中测试:docker centos 7 / dev/local 搭建流程 
    ------------------ obso
    这里不再更新,参见整理 for dajx 
    额外的:切到测试分支?
    # centos 6 只用阿里云的源:
    mkdir -p /var/cache/yum/x86_64/6/base
    mkdir -p /var/cache/yum/x86_64/6/extras
    echo http://mirrors.aliyun.com/centos/6.10/os/x86_64/ > /var/cache/yum/x86_64/6/base/mirrorlist.txt
    echo http://mirrors.aliyun.com/centos/6.10/extras/x86_64/ > /var/cache/yum/x86_64/6/extras/mirrorlist.txt
    # centos 7 只用阿里云的源:
    mkdir -p /var/cache/yum/x86_64/7/base
    mkdir -p /var/cache/yum/x86_64/7/extras
    # echo http://mirrors.aliyun.com/centos/7/os/x86_64/ > /var/cache/yum/x86_64/7/base/mirrorlist.txt
    # echo http://mirrors.aliyun.com/centos/7/extras/x86_64/ > /var/cache/yum/x86_64/7/extras/mirrorlist.txt
    # 配置不成功尝试这个:
    # yum clean all
    # yum makecache
    yum install -y unzip git
    # docker
    passwd
    yum install -y openssh*
    service sshd start
    cd /root/init
    unzip .git.zip
    rm -f .git.zip
    git reset --hard
    mkdir -p ~/.ssh
    /bin/cp config/ssh-root/id_rsa ~/.ssh/
    /bin/cp config/ssh-root/id_rsa.pub ~/.ssh/
    # 老版本兼容
    /bin/cp config/id_rsa ~/.ssh/
    /bin/cp config/id_rsa.pub ~/.ssh/
    chmod 600 ~/.ssh/id_rsa
    eval `ssh-agent -s`
    ssh-add
    # 这里要分开复制执行
    ssh 127.0.0.1
    ssh git@git.uninote.com.cn
    echo "
    service iptables stop
    git fetch origin master
    git reset --hard FETCH_HEAD
    . install.sh
    # debug部分
    mysql -uroot -proot <<EOF
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    flush privileges;
    EOF
    cd /home/www/mynote
    git checkout no-captcha
    " > ~/init/do.sh
    #### 配置实例 pre.sh 
    #### 快照
    #### 恢复快照,检查 do.sh 的分支;args.sh 的配置; ssh 127..?;再次快照?
    . do.sh >& log
    cd ~/init
    . apply_config.sh
    nginx -s reload

    docker extra

    # docker 里面需要手动执行,Deploy_End 执行到中间部分会自动退出重新进入 docker中:
    if [ `cat ~/.ssh/known_hosts |grep 127.0.0.1|wc -l` = 0 ]; then
        Echo_Green "输入 yes,再多次回车即可"
        ssh 127.0.0.1
    else
        echo "known_hosts already handled."
    fi
        /bin/cp ~/.ssh/known_hosts /home/www/.ssh/
        chown www:www /home/www/.ssh/known_hosts
    # 将自启动脚本写入:
    ~/start.sh
    # 重新初始数据,解决乱码问题:
        tmp_path=/tmp/mynote_init.sql
        mysql -u root -proot <<ENDTAG
    use mynote
    source $tmp_path
    ENDTAG
    git clone 非标准的ssh端口(非22)端口 

    需要手动执行的命令

    su - www -c 'mkdir -p /home/www/mynote/art_workman/logs'
    # 启动workman(重启后也要手动):
    su www
    cd /home/www/mynote/art_workman
    php start.php start -d
    # es 手动初始化、/etc/rc.local mynote 开机自启动 
    es elasticsearch init 
    linux 设置虚拟内存 
    # 如果不重启,就要 source /etc/profile,才能加入 nginx 等的路径
    # 重启后要手动启动 workman
    service iptables stop
    ip static,端口映射
    service network restart 
    时间:
    .bash_profile
    TZ='Asia/Shanghai'; export TZ
    chmod 644 /tmp/mysql.log
    # 使用强制停止,再回滚磁盘
    # 完成后check log、 checks
    阿里云安全组开放必要的端口:80 443 82 81 3306 6379 9200 9000 3000 ...

    all.sh & allu.sh & pre.sh & post.sh & vars.sh(obso)

    deployment=d1
    front_host=d1.u.cn
    gogs_host=$front_host
    gogs_ssh_port=20102
    gogs_http_port=3000
    gogs_http_url_decode=http://$front_host:$gogs_http_port
    gogs_http_url=`urlEncode $gogs_http_url_decode`
    es_host=es.uninote.com.cn
    es_index=$deployment
    # 安装脚本自身的分支,如果设置了,则先更新
    init_branch=mynote
    lv1= lv2= type=

    配置实例 pre.sh

    ##### vm env
    ip=43
    deployment=vm$ip
    front_hostname=192.168.0.$ip
    front_host=$front_hostname
    gogs_hostname=$front_hostname
    gogs_ssh_port=22
    gogs_http_port=3000
    gogs_http_url_decode=http://$front_host:$gogs_http_port
    gogs_http_url=`urlEncode $gogs_http_url_decode`
    es_host=es.uninote.com.cn
    es_index=$deployment
    # 安装脚本自身的分支,如果设置了,则先更新
    init_branch=mynote
    ---pre
    deployment=mynote-pre
    front_host=pre.uninote.com.cn
    gogs_host=$front_host
    gogs_ssh_port=22
    gogs_http_port=3000
    gogs_http_url_decode=http://$front_host:$gogs_http_port
    gogs_http_url=`urlEncode $gogs_http_url_decode`
    es_host=es.uninote.com.cn
    es_index=$deployment
    # 安装脚本自身的分支,如果设置了,则先更新
    init_branch=mynote
    ---online
    deployment=mynote
    front_host=uninote.com.cn
    gogs_host=$front_host
    gogs_ssh_port=60003
    gogs_http_port=60004
    gogs_http_url_decode=http://$front_host:$gogs_http_port
    gogs_http_url=`urlEncode $gogs_http_url_decode`
    es_host=es.uninote.com.cn
    es_index=$deployment
    # 安装脚本自身的分支,如果设置了,则先更新
    init_branch=mynote

    post.sh

    # mysql 时区
    echo "default-time-zone = '+8:00'" >> /etc/my.cnf.d/server.cnf
    /etc/init.d/mysql restart
    # debug部分
    mysql -uroot -proot <<EOF
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    flush privileges;
    EOF
    systemctl stop firewalld
    cat >> /etc/rc.d/rc.local <<EOF
    systemctl stop firewalld
    EOF
    # debug config
    sed -i "s/'debug.tel_code' => false/'debug.tel_code' => 1/" /home/www/mynote/basic/config/local_params.php
    lv1= lv2= type=

    增量版本发布

    cd ~/init
    # for pm2
    source /etc/profile.d/env.sh
    git fetch origin mynote
    git reset --hard FETCH_HEAD
    # 需要在代码更新完成后在加载配置
    . config.sh
        cd /home/www/mynote
        git fetch origin
        git reset --hard $mynote_commit
        cd /home/www/front
        git fetch origin
        git reset --hard $mynote_front_dist_commit
    sleep 1
        pm2 restart node

    only back with newest

    cd /home/www/mynote
    git fetch origin master
    git reset --hard FETCH_HEAD
    -- no 验证码
    cd /home/www/mynote
    git fetch origin no-captcha
    git reset --hard FETCH_HEAD

    only front with newest

    # for pm2
    source /etc/profile.d/env.sh
        cd /home/www/front
        git fetch origin master
        git reset --hard FETCH_HEAD
    sleep 1
        pm2 restart node
    lv1= lv2= type=

    env.sh - 已删除

    env_path=/etc/profile.d/env.sh
    所有需要的(nginx、php、pm2、node等)的路径都写入了 /etc/profile.d/env.sh,重新打开 shell 即可使用。如果不行,则将 export 写入 ~/.bash_profile

    centos 系统语言改成中文

    http://www.cnblogs.com/su-root/p/9692426.html
    否则fastadmin gogs都默认成了英文
    编辑i18n配置文件: vi /etc/sysconfig/i18n
    进行如下配置并保存退出:
     #LANG="en_US.UTF-8"
    LANG="zh_CN.UTF-8"
    SYSFONT="latarcyrheb-sun16"
    3、重启系统后系统文字变成中文简体。
    lv1= lv2= type=

    安装xhprof扩展

    xhprof 
    https://github.com/longxinH/xhprof.git
    NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/xhprof.so' - /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/xhprof.so) in Unknown on line 0
    # strings /lib64/libc.so.6 |grep GLIBC_
    # strings xhprof.so |grep GLIB
    GLIBC_2.14
    GLIBC_2.17
    GLIBC_2.2.5
    没有更新了?
    https://pecl.php.net/package/xhprof 
    这个广州人还在更新
    https://github.com/longxinH/xhprof

    glibc 安装

    Linux/Centos下/lib64/libc.so.6: version `GLIBC_2.14' not found
    https://blog.csdn.net/changcsw/article/details/79761620
    wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz  
       
    wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.17.tar.gz  
       
    tar -xvf  glibc-2.17.tar.gz  
       
    tar -xvf  glibc-ports-2.17.tar.gz  
       
    mv glibc-ports-2.17 glibc-2.17/ports  
       
    mkdir glibc-build-2.17   
       
       
    cd glibc-build-2.17  
       
       
    ../glibc-2.17/configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin  
    make  
    make install  

    ssh www known_hosts

    脚本添加用的 ssh git@localhost,实际使用的是ip,也会导致运行时需要询问
    192.168.0.121 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3PlLDady9AeQ2LrsdXtu8WDczD3PvR9BEhggAlWhHtDR6ir5Wu6HLNzNdPZTUfF9xhNzkqMusB8SyYKb1WzpSUOIXrKLGzp7fKXgpR18Af2fLf6wXtvccyWNB7T+YUeAI5g2FN8EU4xcwSdf3gPRuiF1TMx8pPC4SGIOtbZacqAkERb4Kubw0+MB8o5BhDvblnZEubE1MXOq8zjN6KNZBXyh/782GWIRf5uxdNX9LRMK2yoSvPAgT7ucjR+HxUcx4TXachSkc24d1enMfeO0mgew8xChpagUwN5hwgZtLFycA4ABFO3g6rsLRpuEpyNEM/YjpiqDyHhJjQmqYcZFSQ==
    ssh 自动写入known_hosts 

    ssh 127.0.0.1

    执行可选、配置:提前到最前面
    ssh 127 判定:cat grep wc
    sshd 
    lv1= lv2= type=

    mynote init todo -----

    record std log
    结构优化 
    init todo 2021-4-23 
    rm include 加载,避免问题
    mynote font 部署 
    gogs 安装编码问题
    有问题:
    E:\uninote\mynote-env-init-v2\apply_config.sh
    return [
        'api_url' => 'http://$gogs_host/api',
        'pic_base' => 'http://$front_host',
        'pic_host' => 'http://$front_host',
    ];
    " > /home/www/mynote/basic/config/local_api.php
    有相同部分
    E:\uninote\mynote-env-init-v2\install.sh
    E:\uninote\mynote-env-init-v2\apply_config.sh
    util:
    执行checksmynote checks 
    more checks: commit 是否正确的 checkot out了;git status;ssh-add ...
    checks:commits configs。。。
    init 错误处理(fetch 循环尝试等 init:恢复快照后要一点时间才能恢复网络。。)
    webroot 尝试
    soft basic 提取
    ssl conf option
    同步工具 as.sh
    这个报错导致 nginx 启动失败,进而导致 fastadmin 安装失败,进而导致后续 curd.sh 执行失败:
    nginx: [emerg] invalid number of arguments in "server_name" directive in /usr/local/nginx/conf/vhost/nuxt.conf:14
    -- 错误检测
    阿里云恢复快照后,需要重新加载 变量定义 in ~/init
    vars.sh(include env) -> pre.sh
    ssh 127 可以自动;ssh 指定机器,可以提前配置好
    本地部署时不要 copy ssl,default
    分支检查(init、项目)

    mynote init done

    gogs默认3000,但可以通过命令行参数改变
    git clone 非标准的ssh端口(非22)端口 
    export PATH 统一。
    fa、gogs 安装自动化
    favicon 集成
    log ana 部署 
    分支可以在命令行中修改默认值
    rpm -i --force
    mynote init 用户仓库 origin设置问题 regexp 可视化 

    清理数据

        tmp_path=/tmp/mynote_init.sql
        cat /home/www/mynote/sql/*.sql > $tmp_path
        sed -i "s/CREATE DATABASE*/-- /" $tmp_path
        Echo_Yellow "请输入数据库密码: "
        mysql -u root -p$db_passwd <<ENDTAG
    CREATE DATABASE mynote DEFAULT charset=utf8;
    use mynote
    source $tmp_path
    ENDTAG
    win:E:\uninote\mynote\sql\all.bat,记得删除 CREATE DATABASE `mynote` DEFAULT charset=utf8;
    E:\fastadmin\fastadmin\application\admin\command\Install\install.lock
    rm -f /home/www/fastadmin/application/admin/command/Install/install.lock
    http://dev.rongyipiao.com:81/install.php
    http://a.fastadmin.my/install.php
        cd /home/www/fastadmin
        ./curd.sh
        cd /home/www
        chown -R www:www fastadmin
    -- 
    es
    -- addi item
    rm -rf /home/www/mynote/basic/runtime
        cd /home/www
        chown -R www:www additional_item
        tmp_path=/tmp/additional_item_init.sql
        cat /home/www/additional_item/log_storage/sql/mynote*.sql > $tmp_path
        mysql -u root -p$db_passwd <<ENDTAG
    use mynote
    source $tmp_path
    ENDTAG
    win: 删除日志:
    E:\uninote\mynote\basic\runtime
    E:\uninote\mynote\basic\runtime\seaslog
    --- docs
    批量导入文章
    全部推荐到首页:update article set recommend =1

    删除用户

    select id,username from user where mobile = '13320817857'
    delete from user where id = 3
    delete from article where username = '1068799191'
    删除docs/users.txt 对应的username
    删除docs下对应的用户目录

    phpMyAdmin

    libraries/config.default.php
    $cfg['Servers'][$i]['host'] = '127.0.0.1';
     * phpMyAdmin default configuration, you can copy values from here to your
     * config.inc.php
    config.sample.inc.php copy as config.inc.php
    phpMyAdmin配置文件现在需要一个短语密码的解决方法
    https://blog.csdn.net/ly_dengle/article/details/52776248
    解决phpmyadmin mysqli_real_connect(): (HY000/2002): No such file or directory错误
    https://blog.csdn.net/tiny_lxf/article/details/82800116
    $cfg['Servers'][$i]['host'] = 'localhost';
    #改成
    $cfg['Servers'][$i]['host'] = '127.0.0.1';
    lv1= lv2= type=

    klyc php5

    xjc 要使用php5,并且是mysql,而非mysqli
    ./configure --prefix --with解释 
        cp $config_path/php.ini /usr/local/php5/lib/php.ini
        cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf
        cp /usr/local/php5/etc/php-fpm.d/www.conf.default /usr/local/php5/etc/php-fpm.d/www.conf
        echo "export PATH=$PATH:/usr/local/php5/bin:/usr/local/php5/sbin:">>/etc/profile
        source /etc/profile
    lv1= lv2= type=

    log-std

    # 生成,在终端 t1
    . install.sh >& log-std
    # 查看,另起终端 t2:
    tail -f log-std
    log-vm 使用vm43生成,这样差异会小一些

    gogs

    一次性安装,把需要的参数都提前计算写入配置中
    默认安装是 lantin1 编码?
    lv1= lv2= type=

    gogs 安装时无法输入问题

    SHA-1: a96738aada64583abc0bdd0348578c2d9d8cb303
    * gogs_host 从 include/*.sh 中读取,不再手动输入
    lv1= lv2= type=

    gogs only

    gogs_init.sql 默认账号:unote 123456
    保存 images 前 删除 init 文件夹(或者使用-v)
    mysql 启动
    # /etc/init.d/mysql 
    gogs 配置
    gogs web
    gogs vm 

    su

    通过这种方式,只能创建一个用户,以后的用户的 ssh-keygen 一定会失败:
    Prepare_Install <<EOF
    EOF
    改为分开:
    su - www -c 'ssh-keygen' <<EOF
    ...
    EOF
    su - git -c 'ssh-keygen' <<EOF
    ...
    EOF

    es config & pic-avatar config & soft link

    SHA-1: 895a978d410db3436954e1cc9a82ed80d6151077
    * es config & pic-avatar config & soft link
    local_api.php:
    return [
        'api_url' => 'http://192.168.0.23/api',
        'pic_base' => 'http://192.168.0.23',
        'pic_host' => 'http://192.168.0.23',
    ];
    ln -s /home/www/mynote/basic/web/docs/__pic /home/www/front/static/__pic
    访问地址:
    http://test4.uninote.com.cn/__pic/GROylJGfGRQN.png
    ln -s /home/www/mynote/basic/web/upload_pic /home/www/front/static/upload_pic
    lv1= lv2= type=

    basic soft pre-install; 拆分:for 缓存加速

    把速度慢,又不需要经常修改的部分 pre-install,加速测试
    SHA-1: cef6d326713cde1f787d0692c38e0a45135d6bb7
    * [debug] no 准备 install
    SHA-1: 5f58c0f792838be28d47d368901e9710583e7cce
    * 重构:拆分为基本软件(不易变部分)和 mynote 相关应用(易变部分)
    SHA-1: 2b4fbbe43945909d532009f4220dade8a2d73363
    * 重构:进一步拆分,将核心文件全部移动到根目录下
    lv1= lv2= type=todo
    基础部分没有node
    lv1= lv2= type=

    mynote docker

    Docker 容器开启ssh登录 
    提取公共的代码和配置,私有的从docker中分离
    lv1= lv2= type=

    docker 下需要重启,sshd 有问题

      Prepare_Install 某个安装造成(但老的连接还能正常使用)

    乱码问题

    刚创建docker,进入时,vi时乱码
    装完sshd后,再进入就ok了($LANG = en_US.UTF-8)
    cat ok,vi显示乱码
    最终方案:all.sh:
    # 设置 UTF-8 编码
    export LANG=en_US.UTF-8
    echo "export LANG=en_US.UTF-8" >> ~/.bashrc
    lv1= lv2= type=

    时区问题

    最终方案:all.sh:
    # 设置时区
    echo "TZ='Asia/Shanghai'; export TZ" >> /etc/profile.d/tz.sh
    . /etc/profile.d/tz.sh
    但这样 开机自启动的 node 时区有问题,导致字符串反解时间戳有8小时偏差,可以再加入自启动脚本中mynote 开机自启动 start.sh 
    lv1= lv2= type=

    mynote for dajx udajx

    https://docs.dajxyl.com
    docker run -itd -p 10080:80 -p 10085:85 -p 18888:8888 -p 10022:22 -p 13306:3306 -p 16379:6379 -p 10081:81 -p 10082:82 -p 13000:3000 --name udajx udajx:1.4.1
    〖E:\dajx\udajx-docs〗
    ./certbot-auto certonly --standalone -d  --no-self-upgrade docs.dajxyl.com
    api:
    http://docs.dajxyl.com:85/api/userinfo/allrecommend
    cat /home/git/gogs/custom/conf/app.ini
    cat /home/www/mynote/basic/config/local_params.php
    cat /home/www/mynote/basic/config/local_api.php
    cat /home/www/mynote/basic/config/local_db.php
    cat /usr/local/nginx/conf/vhost/nuxt.conf
    cat /home/www/additional_item/config_my.php
    ls /home/www/front/static/favicon.ico
    rm -f /var/run/utmp
    rm -f /var/run/redis_6379.pid
    rm -f /var/run/sshd.pid
    chown mysql:mysql -R /var/lib/mysql/
    chown -R www:www /home/www
    chmod 755 /home/git/gogs/gogs
        # for 头像 & 编辑器图片
        ln -s /home/www/mynote/basic/web/docs/__pic /home/www/front/static/__pic
        ln -s /home/www/mynote/basic/web/upload_pic /home/www/front/static/upload_pic
    Permissions 0644 for '/home/www/.ssh/id_rsa' are too open.
    chmod 600 /home/www/.ssh/id_rsa

    kill 退出 docker

    在host中,$3 是 1,kill不掉,docker中是 0,kill后就直接退出 docker 了:
        kill -9 `ps -ef |grep gogs | awk '{print $2,$3}'`
    lv1= lv2= type=

    结构优化

    all.sh
        vars.sh					# 安装配置
        install.sh
            # paths config
            common.sh           # ehco_*, encode_url -> common_func.sh
            basic_soft.sh       # prepare, insert_* -> install_basic.sh
            config_soft.sh      # db_passwd -> vars.sh
    		== install basic soft
            app.sh				# app install & deploy
            config.sh           # commits
    		== install app
        apply_config.sh         #
            # paths config
            app.sh              # 多余?
            config.sh           # 多余?
            config_soft.sh      # 多余?
        -f post_install.sh
    改为:
    - install basic soft
    - install app & apply config
    lv1= lv2= type=

    mynote docker clone

    mynote test m5 
    -- change
    host:
    nginx config
    docker:
    vi /home/www/mynote/basic/config/local_params.php 
    vi /home/git/gogs/custom/conf/app.ini
    favicon
    es init

    2021-05 不是 1000? 直接粘贴 all.sh 诡异问题 -- docker 中编码问题

    gogs 创建第一个 user 报错
    SELECT* from information_schema.`TABLES` where TABLE_NAME = 'user'
    再次 create container,报错
    [root@localhost vhost]# docker run -itd --privileged $v -p 20100:80 -p 20101:81 -p 20102:82 -p 20103:22 -p 20104:3000 -p 20105:3306 -p 20106:6379 -p 20107:85 --name m1 centos:7.9.2009 /usr/sbin/init
    0b5aeb2522563d0e5004539f6ed0083d78a0cbc8cf1ec657701965cf470f696b
    docker: Error response from daemon: driver failed programming external connectivity on endpoint m1 (bd9cb7660e440a3100f46fa7bfac47a4d98d18f6531d4710dc459dc39655d0c5):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 20106 -j DNAT --to-destination 172.17.0.3:6379 ! -i docker0: iptables: No chain/target/match by that name.
     (exit status 1)).
    安装后有网络问题。。。