SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
为了解决这个问题,会话与窗口可以“解绑”:窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话”绑定”其他窗口。Tmux 的作用就是会话与窗口的“解绑”工具,将它们彻底分离。
继续阅读SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
为了解决这个问题,会话与窗口可以“解绑”:窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话”绑定”其他窗口。Tmux 的作用就是会话与窗口的“解绑”工具,将它们彻底分离。
继续阅读在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 。
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
admin openmediavault
debian
vim /etc/apt/source.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
kernel-backports
vim /etc/apt/sources.list.d/openmediavault-kernel-backports.list
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
omv
vim /etc/apt/sources.list.d/openmediavault.list
deb https://mirrors.bfsu.edu.cn/OpenMediaVault/public/ usul main
deb https://mirrors.bfsu.edu.cn/OpenMediaVault/public/ usul-proposed main
deb https://mirrors.bfsu.edu.cn/OpenMediaVault/public/ usul partner
ssh 登录后,执行:
# 官方(可能被墙)
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash
或手动下载安装:https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/openmediavault-plugin-developers/pool/main/o/openmediavault-omvextrasorg/
配置源
vim /etc/apt/sources.list.d/omvextras.list
deb https://mirrors.bfsu.edu.cn/OpenMediaVault/openmediavault-plugin-developers/usul buster main
deb [arch=amd64] https://download.docker.com/linux/debian buster stable
deb http://linux.teamviewer.com/deb stable main
deb https://mirrors.bfsu.edu.cn/OpenMediaVault/openmediavault-plugin-developers/usul-testing buster main
deb https://mirrors.bfsu.edu.cn/OpenMediaVault/openmediavault-plugin-developers/usul-extras buster main
Termux是一个 Android 下一个高级的终端模拟器,开源且不需要 root,支持 apt 管理软件包,十分方便安装软件包,完美支持Python,PHP,Ruby,Go,Nodejs,MySQL等。随着智能设备的普及和性能的不断提升,如今的手机、平板等的硬件标准已达到了初级桌面计算机的硬件标准,用心去打造完全可以把手机变成一个强大的工具。
Google Play下载的版本比酷安要新,有能力建议下载Google PLay版本的。
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')
# 指定某表管理员
> db.createUser({user:'user',pwd:'123456',roles:[{role:'readWrite',db:'mydb'}]});
# 所有表只读
> db.createUser({user:'user',pwd:'123456',roles:['read']});
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 pull rabbitmq:management
docker run -d -p 5672:5672 -p 1883:1883 -p 15672:15672 --name rabbitmq rabbitmq:management
# 插件列表
docker exec -it rabbitmq rabbitmq-plugins
# 启用 MQTT
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_mqtt
管理界面:http://localhost:15672,用户名和密码都是 guest 。
Binary tar.gz archive 。
添加环境变量,通常在 /etc/profile 或 ~/.profile
# 目录路径按实际修改
export MAVEN_HOME=/home/maven/apache-maven-3.3.9
export PATH=$PATH:$MAVEN_HOME/bin
# 注销后不用执行
source ~/.profile
mvn -v
修改安装目录下的 conf/settings.xml 文件,在 <mirrors> 标签内添加如下内容:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
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>