前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >帅瞎了!手机也能写Python代码!手把手教你在手机或平板上配置Python环境!

帅瞎了!手机也能写Python代码!手把手教你在手机或平板上配置Python环境!

作者头像
数据森麟
发布于 2021-03-09 08:13:37
发布于 2021-03-09 08:13:37
8.1K00
代码可运行
举报
文章被收录于专栏:数据森麟数据森麟
运行总次数:0
代码可运行

本文旨在讲解如何在Android平板或手机上搭建Python开发环境,帮助Python初学者有效利用碎片化时间进行学习,从而达到良好的学习效果。

对于大部分初学Python的人来说,由于工作、生活等因素常常无法进行连贯、系统的学习。初学者为了利用上下班通勤等碎片化时间进行学习,通常会在平板上观看学习视频并做记录。虽然这种方法很好,但效果还是不如边学边练来得好。

因此,你需要的是这个:

不多说,让我们开始吧!

一、Termux安装与配置

1. 系统要求

  • Android 7.0以上的平板或手机。这里建议使用兼顾了便携性和屏幕尺寸的8寸平板。
  • 2G以上可用空间。由于需要安装各种软件包,对存储空间的消耗还是比较大的。

2. Termux安装

在安装Termux前,需要了解一下什么是Termux。

Termux 是一款支持 Linux 环境的 Android 终端模拟器APP。你无需对手机进行root或额外设置即可使用。这款APP会在手机中自动安装一个最小化基本系统,并支持使用 APT 包管理工具安装软件。

