最近,华为云的云服务器即将过期,而且centos已经停止维护。恰逢阿里推出了超值的99元一年优惠机器,我决定把开发机迁移到阿里云,并基于debian系统重新配置。接下来,我就分享一下这个迁移和配置过程。
基础配置
首先,使用root
用户登录到新的Linux服务器上。为了确保服务器的安全性和易用性,我们需要进行一些基础配置。
创建普通用户。
为了避免使用root
用户执行日常操作(毕竟,谁也不能100%保证自己不会手误执行rm -rf / *
这样的命令!),我们首先创建一个普通用户。这里以mafan
为例:
# 创建 mafan 用户,并指定用户根目录为 /home/mafan,登录 shell 为 /bin/bash
useradd -m -d /home/mafan -s /bin/bash mafan
# 设置 mafan 用户的登录密码 Changing password for user mafan.
passwd mafan
创建完普通用户之后,我们就可以使用普通用户 mafan
登录系统,并执行各类操作,使用普通用户操作 Linux,因为权限有限,可以最大限度确保 Linux 服务器的安全。
赋予普通用户无密码 sudo 权限。
有时,普通用户也需要执行一些需要root权限的操作。为了安全起见,我们可以通过配置sudoers文件,允许mafan
用户无密码使用sudo
命令:
echo 'mafan ALL=(ALL) NOPASSWD: ALL' | sudo tee -a /etc/sudoers
这条命令会将mafan ALL=(ALL) NOPASSWD: ALL
添加到/etc/sudoers
文件的末尾,使mafan
用户可以无密码使用sudo
。
配置
$HOME/.bashrc
文件
完成以上两步,就可以使用刚创建的普通用mafan
登录服务器了。
我们登录新服务器后的第一步就是配置 $HOME/.bashrc
文件,以使 Linux 登录 Shell 更加易用,例如:配置 LANG
解决中文乱码;配置 PS1
可以使命令行提示符显示更简洁。配置后的内容如下:
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# Enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias ll='ls --color=auto -l'
alias la='ls --color=auto -A'
alias l='ls --color=auto -lA'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# Colored GCC warnings and errors
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# Some aliases to prevent mistakes
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Create a default workspace directory to keep all work files in one place
if [ ! -d $HOME/workspace ]; then
mkdir -p $HOME/workspace
fi
# User-specific environment settings
# Basic environment
# Set system language to en_US.UTF-8 to avoid Chinese character display issues in the terminal
export LANG="en_US.UTF-8"
# The default PS1 setting displays the full path, to prevent it from becoming too long,
# it now shows "username@dev last_directory_name"
export PS1='[\u@dev \W]\$ '
# Set the workspace directory
export WORKSPACE="$HOME/workspace"
# Add $HOME/bin directory to the PATH variable
export PATH=$HOME/bin:$PATH
# 默认进入工作目录
cd $WORKSPACE
通过 vi
命令打开文件 $HOME/.bashrc
把以上内容粘贴进文件即可。
配置好 $HOME/.bashrc
文件后,我们就可以执行 bash
命令将配置加载到当前 Shell 中了。
上述 Bash 脚本会自动创建工作目录 workspace
,以后所有的工作都可以在这个目录下展开。这样做可以带来以下几点好处:
整洁有序:保持
$HOME
目录的整洁,便于文件查找和分类。灵活扩展:如果
/
分区空间不足,可以轻松将整个workspace
目录移动到其他分区,并通过软连接保持访问便捷。简化备份:想要备份所有工作文件?直接打包
workspace
就搞定了!
同时,我们也优化了PATH
变量的配置,确保了命令的优先匹配,提升了工作效率。
通用工具安装
接下来是安装我们日常开发中常用的工具。
依赖工具一键安装。
你可以在 Debian 系统上通过 apt
命令来安装需要的依赖工具,安装命令如下:
sudo apt update
sudo apt install -y build-essential jq tclsh gettext bc htop tree curl ripgrep
这些工具将为我们后续的开发提供强大的支持。
Git安装与配置。
如果对 git 版本没有特殊要求话,直接执行以下命令安装:
sudo apt install -y git
完成后可以直接执行以下命令来配置 Git:
# 用户名改成自己的
git config --global user.name "dengmengmian(麻凡)"
# 邮箱改成自己的
git config --global user.email "my@dengmengmian.com"
# 设置 git,保存用户名和密码
git config --global credential.helper store
# 解决 Git 中 'Filename too long' 的错误
git config --global core.longpaths true
配置完后可通过git config --list
查看。
开发环境搭建
Go 编译环境安装和配置
安装 Go 的编译环境步骤比较简单,你只需下载源码包、设置相应的环境变量即可。具体步骤如下:
下载安装包。
可以从 Go 语言官方网站下载对应的 Go 安装包以及源码包,下面的命令会下载 go1.22.5
安装包:
wget -P /tmp/ https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
解压并安装。
执行以下命令解压并安装 Go 编译工具和源码:
mkdir -p $HOME/go
tar -xvzf /tmp/go1.21.5.linux-amd64.tar.gz -C $HOME/go
mv $HOME/go/go $HOME/go/go1.21.5
配置
$HOME/.bashrc
文件。
你可以执行以下命令,将下列环境变量追加到 $HOME/.bashrc
文件中。
tee -a $HOME/.bashrc <<'EOF'
# Go envs export
# Go 版本设置
GOVERSION=go1.21.5
# Go 安装目录
export GO_INSTALL_DIR=$HOME/go
# GOROOT 设置
export GOROOT=$GO_INSTALL_DIR/$GOVERSION
# GOPATH 设置
export GOPATH=$WORKSPACE/golang
# 将 Go 语言自带的和通过 go install 安装的二进制文件加入到 PATH 路径中
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH
# 开启 Go moudles 特性
export GO111MODULE="on"
# 安装 Go 模块时,代理服务器设置
export GOPROXY=https://goproxy.cn,direct
export GOPRIVATE=
# 关闭校验 Go 依赖包的哈希值
export GOSUMDB=off
EOF
测试是否安装成功。
如果你执行 go version
命令可以成功输出 Go 的版本,就说明 Go 编译环境安装成功。具体命令如下:
go version
Node 安装
不会前端的后端不是好的后端,所以 Node 也是必备的,具体步骤如下:
下载安装包。
从官方网站下载对应的安装包以及源码包,下面的命令会下载 v20.11.0
安装包:
wget -P /tmp/ https://nodejs.org/dist/v20.11.0/node-v20.11.0-linux-x64.tar.xz
解压并安装。
执行以下命令解压并安装 Node 编译工具和源码:
mkdir -p $HOME/node
tar -xvf /tmp/node-v20.11.0-linux-x64.tar.xz -C $HOME/node
mv $HOME/node/node-v20.11.0-linux-x64/ $HOME/node/nodev20.11.0
3.软连至/usr/local/bin/
。
sudo ln -s $HOME/node/nodev20.11.0/bin/node /usr/local/bin/
sudo ln -s $HOME/node/nodev20.11.0/bin/npm /usr/local/bin/
测试是否安装成功。
执行以下命令能成功输出版本信息,就说明安装成功。具体命令如下:
node -v
npm -v
安装 pm2
使用 pm2 主要是用来简化程序的管理、监控和部署。安装命令如下 :
npm install -g pm2
# 软连
sudo ln -s $HOME/node/nodev20.11.0/bin/pm2 /usr/local/bin/
开发工具安装
开发环境已搭建好,我们用什么工具开发呢?个人的主力开发工具是使用 Neovim。有时会使用 goland 远程连接开发机开发。所以这里主要讲下 Neovim 的配置:
1.安装 neovim,命令如下:
wget -P /tmp/ https://github.com/neovim/neovim/releases/download/v0.9.5/nvim-linux64.tar.gz
解压并安装。
执行以下命令解压并安装 neovim 编译工具和源码:
mkdir -p $HOME/neovim
tar -xzvf /tmp/nvim-linux64.tar.gz -C $HOME/neovim
mv $HOME/neovim/nvim-linux64/ $HOME/neovim/neovimv0.9.5
3.软链至/usr/local/bin/
。
sudo ln -s $HOME/neovim/neovimv0.9.5/bin/nvim /usr/local/bin/
4.设置别名:
`echo 'alias vim="/usr/local/bin/nvim"' | sudo tee -a ~/.bashrc`
安装LazyVim。
LazyVim 是一个由 lazy.nvim 驱动的 Neovim 开箱即用配置,且非常轻松定制和扩展您的配置。
# Clone the starter
git clone https://github.com/LazyVim/starter ~/.config/nvim
# Start Neovim!
nvim
结语
至此,基于debian系统远程开发机已经完成了基础配置、通用工具安装以及开发环境的搭建。



