0%

服务器安装环境

本文环境

  • CentOS 7.6 64bit
  • root用户

目的

新买了一个华为的云服务器,安装一些python开发常用的软件和环境,包括

  • python环境
  • 安装最新的git
  • zsh(神器,必备,建议没有了解过的小伙伴了解一下)

前提

本文适用于Centos环境下,对Vim编辑器有一点了解能够完成简单的修改的操作的人群。

安装过程

准备

服务器中默认的ssh连接的过期时间有点短,可以设置长一点,省的在找一些资料的时候回去发现ssh连接断掉了

1
2
echo "ClientAliveCountMax 10" >> /etc/ssh/sshd_config
systemctl restart sshd

我这边设置的过期时间是10分钟,对应ClientAliveCountMax 10这里的10,可以根据自己的情况设置。

编译安装最新的git

本环节可跳过,直接使用yum -y install git安装git 即可

Centos使用yum -y install git安装的git是版本比较旧的,在后续使用时总会出现各种各样的问题,所以干脆我们一开始就安装一个比较新的git版本,省的后续再麻烦,虽说是编译安装,但是整体过程还是非常简单的,

首先使用yum来安装我们编译需要使用的依赖

1
yum -y install gcc gcc-c++ curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker autoconf

首先我们要先检查一些我们是否安装了git,

1
git --version

上面的命令可以查看当前是否安装了git,并可以查看git 的版本,我这边的结果是

1
git version 1.8.3.1

说明已经安装了git,但是是比较旧的版本,如果是-bash: aria2c: command not found 则说明没有安装git,如果已经安装了git,可以使用yum remove git来卸载掉。

完成依赖的安装后,使用wget命令来下载git的源码包,我这边最新的版本为2.25.2,

1
wget https://www.kernel.org/pub/software/scm/git/git-2.25.2.tar.gz

完成下载后,使用tar命令解压压缩包,然后进入到解压后的文件夹里,

1
2
tar -zxvf git-2.25.2.tar.gz
cd git-2.25.2

然后依次使用以下命令进行编译和安装

1
2
3
./configure --prefix=/usr/local/git
make profix=/usr/local/git
make install

其中make过程较慢,需要稍微等待一下,完成后就成功的将git安装到了/usr/local/git下,下面需要将这个path加入到环境变量中

1
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile && source /etc/profile

这时使用git --version即可查看安装的git版本,如下图

git结果图

到此为止,就完成了git的安装,另外可将原来的安装文件删除

1
rm git-2.25.2.tar.gz git-2.25.2 -rf

zsh安装[^ 1]

先放成果图

成果

安装zsh和oh-my-zsh

关于zsh的介绍,这里就不多说,介绍部分大家可以查看zsh官网

安装的过程非常简单,(我们默认是在root下的,不需要使用sudo,如果不是root,则需要sudo)

  • 对于Centos 使用 yum -y install zsh
  • 对于Ubuntu 使用apt-get -y install zsh

完成zsh的安装之后,可以使用cat /etc/shells查看当前系统下有哪些shell,会发现多了一个zsh,

使用chsh -s /bin/zsh root命令为root用户更换shell到zsh

但是这时zsh还是没有配置的状态,而zsh最强大的地方就是它可以经过配置,安装许多对应功能的插件,以提供各种各样的功能,

但是zsh的配置是比较复杂的,想要全部了解还是比较难的,可以使用一下公用的配置,即oh-my-zsh

使用以下命令进行安装oh-my-zsh

1
wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh

众所周知的原因,后面的git clone会比较慢,等待即可,安装完成后显示

oh-my-zsh结果

这时使用exit退出连接,然后再重连,即可看到变化,如下图,可以看到shell指示符变成了一个箭头,

结果

其他问题:安装后会遇到Home和End键失灵的情况,对应的键改为,如果使用不习惯,可以通过配置解决,可以参考 配置失灵修复,但是个人感觉笔记本Ctrl a Ctrl e 比较好按,按照个人情况选择吧。

Home = Ctrl + a

End = Ctrl + e

安装插件

