预计所需阅读时间:4分钟

之前写了几篇VPS搬家记录和优化博客记录就没有写运维这一块的内容。对我来说,表达内容、呈现内容比折腾服务器技术更重要,因为这个服务器始终是为人服务,为内容服务。另外,运维工作的附加价值在整个技术链条中,不算高。

现在服务比较稳定运行5个月,自己在报名学习Python之后,在这个12月又开始折腾了一下服务器,现在做个记录,以免自己忘记。

开始是想重装yum和Python的方式,顺便把Python更新到最新的3.8.0版本,只保留Python3,但是yum命令必须依赖Python2,所以重装yum也必须带上Python2。然后自己下了很Python和yum的rpm包。装起来也要装不同的依赖,由于之前把yum和Python全清了,再装Python3时出现了不少问题。不知道是在哪次操作中,yum的repo更新源也清空了。所以做个决定还是要慎重,如果服务器没还原功能就不要轻易尝试。于是,将服务器镜像还原回重装之前。

重新安装yum默认repo源的命令如下,然后再安装FastestMirror插件用于自动选择速度最快的仓库镜像下载软件包:

  1. rm -rf /etc/yum.repos.d/*
  2. rpm -Uvh --force http://mirror.centos.org/centos-7/7/os/x86_64/Packages/centos-release-7-6.1810.2.el7.centos.x86_64.rpm
  3. yum install yum-plugin-fastestmirror

海外的服务器都没有必要使用国内高校源、阿里源、163源等公共源,国外的云主机会用上国外当地的源,一般都是最快的。只有国内部分Linux主机用默认源时,连到了国外的服务器,所有才会有改到高校、阿里、163源的情况。

这次只卸载Python3,由于之前不太懂Linux,结果装了两个Python,一个3.7.0,另一个3.7.3。通过whereis which命令找到所有Python3版本的文件,一般在/usr/bin, /usr/lib, /usr/local, /usr/local/bin, /usr/local/lib等这些目录下。原本Linux完全卸载没想象中那么难。在Windows有控制面板卸载和Uninstall.exe文件,而在Linux所有东西都可以用文件来表示,内存、硬件、程序、命令等。而且Linux所有的程序都是可执行的命令,所以以后都统称为命令就好了。

目前在Linux使用过的安装方式用yum pip rpm和编译的方式,最喜欢用yum pip这种一行就将要的命令装好的方式。Windows就不流行这种,要手机安装,还要防止流氓软件的入侵。一般先是./configure --参数,然后make, make install。之前,只用这种方式装了ffmpeg,也是慢慢看才装完的,其它命令都用一键安装的脚本来装的。删完旧版Python3后,只能默认编译了3.8.0版本。不能加上--enable-optimizations参数,这个问题留到日后解决吧。

装不同的版本在同一台机子里,pip pip2 pip3 python python2 python3这几个命令可能会出现指向的问题。一般2版本的不会出问题。更新之后要做的就是把pip python命令的软链接指向pip3 python3。用ln -s命令,这就像Windows的快捷方式了。最后也别忘了把yum调用的python版本指向python2的。

最后还学了用screen命令和nohup python hello.py &命令,解决Linux关闭终端(关闭SSH等)后运行程序停止的问题。这样以后就可以用服务器挂python爬虫,抓数据分析用的数据了,不用一直开着电脑。