目前Termux官网(https://termux.com/)建议使用F-Droid进行安装,不再支持通过Google Play进行安装。

  • 主程序Termux下载地址:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://f-droid.org/repo/com.termux_106.apk
  • 美化工具Termux:Styling下载地址:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://f-droid.org/repo/com.termux.styling_29.apk

3. Termux基本操作

  • 快捷键
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Ctrl + A -> 将光标移动到行首
Ctrl + E -> 将光标移动到行尾
Ctrl + C -> 中止当前进程
Ctrl + D -> 注销终端会话
Ctrl + K -> 从光标删除到行尾
Ctrl + U -> 从光标删除到行首
Ctrl + L -> 清除终端
Ctrl + Z -> 挂起(发送SIGTSTP到)当前进程

音量加 + E -> Esc键
音量加 + T -> Tab键
音量加 + 1 -> F1(音量增加 + 2F2…以此类推)
音量加 + 0 -> F10
音量加 + B -> Alt + B,使用readline时返回一个单词
音量加 + F -> Alt + F,使用readline时转发一个单词
音量加 + X -> Alt+X
音量加 + W -> 向上箭头键
音量加 + A -> 向左箭头键
音量加 + S -> 向下箭头键
音量加 + D -> 向右箭头键
音量加 + L -> | (管道字符)
音量加 + H -> 〜(波浪号字符)
音量加 + U -> _ (下划线字符)
音量加 + P -> 上一页
音量加 + N -> 下一页
音量加 + . -> Ctrl + \(SIGQUIT)
音量加 + V -> 显示音量控制
音量加 + Q -> 切换显示的功能键视
音量加 + K -> 切换显示的功能键视图

4. 修改软件源

安装完Termux后,使用如下命令自动替换官方源为清华镜像源:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list
sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list
apt update && apt upgrade

5. 安装基本组件

在配置Python开发环境前,我们还需要使用如下命令安装一些基本软件包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pkg install -y zsh curl wget build-essential
pkg install -y git python nodejs-lts perl ipython
pkg install -y neovim lazygit ranger fzf

二、终端配置

1. Shell配置

  • 安装oh-my-zsh

Shell的类型有很多种,Termux下默认使用的是bash,这里使用功能更强大的zsh来代替bash。为了让初学者更好地使用zsh,需要先安装高档大气上档次,狂拽炫酷吊炸天的oh-my-zsh

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

安装过程中,会提示是否切换shell为zsh,输入回车Y即可。

此外,还需要安装zsh-autosuggestions插件,用于自动补全:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

oh-my-zsh需要使用nanoneovim等终端编辑器修改.zshrc文件来进行配置,在plugins部分添加插件支持:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plugins=(
    git
    python
    colorize
    zsh-interactive-cd
    zsh-navigation-tools
    zsh-autosuggestions
)

2. 主题美化

2.1 配色与字体

长按屏幕,点击More,选择Style可以选择配色和字体,推荐使用Neon配色和JetBrains Mono字体,也可以通过修改~/.termux/目录下的colors.propertiesfont.ttf文件进行自定义。

2.2 主题配置

接下来安装powerlevel10k的主题:

  • 安装

输入如下命令下载powerlevel10k:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

修改.zshrc文件,将ZSH_THEME="robbyrussell"改为ZSH_THEME="powerlevel10k/powerlevel10k"

  • 配置

重新打开Termux,输入p10k configure进入powerlevel10k的配置界面。第一次会自动下载默认字体,安装后会自动退出,重新打开Termux即可。

可以根据配置向导的提示,定制适合自己风格的终端界面。

图片来源:romkatv/powerlevel10k

3. 启用vi模式(可选)

Termux命令行中修改已经输入的命令比较麻烦。通过开启vi模式,用户可以像在vi编辑器里一样进行操作。对于vi用户来说,进入这种模式后,编辑和修改命令就显得十分得心应手了。

使用nanoneovim等终端编辑器修改.zshrc文件来进行配置,在plugins部分添加vi-mode项,开启vi模式。在命令行状态下,按Esc键,即可进入vi模式的普通模式

不过在默认的vi模式存在按键bug,需要在.zshrc文件最后添加如下配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Better searching in command mode
bindkey -M vicmd '?' history-incremental-search-backward
bindkey -M vicmd '/' history-incremental-search-forward

# Beginning search with arrow keys
bindkey "\033[1~" beginning-of-line
bindkey "\033[4~" end-of-line
bindkey '^[[3~' delete-char
bindkey "^[OA" up-line-or-beginning-search
bindkey "^[OB" down-line-or-beginning-search
bindkey -M vicmd "k" up-line-or-beginning-search
bindkey -M vicmd "j" down-line-or-beginning-search

三、Python包安装与配置

1. 安装环境配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 配置pypi源
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 依赖项
pip install wheel
pip install setuptools --upgrade

2 Python包安装

  • 安装numpyscipy
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 添加第三方仓库
curl -LO https://its-pointless.github.io/setup-pointless-repo.sh
bash setup-pointless-repo.sh

# 从仓库安装numpy scipy
pkg install -y numpy scipy
  • 安装lxml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 安装lxml的依赖项
pkg install -y libxml2 libxslt

# 安装lxml
pip install lxml
  • 安装pillow
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 安装pillow的依赖项
pkg install -y libjpeg-turbo libtiff 
pkg install -y littlecms tk libwebp libsodium

# 安装pillow
pip install pillow
  • 安装matplotlib
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 安装matplotlib的依赖项
pkg install -y freetype libpng
pip install kiwisolver cycler 
pip install pyparsing python-dateutil
# 安装matplotlib
pip install matplotlib
  • 安装pandas
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 安装pandas的依赖项
pip install -y pytz cython

# 安装pandas
export CFLAGS="-Wno-deprecated-declarations -Wno-unreachable-code"
pip install pandas
  • 安装jupyter
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 安装jupyter依赖项
pkg install -y libzmq libcrypt pkg-config

# 安装jupyter 
pip install jupyter

待安装完成,输入jupyter notebook启动,将地址复制到浏览器中即可打开Jupyter。

四、IPython和NeoVim配置

对于希望在终端下进行使用的同学,推荐IPython+NeoVim组合。

1. IPython配置

  • 安装IPython
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 安装yapf
pip install yapf

# 安装Pygments
pip install pygments

# 安装ipython
pip install ipython
  • 创建配置文件

使用ipython profile create命令在~/.ipython/profile_default/目录下的创建ipython_config.py配置文件。

  • 修改配置文件

使用neovim、nano等终端编辑器修改~/.ipython/profile_default/目录下的ipython_config.py文件,添加如下配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 配置终端颜色
c.InteractiveShell.colors = 'Linux'
c.TerminalInteractiveShell.autoformatter = 'yapf' 
# 配置高亮方案,可通过pygmentize -L styles浏览所有可选配置
c.TerminalInteractiveShell.highlight_style = 'monokai' 
# 配置魔术命令%editor使用的编辑器
c.TerminalInteractiveShell.editor = 'nvim'

2. NeoVim配置

在配置NeoVim前,需要安装pynvim插件,以扩展NeoVim对Python的支持。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install pynvim
  • 创建init.vim文件进行基本配置

在命令行下,通过nvim命令进入NeoVim编辑器,输入:e $MYVIMRC编辑NeoVim配置文件,使用:w进行保存,基本设置如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
" 一般设置
set nocompatible "关闭与vi的兼容模式
set number "显示行号
set nowrap    "不自动折行
set showmatch    "显示匹配的括号
set scrolloff=3        "距离顶部和底部3行"
set encoding=utf-8  "编码
set fenc=utf-8      "编码
set fileencodings=utf-8
set hlsearch        "搜索高亮
syntax on    "语法高亮
set tabstop=4   "tab宽度
set shiftwidth=4  
set smarttab
set backspace=indent,eol,start
set expandtab       "tab替换为空格键
set fileformat=unix   "保存文件格式
set splitbelow
set cmdheight=2
set completeopt=longest,menu
set splitright
set foldmethod=indent
set foldlevel=99
" 设置空格为leader键
let mapleader=" "
  • 使用vim-plug安装NeoVim插件

vim-plug是一款Vim插件管理工具,支持异步并行,可以快速安装、更新或卸载插件。可以通过如下命令进行安装,或手动下载plug.vim文件,复制到在~/.config/nvim/autoload文件夹中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

使用vim-plug时,需要在init.vim中添加下列代码块。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
" vim-plug插件管理
call plug#begin('~/.config/nvim/plugged')
Plug 'junegunn/vim-plug'
call plug#end()

保存后,在普通模式下输入:so %使配置文件生效,再通过:PlugInstall进行安装。

  • 常用插件及设置

下面列举了一下常用插件和基本设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
call plug#begin('~/.config/nvim/plugged')
Plug 'junegunn/vim-plug'
" git支持
Plug 'tpope/vim-fugitive'
" Python自动缩进插件
Plug 'vim-scripts/indentpython.vim'
" 项目管理工具
Plug 'mhinz/vim-startify'
" 快速对齐插件
Plug 'junegunn/vim-easy-align'
" 当前光标下的单词增加下划线
Plug 'itchyny/vim-cursorword'
" 快速选择插件
Plug 'tpope/vim-surround'
" 自定义代码片断
Plug 'honza/vim-snippets'
" 语法高亮支持
Plug 'sheerun/vim-polyglot'
" 主题、状态栏设置
Plug 'haishanh/night-owl.vim'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'ryanoasis/vim-devicons'
" coc扩展
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" fzf模糊查找
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
" whichkey快捷菜单
Plug 'liuchengxu/vim-which-key
" 浮动窗口支持
Plug 'voldikss/vim-floaterm'
" ranger文件管理器支持
Plug 'kevinhwang91/rnvimr'
call plug#end()

" 启用标签栏
let g:airline#extensions#tabline#enabled = 1
" 支持图标字体
let g:airline_powerline_fonts = 1
" 设置状态栏主题
let g:airline_theme='night_owl'
" 设置主题
set termguicolors
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
syntax enable
colorscheme night-owl
  • 安装、配置coc.nvim扩展

coc.nvim是一款支持扩展的插件,类似于油猴,可以通过安装扩展,以实现像Vscode一样使用NeoVim,下面列举了Python相关的coc扩展和配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
" coc扩展
let g:coc_global_extensions = [
      \'coc-json',
      \'coc-pyright',
      \'coc-snippets',
      \'coc-xml',
      \'coc-explorer',
      \'coc-prettier',
      \'coc-highlight']

" 使用tab键进行补全选择
inoremap <silent><expr> <TAB>
      \ pumvisible() ? "\<C-n>" :
      \ <SID>check_back_space() ? "\<TAB>" :
      \ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"

function! s:check_back_space() abort
  let col = col('.') - 1
  return !col || getline('.')[col - 1]  =~# '\s'
endfunction

" 使用回车进行补全选择
inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm()
                              \: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"

" Highlight the symbol and its references when holding the cursor.
autocmd CursorHold * silent call CocActionAsync('highlight')

" Add `:Format` command to format current buffer.
command! -nargs=0 Format :call CocAction('format')

" Add `:Fold` command to fold current buffer.
command! -nargs=? Fold :call     CocAction('fold', <f-args>)

" Add `:OR` command for organize imports of the current buffer.
command! -nargs=0 OR   :call     CocAction('runCommand', 'editor.action.organizeImport')

" 添加状态栏显示支持
set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}

