云服务器CentOS 7.5折腾

修改主机名

hostnamectl命令可以查看当前主机名

1
hostnamectl set-hostname tcloud

再去/etc/hosts中修改

最后重启

修改SSH端口

云服务器是被攻击的重灾区,所以默认的SSH 22端口一定要修改

1
vim /etc/ssh/sshd_config

添加 Port 端口号,然后重启服务

1
systemctl restart sshd

注释掉原来的端口号

因为是云服务器所以直接在控制台更改安全组配置就行不用在本机配置防火墙了

修改yum源

个人比较喜欢清华大学的tuna源,内有详细教程

顺便再弄一下EPEL

EPEL(Extra Packages for Enterprise Linux)是由Fedora Special Interest Group维护的Enterprise Linux(RHEL、CentOS)中经 常用到的包。

各类软件环境安装

git

yum上的版本较老,所以选择源码编译安装

  1. 安装依赖工具

    1
    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
  2. 下载并解压

    1
    2
    wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz
    tar -zxvf git-2.21.0.tar.gz
  3. 编译安装

    1
    2
    3
    4
    5
    6
    cd git-2.21.0
    make prefix=/usr/local all
    make prefix=/usr/local install
    echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc

    source /etc/bashrc

JAVA

  1. 下载Oracle JDK 1.8 tar.gz

  2. 解压到/usr/local/java

  3. 配置环境变量

    1
    2
    3
    4
    JAVA_HOME=/usr/local/java/jdk1.8.0_211
    export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/

    export PATH=$PATH:$JAVA_HOME/bin

nodejs在yum上的版本更老,不过官方有已经编译好的文件,直接下载linux binaries文件解压设置一下环境变量即可

官方文档

nginx

参考官方文档安装

  1. 安装依赖软件

    1
    sudo yum install yum-utils
  2. 设置yum源,创建文件 /etc/yum.repos.d/nginx.repo 填入如下内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key

    [nginx-mainline]
    name=nginx mainline repo
    baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=https://nginx.org/keys/nginx_signing.key
  3. 默认情况下,nginx源使用的是stable版,如果想用mainline版可以使用如下命令

    1
    sudo yum-config-manager --enable nginx-mainline
  4. 安装nginx

    1
    sudo yum install nginx
  5. 当提示导入GPG key时,确认指纹

    573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62

oh my zsh

一个强大又漂亮的命令行工具,是基于zsh的扩展集

安装需要git,然后输入如下命令即可

1
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

主题

powerlevel9k

git clone

1
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

编辑~./zshrc

1
ZSH_THEME="powerlevel9k/powerlevel9k"

可能会有如下提示,因为默认的ssh连接是使用8色的,我用的xshell是支持的,按提示更改zshrc即可

WARNING! Your terminal appears to support fewer than 256 colors!
If your terminal supports 256 colors, please export the appropriate environment variable
before loading this theme in your ~/.zshrc. In most terminal emulators, putting
export TERM=”xterm-256color” at the top of your ~/.zshrc is sufficient.

也可以用tput colors 查看当前的颜色

字体

因为该主题会用到很多符号,所以需要安装字体,这里选择powerline字体

官方文档

  1. 下载字体和配置文件

    1
    2
    wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
    wget https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf
  2. 移动字体文件到用户字体目录,可用xset q查看目录

    1
    mv PowerlineSymbols.otf ~/.local/share/fonts/
  3. 更新字体缓存,没有命令的需要安装fontconfig

    1
    fc-cache -vf ~/.local/share/fonts/
  4. 安装字体配置文件

    1
    mv 10-powerline-symbols.conf ~/.config/fontconfig/conf.d/

插件

Z

自带的类似于autojump的插件,在配置文件中启用即可

1
plugins=( [plugins...] z)
1
source ~/.zshrc

zsh-syntax-highlighting

高亮平时输入的命令,错误为红色,正确为绿色

  1. clone到oh my zsh的插件目录

    1
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  2. 在配置文件~/.zshrc中激活

    1
    plugins=( [plugins...] zsh-syntax-highlighting)
  3. 应用配置

    1
    source ~/.zshrc

zsh-autosuggestions

命令建议和补全,特别是历史命令很好用,按→补全,也可以自定义

  1. Clone到插件目录$ZSH_CUSTOM/plugins(默认~/.oh-my-zsh/custom/plugins)

    1
    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  2. 更改配置文件~/.zshrc

    1
    plugins=( [plugins...] zsh-autosuggestions)
  3. 应用更改

    1
    source ~/.zshrc

自定义可以在~/.zshrc末尾添加

1
bindkey 'key' autosuggest-accept

ZSH环境变量问题

一般自己编译安装软件时,按照官方文档配置环境变量在bash相关文件里面,但是在shell切换为zsh后,zsh并不会读取bash中的环境变量配置,网上一般有两种解决方式,一是把相关环境变量配置复制到zshrc里面,另一种是在zshrc最后加上source ~/.bash_profile,但这样会存在一个问题,bash_profile最终会调用/etc/.bashrc,里面会执行shopt命令,然而这个命令是bash专属的,会报错,这样便无法读取到其中的环境变量配置
我按照nodejs官方配置环境变量加在~/.profile中,为了方便我将其他变量配置复制到该文件中,然后在zsh配置文件后面source一下就行