安装过oh-my-zsh后,在本地个人的工作目录下,会有一个.zshrc文件(~/.zshrc

该文件即为oh-my-zsh的配置文件,可以文件中配置一些主题和插件,首先配置一些插件,下面都是我比较常用的,

1
2
3
plugins=(
git zsh-autosuggestions zsh-syntax-highlighting
)

对于插件安装的方法,在使用命令安装完成后,只需要在~/.zshrc中添加即可,使用vim打开~/.zshrc,找到如图所示的位置,添加对应的插件名,下面是我已经添加了三个插件的结果,添加完使用命令source ~/.zshrc即可让配置生效

插件的位置

  • git插件,可以在命令行中显示当前本地Repo的一些信息,包括当前所在的分支等,效果如下
    • git效果
    • 这个插件是默认自带
  • zsh-syntax-highlighting
    • 这个插件的功能是,如果你的命令输入正确了,会提供一个高亮显示,显示为绿色,否则为红色
    • 使用以下命令安装即可,并在.zshrc中加入zsh-syntax-highlighting即可使用
    • git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
    • 效果如下
  • zsh-autosuggestions
    • 该插件的功能是可以根据历史输入的命令,对当前输入的命令进行补全,安装命令如下,安装后在.zshrc中加入zsh-autosuggestions即可
    • git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
    • 效果如下
    • 注意看光标的位置,只是输入了tar,这个命令非常方便,且非常常用

我只安装了这几个,所有的插件参考 所有插件 ,喜欢折腾的可以自己选择

安装主题

同样oh-my-zsh提供了许多主题,所有的主题和其预览可以查看 https://github.com/robbyrussell/oh-my-zsh/wiki/Themes

我这里使用的是powerlevel9k/powerlevel9k,下面是安装步骤[^ 2]

使用命令git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k下载主题对应的文件,

在文件的对应位置,如下图

将ZSH_THEME设置为如下内容即可:

1
ZSH_THEME="powerlevel9k/powerlevel9k"

另外在文件开头,加入以下语句

1
export TERM="xterm-256color"

然后执行source ~/.zshrc命令即可 ,退出vim编辑器即可看到shell已经变啦

python安装[^ 3]

安装python环境

前面安装了一些基础的部分,下面开始安装python环境,本文使用Pyenv来进行python环境的管理,

首先使用以下命令安装Pyenv

1
sudo curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

安装结束后,将下列命令加入到.zshrc中,然后执行source ~/.zshrc

1
2
3
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"

接下来就可以开始使用Pyenv的命令啦,如果对pyenv不了解的话,可以看一下简单教程,使用还是非常简单的

教程链接,这里就不再赘述了

首先安装一些编译安装python所需的依赖,

1
2
3
4
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install -y libffi-devel zlib1g-dev
yum install zlib* -y

如果是ubuntu,可以使用下面的命令来安装

1
sudo apt-get install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev

下面安装python环境,这里使用pyenv的淘宝镜像来安装python,下载对应的文件放到~/.pyenv/cache中,并使用pyenv进行安装,下面是一个傻瓜脚本,参考自使用pyenv安装python

1
v=3.7.3;wget https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v 

其中v=3.7.3代表我们想要安装3.7.3版本,如果想要安装其他版本只需修改此部分即可。

如果安装过程中出现如上图所示的错误,使用yum -y install libffi-devel xz-devel 安装缺少的依赖,再次执行v=3.7.3;pyenv install $v继续安装即可

由于安装python需要编译,所以需要花费一点时间,

  1. 安装完成后,使用pyenv versions查看当前所有的python环境的版本,可以看到有我们刚刚安装的3.7.3,
  2. 使用命令pyenv global 3.7.3即可设置全局的python版本为3.7.3,
  3. 最后再使用source ~/.zshrc即可,如下图所示可以看到python的版本为对应的3.7.3

pip换源

完成python环境安装后,还有一步,就是对pip换源,pip原本的源在国外,在安装一些大的依赖时非常慢,所以我们需要换成国内速度比较快的源,

这是换源使用的也是一个python的库,叫pqi,使用下面的命令安装即可

1
pip install pqi

安装成功后,使用pqi ls可以显示当前有哪些源可以使用,可以使用pqi show显示当前使用的源,如下图:

一般在非教育网的环境下可以使用aliyun或者douban,在教育网环境下可以使用tuna或者ustc

使用以下命令可以使用aliyun的源

1
pqi use aliyun

使用pqi show查看当前源发现已经换成了aliyun的源了,速度比之前pypi的要快上不少。

换源之后安装numpy,速度还是很快的

参考链接

  1. https://blog.csdn.net/u010138906/article/details/78778627

  2. https://github.com/Powerlevel9k/powerlevel9k/wiki/Install-Instructions#step-1-install-powerlevel9k

  3. https://segmentfault.com/a/1190000006174123