前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >配置一台开发服务器

配置一台开发服务器

原创
作者头像
杜逸先
修改2021-06-10 11:50:27
2.7K0
修改2021-06-10 11:50:27
举报
文章被收录于专栏:追不上乌龟的兔子

临近 618 年中大促,各大云服务商也会提供一些优惠。正好我三年前在腾讯云上买的一台 2 核 4G 的虚拟机到期了,看了一下腾讯云的优惠活动,下单了一台 2 核 4G 的的轻量应用服务器(一年期,288 元)。

轻量应用服务器一般都会提供一些常见的镜像(WordpressLAMP 等),我的目的不是建站,所以还是选了朴素的 Ubuntu18.04 的基础镜像。

下面大致介绍一下我配置服务器的过程(安装及配置方法基本来源于对应工具官网)。

配置密钥登录

轻量应用服务器默认是从腾讯云控制台直接登录到终端,可以将自己的公钥加到 ssh 配置里。

代码语言:txt
复制
# Remote
cat PUBLIC_KEY >> ~/.ssh/authorized_keys

为了方便登录,可以配置自己主机的ssh config 文件,随后就可以通过ssh light命令登录到服务器。

代码语言:txt
复制
# ~/.ssh/config

Host light
  HostName 1.2.3.5
  Port 22
  User lighthouse

<!-- more -->

更新系统

事实上我可以直接通过命令更新到 20.04,不过根据历史经验服务器直接升级系统不是很稳定,我还是只进行了基本的系统软件更新。

代码语言:txt
复制
sudo apt update
ssh apt dist-upgrade

安装配置oh my zsh!

oh my zsh!比起默认的bash还是要好用一点,并且可以很方便地进行配置。

代码语言:txt
复制
sudo apt install zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

安装常用开发工具

build-essential

基础的gccg++make等构建工具链可以通过安装build-essential来获得。

代码语言:txt
复制
sudo apt install build-essential

pyenv

ubuntu 18.04 自带的 Python 版本还是老了一点。我个人还是非常依赖Python 3.8及以上版本的新语言特性的。在 Linux 平台上安装多版本的 Python,最方便的就是使用pyenv工具了。

安装构建依赖
代码语言:txt
复制
sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
安装pyenv
代码语言:txt
复制
curl https://pyenv.run | bash

安装好 pyenv 后需要按照提示设置一下.zshrc

使用pyenv
代码语言:txt
复制
pyenv install 3.9.5
pyenv install 3.10.0b2
pyenv gloabl 3.9.5
python -m pip install -U pip # 升级pip

Python 相关工具

代码语言:txt
复制
pip install pipenv poetry iredis httpie prm -i https://mirrors.cloud.tencent.com/pypi/simple

pipenvpoetry用于项目和虚拟环境理(我个人不喜欢用virtualenv-wrapper)。

httpie是一个很好用的 curl 替代工具。

iredis是一个交互友好的 redis-client 替代工具。

prm是一个管理默认pypi源的工具(作者是我本人)。

dockerdocker-compose

docker 本身或许不是必要的,但我现在习惯使用容器部署 redismongodb 实例,并使用 docker-compose 管理。

安装docker
代码语言:txt
复制
# 安装依赖
sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
# 引入官方GPG-KEY
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 配置apt源
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 配置非root用户管理docker
sudo usermod -aG docker light
安装docker-compose
代码语言:txt
复制
# 下载
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 修改权限
sudo chmod +x /usr/local/bin/docker-compose

rust 及相关工具

身为一个 rust 爱好者,我在大部分的环境下都安装了 rust 工具链和一些列使用 rust 编写的命令行工具。

安装 rust 工具链
代码语言:txt
复制
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
安装 rust 工具

实际上下面有些工具是可以直接下载二进制文件的,使用cargo install会花费大量的编译时间。

  • bat (功能加强的 cat)
  • du-dust (du 替代品)
  • eva (命令行计算器)
  • exa (ls 替代品)
  • fd-find (更好用的 find 替代品)
  • gitui (还不错的 git 管理工具)
  • miniserve (静态 http 服务器,自带一些高级功能:下载 zip,上传文件等,替代python -m http.server)
  • procs (ps 替代品)
  • ripgrep (grep 替代品)
  • tokei (统计代码行数,比 cloc 快很多)
  • xh (rust 版本的 httpie)

deno

我个人还是比较喜欢 deno 的一些理念的,希望这台服务器上可以不用安装node.js

代码语言:txt
复制
curl -fsSL https://deno.land/x/install/install.sh | sh

jre、dotnet、php...

安装方式可以通过官网和搜索引擎获取,只是部署相关服务的话建议使用容器。

总结

配置一台开发服务器还是比较麻烦的,以后有空的话或许可以研究一下ansible

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置密钥登录
  • 更新系统
  • 安装配置oh my zsh!
  • 安装常用开发工具
    • build-essential
      • pyenv
        • 安装构建依赖
        • 安装pyenv
        • 使用pyenv
      • Python 相关工具
        • docker 和 docker-compose
          • 安装docker
          • 安装docker-compose
        • rust 及相关工具
          • 安装 rust 工具链
          • 安装 rust 工具
        • deno
          • jre、dotnet、php...
          • 总结
          相关产品与服务
          轻量应用服务器
          轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档