" 启用Prettier进行文件自动格式化
command! -nargs=0 Prettier :CocCommand prettier.formatFile
let g:prettier#autoformat = 1

" 设置Coc Search
nnoremap <leader>? :CocSearch <C-R>=expand("<cword>")<CR><CR>

此外,coc扩展可以通过在~/.config/nvim/文件夹中创建coc-settings.json文件来进行配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "python.defaultInterpreterPath": "/data/data/com.termux/files/usr/bin/python",
    "python.pythonPath": "/data/data/com.termux/files/usr/bin/python",
    "python.linting.pylintEnable":true,
    "python.formatting.provider": "yapf",
    "python.formatting.yapfArgs": [
        "--style",
        "{SPACES_AROUND_POWER_OPERATOR: True, SPACES_BEFORE_COMMENT: 1}"
    ],
    "explorer.width": 38,
    "explorer.quitOnOpen": true,
    "explorer.sources": [
        {
            "name": "buffer",
            "expand": false
        },
        {
            "name": "file",
            "expand": true
        }
    ],
    "explorer.file.column.indent.indentLine": true,
    "explorer.file.showHiddenFiles": true,
    "explorer.icon.enableNerdfont": true,
    "explorer.keyMappingMode": "none",
    "explorer.buffer.showHiddenBuffers": false,
    "explorer.keyMappings.global": {
        "o": ["wait", "expanded?", "collapse", "expand"],
        "<cr>": ["wait", "expandable?", "cd", "open"],
        "?": "help",
        "q": "quit"
    },
    "coc.preferences.formatOnSaveFiletypes": ["*"],
    "prettier.printWidth": 100,
    "prettier.eslintIntegration": true,
    "prettier.disableLanguages": [],
    "prettier.formatterPriority": 1,
    "prettier.useTabs": true,
    "prettier.trailingComma": "all",
    "prettier.singleQuote": false,
    "prettier.tabWidth": 4
}
  • 配置vim-which-key

