话说,学习技术的最好方式就是实操,学习Linux
也是如此。大部分同学学习Linux
命令行的实操都是在虚拟机中完成的,这种方式确实方便快捷,但是当真有一台服务器给你用来练手不是更香?
巧了,我刚好就有了这么个机会,实验室有一台没人用的Windows Server
服务器,我想反正没人用,不如干脆我先拿来做git
服务器。谁能想到这一想就浪费了我三天……
多的不说了,还是赶紧先把血泪史记录下来,省的以后再踩坑。
CentOS安装
因为是在服务器使用,所以不太需要图像界面,所以这里我用了CentOS 7.8
而不是选择Ubuntu
。CentOS
国内有很多镜像下载,不必去忍受官网令人发指的网速。
CentOS
共有六个版本的镜像文件,可以根据自己需要下载相应版本:
CentOS-7-x86_64-DVD-1708.iso
标准安装版(一般这个就可以)CentOS-7-x86_64-Everything-1708.iso
完整版,集成所有软件(不放心或者有特殊软件包需要可以下载)CentOS-7-x86_64-LiveGNOME-1708.iso
GNOME桌面版CentOS-7-x86_64-LiveKDE-1708.iso
KDE桌面版CentOS-7-x86_64-Minimal-1708.iso
精简版,自带的软件最少CentOS-7-x86_64-NetInstall-1708.iso
网络安装版(从网络安装或者救援系统)
启动盘制作
下载镜像之后使用UltralISO
软件制作启动盘,这里要注意一定使用完全版,试用版可能存在问题,导致后续安装过程无法正常进行。
在工具栏“文件”中选择“打开”,之后在“启动”中选择“写入硬盘映像”将内容写入u盘,等待写入完毕启动盘就制作完成了。
修改服务器BIOS
安装系统的必备步骤之一,修改电脑启动顺序。服务器也可以看作是一台电脑,这一步也必不可少。
各家厂商的机器进入BIOS
的方式都各有不同。我这次配置的服务器是华为的,是在开机时按del
进入。进入BIOS
后将u盘提到启动顺序第一即可。
系统安装
在安装系统过程中踩了很多坑,反复重装了三次,浪费了很长时间,下面主要说一下坑的地方,正常的就一笔带过。
首先是在刚进入启动盘的时候
在这个页面选择第一个Install CentOS Linux 7
,不要回车,按e
对路径进行编辑,不然会无法读取u盘内容。将第一行Labal=
后的路径全部删掉,改为u盘的盘符(注意是u盘名称,如CENTOS
,而不是F:
)即可。
进入安装界面之后首先是需要选择语言,这里最好选择英语,不然后面系统中出现中文对于命令行操作来说十分麻烦。
之后设置时区为上海
时区设置完成后进行软件包选择,千万不要忘记这一步,不然安装程序默认的是最小安装,导致后面安装完成后会有很多工具无法使用。
在该选项中自行选择需要的基础环境和所需的各种软件包。完成后选择安装位置。
安装位置选完切记配置网络,如果你安装了不带GUI的版本,命令行网络配置还是比较麻烦的。
由于实验室网络的特殊性,我是使用固定IP地址的(上图源自菜鸟教程,原谅我安装的时候没截图),实际网络中可以使用dbcp
自动获取。
完成这些步骤就可以点击开始安装了。在安装界面还需要设置root密码,设置完成后等待安装完成就可以了。
各类配置
安装完成后还需要进行一些配置来优化使用体验。
网络配置
我在安装完成后首先遇到的问题就是连接本地局域网交换机的网口和连接外网的网口无法同时使用。后来发现是因为系统中自带的Network
和NetworkManager
两个管理工具存在冲突导致的,这里选择禁用NetworkManager
,在网卡设置ifcfg
文件中加入
NM_CONTROLLED=no
实际上好像有更好的方法来处理二者,使他们同时运行,而且NetworkManager
似乎是更好的选择,但是为了便捷使用,我也没有深究。
SSH配置
作为服务器大部分时间肯定还是远程登录控制,不可能每次都要去机房里捣鼓。所以SSH
的配置就十分重要。
首先在自己的Windows
主机上生成公钥和私钥,在命令行中输入
ssh-keygen
这会在C:\Users\用户名\.ssh
目录下生成两个文件,一个公钥一份私钥。
这时需要在服务器中也开启ssh(默认是开启的),之后将刚刚客户端生成的公钥,也就是id_rsa.pub
文件中的内容复制到服务器~/.ssh/authorized_keys
文件中。除此之外还需要对服务器SSH
进行一点配置,打开/etc/ssh/sshd_config
文件,修改两个变量
GSSAPIAuthentication no
UseDNS no
这样就可以客户端就可以快速免密连接服务器了。
PuTTY
接下来推荐一个远程连接神器PuTTY
,进入之后的界面是这样的
打开随PuTTY
安装的PuTTYgen
Load
载入上一步中生成的私钥,也就是id_rsa
文件。保存生成的.ppk
文件,回到PuTTY
载入刚生成的.ppk
文件
完成后就可以回到最开始的地方保存,之后Open
就可以打开终端免密登陆了。
oh-my-zsh及插件安装
oh-my-zsh
是基于zsh
的一款终端优化软件,安装在Linux
系统中可以使界面更好看,加上插件更是能自动补全、高亮显示拼写错误,非常好用。具体安装方法在以前的WSL
配置文章中讲过,这里就不详细展开了,详情请参照WSL+oh-my-zsh+cmder配置全纪录。
至此服务器配置完毕,超大的内存可以够我存好多东西了,git仓库也可以搬到这里,最关键还省了花钱买云服务器的钱,舒服。后面如果有需求还可以搞个公网IP或者做内网穿透实现外网远程操作,很方便。