tmux 窗口操作

SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。

为了解决这个问题,会话与窗口可以“解绑”:窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话”绑定”其他窗口。Tmux 的作用就是会话与窗口的“解绑”工具,将它们彻底分离。

继续阅读

阿里ECS部署jar包发生无法解析计算机名的问题

在ECS上利用 docker 部署 jar 包时出现如下错误:

redis.clients.jedis.HostAndPort - cant resolve localhost address

是因为spring-redis在初始化时会实例化LocalHost,但是ECS的host name并没有在设置,解决方案是在 /etc/hosts 中设置ECS的host name。

比如:ssh 登录后,界面显示 user@abcdefg ,则在 /etc/hosts 中添加 127.0.0.1 abcdefg

docker 使用 portainer 可视化界面

1、准备好 docker 环境
2、拉取镜像:

docker pull portainer/portainer

3、运行实例:

# 单机(本机)
docker run -d --name portainer -p 9000:9000 -v "/var/run/docker.sock:/var/run/docker.sock" portainer/portainer

# 群集
docker run -d --name portainer -p 9000:9000 portainer/portainer

4、添加 docker registries

名称:microsoft
地址:dockerhub.azk8s.cn

安装 OMV 记录

安装后初始账号密码

admin openmediavault

安装 omv-extend

ssh 登录后,执行:

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

安装 docker 添加国内镜像

添加 docker registries

名称:microsoft
地址:dockerhub.azk8s.cn

安卓使用 termux

简介

Termux是一个 Android 下一个高级的终端模拟器,开源且不需要 root,支持 apt 管理软件包,十分方便安装软件包,完美支持PythonPHPRubyGoNodejsMySQL等。随着智能设备的普及和性能的不断提升,如今的手机、平板等的硬件标准已达到了初级桌面计算机的硬件标准,用心去打造完全可以把手机变成一个强大的工具。

Google Play下载的版本比酷安要新,有能力建议下载Google PLay版本的。

继续阅读

docker 运行 mongodb

1、准备工作:安装docker

2、docker 安装 mongodb

docker pull mongo
docker run -itd --name mongo -p 27017:27017 mongo --auth

–auth:需要密码才能访问容器服务。

$ docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
>  db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')

3、mongo-express

docker run -it --name mongo-express --link mongo -d -p 8081:8081 -e ME_CONFIG_OPTIONS_EDITORTHEME="3024-night" -e ME_CONFIG_BASICAUTH_USERNAME="mongoexpress" -e ME_CONFIG_BASICAUTH_PASSWORD="mongoexpress" -e ME_CONFIG_MONGODB_ADMINUSERNAME="mongoadmin" -e ME_CONFIG_MONGODB_ADMINPASSWORD="mongoadmin" mongo-express

docker network ls 可以查看当前所有的 Docker NETWORK

4、Docker Compose 实现

创建文件 stack.yml

version: '3.1'

services:

  mongo:
    image: mongo:4.1.6
    ports:
      - 27017:27017
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: mongoadmin
      MONGO_INITDB_ROOT_PASSWORD: mongoadmin

  mongo-express:
    links:
      - mongo
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_OPTIONS_EDITORTHEME: 3024-night
      ME_CONFIG_BASICAUTH_USERNAME: mongoexpress
      ME_CONFIG_BASICAUTH_PASSWORD: mongoexpress
      ME_CONFIG_MONGODB_ADMINUSERNAME: mongoadmin
      ME_CONFIG_MONGODB_ADMINPASSWORD: mongoadmin
docker-compose -f stack.yml up

全文中涉及到的用户名、密码、版本视实际情况修改。
更多使用说明:https://hub.docker.com/_/mongo

docker 运行 rabbitmq

docker pull rabbitmq:management
docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:management

管理界面:http://localhost:15672,用户名和密码都是 guest

linux 安装 maven

  1. 下载页面:https://maven.apache.org/download.cgi ,选择 Binary tar.gz archive

  2. 添加环境变量,通常在 /etc/profile~/.profile

# 目录路径按实际修改
export MAVEN_HOME=/home/maven/apache-maven-3.3.9
  1. 添加 PATH
export PATH=$PATH:$MAVEN_HOME/bin
  1. 确认安装成功
# 注销后不用执行
source ~/.profile
mvn -v

yapi 安装和使用

使用 npm 安装

npm i -g yapi-cli
yapi server

更新

# 必要时更新 yapi-cli
npm i -g yapi-cli
yapi update

部署

安装 supervisor,添加以下配置,配置中的路径改为实际值:

[program:server-yapi]
;process_name=%(program_name)s_%(process_num)02d
;process_name=%(process_num)02d
command=/bin/node vendors/server/app.js
numprocs=1
directory=/var/lib/yapi
autostart=true
autorestart=true
user=sddt
redirect_stderr=true
stdout_logfile=/var/lib/yapi/log/queue.log

添加反向代理,例:

# apache
<VirtualHost *:90>
        ServerName yapi.dsmcase.com

        ProxyPass / http://localhost:3000/
        ProxyPassReverse / http://localhost:3000/
</VirtualHost>