vim-which-key是一款快捷键映射插件,可以通过简单的设置进行快捷键自定义功能的实现。下面列举了vim-which-key的简单设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
" 将空格设置为whichkeyleader键
nnoremap <silent> <leader> :WhichKey '<Space>'<CR>

" whichkey基本配置
let g:which_key_timeout = 100
let g:which_key_display_names = {'<CR>': '↵', '<TAB>': '⇆'}
let g:which_key_map =  {}
let g:which_key_sep = '→'
let g:which_key_use_floating_win = 0
let g:which_key_max_size = 0

" 呼出whichkey时隐藏状态栏
autocmd! FileType which_key
autocmd  FileType which_key set laststatus=0 noshowmode noruler
  \| autocmd BufLeave <buffer> set laststatus=2 noshowmode ruler

" 自定义whichkey
let g:which_key_map['?'] = 'search word'
let g:which_key_map['/'] = [ ':call Comment()'                                 , 'comment' ]
let g:which_key_map['.'] = [ ':e $MYVIMRC'                                     , 'open init' ]
let g:which_key_map[';'] = [ ':Commands'                                       , 'commands' ]
let g:which_key_map['e'] = [ ':CocCommand explorer --toggle --sources=file+'   , 'explorer' ]
let g:which_key_map['n'] = [ ':let @/ = ""'                                    , 'no highlight' ]
let g:which_key_map['q'] = [ '<Plug>(coc-fix-current)'                         , 'quickfix' ]
let g:which_key_map['u'] = [ ':UndotreeToggle'                                 , 'undo tree']
let g:which_key_map['t'] = [':FloatermNew --wintype=normal --height=6'        , 'terminal']
let g:which_key_map['r'] = [ ':FloatermNew ranger'                            , 'ranger']
let g:which_key_map['f'] = [':FloatermNew fzf'                               , 'fzf']
let g:which_key_map['g'] = [':FloatermNew lazygit'                           , 'git']
let g:which_key_map['p'] = [':FloatermNew python'                            , 'python']
call which_key#register('<Space>', "g:which_key_map")
  • 在NeoVim中运行Python脚本

可以通过在NeoVim中添加自定义功能,从而在编写时运行当前Python脚本。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"在普通模式下,按r来运行Python脚本
noremap r :call RunPython()<CR> 
func! RunPython()
    exec "w"
    if &filetype == 'python'
        exec "!time python %"
    endif
endfunc
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据森麟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
容灾系列(三)——云网络容灾建设
网络属于基础设施部分,网络容灾建设作为一个数据中心验收重要指标。试想一个数据中心的网络链路存在单点,就如一个城市道路都是单行道,一旦出现交通事故,小则导致道路拥堵,大则导致整个城市交通瘫痪。IDC时代,业务对网络容灾参与较少,主要依赖数据中心网络容灾建设程度;当到了云的时代,云服务商将底层网络能力产品化后,云上客户更多参与网络容灾建设,提升业务稳定性。本文从云网络概述,云网络容灾复杂度以及典型案例来介绍云网络容灾建设。
开元
2021/08/09
5K0
容灾系列(三)——云网络容灾建设
Elasticsearch跨集群复制(CCR)之腾讯云ES跨地域容灾
腾讯云ES目前已经提供了多可用区部署,即支持同地域跨机房的高可用容灾方案,满足了绝大多数客户的需求。但是依然会有部分客户希望进一步提升容灾级别,能够做到跨地域容灾。随着腾讯云ES双网卡功能的发布,使得跨地域容灾成为可能。接下来我将介绍下腾讯云ES实现跨地域容灾的详细步骤。
吴容
2020/08/18
5.2K3
Elasticsearch跨集群复制(CCR)之腾讯云ES跨地域容灾
混合云演习常见案例
当检测到物理线路1发生故障,系统自动将流量切换至物理线路2,保证业务正常运行。故障修复后,流量自动切回。
怡然自得
2022/06/21
1.5K0
腾讯云高可用网络的修炼之道
当他睡眼惺忪、手拿红牛、嘴刁香烟迈着沉重的步伐从某网络核心机房走出来的时候,除了看门大爷简短问候之外,也只有刚刚过去的这个黑夜才真正懂得刚刚发生了什么,在外人眼里,这个夜晚再正常不过,和往常一样,刷刷微博、看看抖音,逛逛购物网站,即便是前一晚上有某些人觉得打开购物网站的页面有点卡慢,他们也可能不会放在心上,然而正是因为这样一个不一样的网络体验,网络工程师们已经是废寝忘食,鏖战了整整一夜,来修复引发这个网络卡慢的bug,在外人眼里一觉醒来,看似波澜不惊,但有时实则是暗流涌动;
abelbai
2020/10/31
12.5K2
腾讯云高可用网络的修炼之道
腾讯混合云网络设计白皮书
从1999年,公认的云计算先驱-Saleforce.com公司成立,到2006年,Amazon发布了名声大噪的EC2(Elastic Compute Cloud),首次面向公众提供基础架构的云服务产品-IaaS,中间经历了七年的时间。
abelbai
2023/04/26
4.3K1
腾讯混合云网络设计白皮书
Elasticsearch跨集群复制(CCR)之腾讯云ES跨地域容灾
腾讯云ES目前已经提供了多可用区部署,即支持同地域跨机房的高可用容灾方案,满足了绝大多数客户的需求。但是依然会有部分客户希望进一步提升容灾级别,能够做到跨地域容灾。随着腾讯云ES双网卡功能的发布,使得跨地域容灾成为可能。接下来我将介绍下腾讯云ES实现跨地域容灾的详细步骤。
腾讯云大数据
2021/01/08
3.7K0
Elasticsearch跨集群复制(CCR)之腾讯云ES跨地域容灾
腾讯云虚拟网络架构揭秘
腾讯云开发者社区
2017/12/12
9.6K0
混合云应用双活容灾最佳实践
越来越多的企业在数字化转型和上云进程中选择混合云的形态(云+自建 IDC 或云+其他厂商云)来进行容灾建设,一方面不会过度依赖单一云厂商,另一方面还能充分利用已有的线下 IDC 资源。
IT运维技术圈
2022/10/24
3.3K0
数栈数据安全案例:混合云环境数据库备份容灾实现
FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,比如MySQL,HDFS等,也可以采集实时变化的数据,比如MySQL binlog,Kafka等,是全域、异构、批流一体的数据同步引擎,大家如果有兴趣,欢迎来github社区找我们玩~
袋鼠云数栈
2021/05/14
5980
数栈数据安全案例:混合云环境数据库备份容灾实现
记一次混合云API暴露的反思
客户为金融企业对SLA要求及数据安全性很高,有限于考虑到业务的高可用性,采用混合云部署,业务流量入口为阿里金融云,前端可以添加安全设备WAF/CDN/高防IP等,之后Cname到统一入口SLB负载均衡上,后端采用虚拟服务器组,组内ECS部署在同Region的不同Zone,保障跨Zone的靠可用性,考虑到数据的安全性将数据持续化在IDC侧,阿里云与IDC通过云上部署深信服设备与IDC侧Cisco设备通过Ipsec ×××互联(考虑到稳定性目前已经实施专线互通),后端APP-Server与DB-Server部署在IDC,可参考下图:
迅达集团
2019/03/05
1.7K0
记一次混合云API暴露的反思
如何利用腾讯云BGP网络提升客户外网出口的冗余
最近几年,互联网公司发展迅速,有很多互联网公司本身的基础架构都构建在一些公有云厂商之上,除了节省初期投资之外,另外也是借助于一些大的云厂商本身的网络能力,实现业务更好的覆盖。
张小波
2018/10/25
7K2
如何实现混合云场景下的接入层统一?
01. 什么是混合云? 混合云是近年来云计算的主要模式和发展方向,私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中;但是同时又希望可以获得公有云的计算资源,混合云的诞生就是为了解决云连接的问题。 理论上,任何两个异构的云连接在一起都可称作混合云。它可以是私有云与公有云之间,公有云与公有云之间,甚至是私有云与私有云之间。但通常意义上,我们所指的混合云是指私有云与公有云的混合。 混合云能将不同云之间的资源进行混合和匹配,以获得最佳的效果,这种个性化的解决方案达到了既省钱又安全的目的。多家
腾讯云serverless团队
2021/05/28
1.5K0
容灾系列(一)—— 云上业务容灾方案要如何选?
说起容灾,很多同学脑子冒出来熟悉字眼,”同城双活”,“两地三中心”,“单元化”,“set化”等等。其实这些名词背后均隐射一层含义,面对一些灾难时候,业务如何做冗余来快速恢复业务。
开元
2021/05/18
9.3K1
容灾系列(一)—— 云上业务容灾方案要如何选?
专线相关操作指导—静态、BGP单通道对接
专线相关介绍可参考https://cloud.tencent.com/document/product/216
pinkcchen
2020/11/19
3.8K0
专线相关操作指导—静态、BGP单通道对接
Elasticsearch 跨集群复制(CCR)之腾讯云 ES 跨地域容灾
腾讯云 ES 目前已经提供了多可用区部署,即支持同地域跨机房的高可用容灾方案,满足了绝大多数客户的需求。但是依然会有部分客户希望进一步提升容灾级别,能够做到跨地域容灾。随着腾讯云 ES 双网卡功能的发布,使得跨地域容灾成为可能。接下来我将介绍下腾讯云 ES实现跨地域容灾的详细步骤。 一、对等连接 (https://cloud.tencent.com/document/product/553/18836from=10680) 首先将北京和上海的两个 vpc 建立对等连接,如下图所示: 新建对等链接 注
腾讯云大数据
2020/10/28
2.4K0
容灾系列(五)——数据库容灾建设
在一个数据为王时代,数据安全视为一家企业命根子,因此如何保障企业数据安全尤为重要。本文主要从数据库容灾方案视角,基于当前客户业务并结合技术&产品,制定最佳容灾方案。主要从以下三个方面来介绍:
开元
2021/10/21
8.6K2
容灾系列(五)——数据库容灾建设
中间件PaaS层组件容灾方案及实践
当下,随着数字化技术不断深入,愈来愈多企业将核心业务搬到线上。业务系统高可用、可扩展、容灾能力决定企业系统的连续性,中间件作为构建企业核心系统的重要组成部分,其高可用容灾能力也将决定应用系统的。本文结合腾讯云中间件各PaaS产品的容灾能力及实践,以一个行业头部客户业务容灾实践举例,来展开说明基于腾讯云中间件PaaS层相关产品的实践。
邓愉悦
2021/05/31
4.4K12
基于 Rainbond 的混合云管理解决方案
内容概要:文章探讨了混合云场景中的难点、要点,以及Rainbond平台在跨云平台的混合云管理方面的解决方案。包括通过通过统一控制台对多集群中的容器进行编排和管理,实现了对混合云中应用的一致性管理。文章还介绍了Rainbond平台在混合云环境下的应用模板交付、跨云团队管理等功能,帮助用户简化跨云平台的应用交付和运维操作。
Rainbond开源
2023/05/04
4910
【云+社区年度征文】带宽利用率提升50%,腾讯云联网架构方案解析
导语| 企业A是一家互联网公司,当前在云上计算资源已经接近10W核,华东地域专线流量24G+,资源部署以华东为主、华北、华南、西南等可用区为辅。该企业属于典型的混合云架构,本文主要分享企业A如何通过云联网架构优化实现带宽利用率提升50%?
binwenli
2020/11/30
6K0
【云+社区年度征文】带宽利用率提升50%,腾讯云联网架构方案解析
从架构到应用,全面解析混合云的优势
云计算在2016年有了极大的增长。一方面,AWS、阿里云等大型公有云厂商的云计算收入呈爆发式增长且绝对值数据可观;另一方面,通过持续市场培育,云计算的价值逐步被各国政府所认可。很多大型企业也纷纷发力云计算,传统IDC采购出现增长拐点。各种声音不断提醒人们,云计算不再是雷声大雨点小的噱头,而是成为大中小企业不可或缺的基础设施。2017年,云计算真正落地的话题逐渐成为业界讨论的热门话题。   当前,私有云和公有云相争的热潮渐弱,融合两者优势的混合云开始逐渐释放巨大的市场潜力。混合云的背后不再是厂商,而是一种混合
BestSDK
2018/03/02
1.2K0
从架构到应用,全面解析混合云的优势
推荐阅读
相关推荐
容灾系列(三)——云网络容灾建设
更多 >
LV.3
腾讯云高级工程师
目录
  • 一、Termux安装与配置
    • 1. 系统要求
    • 2. Termux安装
    • 3. Termux基本操作
    • 4. 修改软件源
    • 5. 安装基本组件
  • 二、终端配置
    • 1. Shell配置
    • 2. 主题美化
      • 2.1 配色与字体
      • 2.2 主题配置
    • 3. 启用vi模式(可选)
  • 三、Python包安装与配置
    • 1. 安装环境配置
    • 2 Python包安装
  • 四、IPython和NeoVim配置
    • 1. IPython配置
    • 2. NeoVim配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档