前端工程师怎么从0开始配置一个服务器

前言

昨天在服务器搭建 vpn 的时候,不负众望的又爆掉了,作为一个纯前端工程师,搭建服务器这条路走的果然异常艰辛,前前后后因为各种问题已经挂掉两次了。究其原因,不外乎对运维知识毫无了解,自己摸索然后踩了无数的坑。然而自己也在不断地错误中对知识掌握的更加深刻。这次服务器初始化实例,也终于有机会从0开始记录一下自己搭建网站的全过程,这么想来居然也是一个不错的机会。好了废话就到这里,下面正文开始。

搭建步骤

本篇博客我们会从下面几个步骤去搭建服务器

  • wget:安装一些系统常用的软件
  • zsh:首先就是配置 shell 了,系统自带的 shell 实在是太难用。
  • ssh:接下来配置 ssh、方便我们使用自己的电脑管理服务器。
  • vimpython3: 这里升级 vim8,需要用到 python3 的环境
  • 开一个普通用户,下面的操作我们都在普通用户中进行。
  • ftp:用于传输文件等
  • Docker:这里配置 Docker 及项目服务

基础配置

  • 首先更新一下 yum
$ yum update

在这里插入图片描述

  • 然后安装一些常用的系统软件,这里我的系统里预装过了
$ yum install curl wget

在这里插入图片描述
安装 git

$ yum install git
  • 配置 yum 国内源

我们首先备份原配置

$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载网易的源然后改名放到 /etc/yum.repos.d/ 目录
对应系统需要下载对应的文件
CentOS5:http://mirrors.163.com/.help/CentOS5-Base-163.repo
CentOS6:http://mirrors.163.com/.help/CentOS6-Base-163.repo
CentOS7:http://mirrors.163.com/.help/CentOS7-Base-163.repo

$ wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

$ mv CentOS7-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo
  • 安装 zsh
    我们刚连接的服务器是灰色的,界面简直 low 到爆,为了更高的效率和更好的心情,我们配置一个好看的 shell
$ yum install zsh

查看本机中的 shell

$ cat /etc/shells

在这里插入图片描述
没有问题的话继续安装 on-my-zsh

// 下面都可以安装,选择其一即可
$ wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

$ sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

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

出现下面标志性的界面就成功了
在这里插入图片描述
更改默认的 shell

// 查看当前的 shell
$ echo $SHELL

// 更改默认的 shell 
$ sudo chsh -s /bin/zsh

在这里插入图片描述
重启服务器,然后连接,可以看到界面已经变了,瞬间舒服很多
在这里插入图片描述
然后挑一款自己喜欢的主题修改就好了,我这里使用的是 cloud主题列表

修改方法如下

$ vim ~/.zshrc

修改字段 ZSH_THEME="cloud",然后保存更新配置

$ source ~/.zshrc
  • 配置 ssh 连接
    我们首先去阿里云的控制台查看,22 端口是配置过安全组,可以对外访问的
    在这里插入图片描述
    根据不同系统,配置连接就。

windows 用户需要下载 Xshell,安装时选择学习使用不需要激活,然后新建一个连接就可以使用了
在这里插入图片描述
在这里插入图片描述
Mac 下直接使用终端就可以连接,输入 ssh <用户 root>@<主机 ip 地址> 然后输入密码就可以,例如 ssh root@0.0.0.0

在这里插入图片描述
注意的是,终端连接服务器长时间不操作会中断连接。Xshell 的话,我目前还没有遇到,长时间不操作也是连接着的。

  • 添加一个普通用户
$ adduser test
$ passwd test

在这里插入图片描述
然后设置用户权限,使用户可以使用 root 命令
这里 /etc/sudoers 是默认只读的,切换到 root 用户先去把权限修改了

// 提示 cmooand not found
$ sudoers

// 查找文件位置
$ whereis sudoers

// 查看权限
$ ls -l /etc/sudoers

// 修改权限
$ chmod -v u+w /etc/sudoers

在这里插入图片描述
添加你的新用户

$ vim /etc/sudoers

在这里插入图片描述
然后把权限写回

$ chmod -v u-w /etc/sudoers

在这里插入图片描述
这时我们的普通用户就已经有 sudo 的权限了

然后我们 su 进入用户后,发现 shell 还是使用自带的,非 root 用户每次安装的目录都是 /root/.oh-my-zsh 导致非 root 用户 oh-my-zsh 没有效果,这里需要手动安装,步骤如下

下载代码到指定位置

$ git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

更新配置文件(重要

$ cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

修改默认 shell

// 查看当前的 shell
$ echo $SHELL

// 更改默认的 shell 
$ sudo chsh -s /bin/zsh

如果修改失败使用下面的命令修改,test 修改为你的用户名

$ sudo usermod -s /bin/zsh test

在这里插入图片描述
然后重新进入用户,这里默认的 shell 已经修改了

在这里插入图片描述
这里每个系统用户的配置是不一样的,按照上面的修改方法自行修改主题配置就可以了

  • 升级 vim 到版本 8

先简单介绍下,yum 只可以使用 python2.7 的版本,而 vim8 需要 python3 的版本,这里配置坑很多,要多多注意

首先我们查看 跑 python 安装在什么地方

$ whereis python

在这里插入图片描述
查看信息,可以看到 python 默认是指向 2.7 版本的

$ ll /usr/bin/python*

在这里插入图片描述
这里我们配置 python 指向 3python3 指向 3python2 指向 2

首先安装 python3 的编译环境

$ yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make 

下载 python3 的包

$ wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz

添加 epel 扩展源

$ yum -y install epel-release

安装pip

$ yum install python-pip

变异 python3 的源码包

// 解压
$ xz -d Python-3.6.4.tar.xz
$ tar -xf Python-3.6.4.tar

// 进入解压后的目录
// 依次执行下面命令进行手动编译
$ cd Python-3.6.4
$ ./configure prefix=/usr/local/python3
$ make && make install

添加软链接

// 将原来的链接备份
$ mv /usr/bin/python /usr/bin/python.bak

// 添加 python3 的软链接
$ ln -s /usr/local/python3/bin/python3.6 /usr/bin/python

// 测试,如果出现 3 点多的版本则成功
$ python -V

更改 yum 的配置,yum 需要 python2 的依赖
把下面文件中第一行的 python 改为 python2

$ vi /usr/bin/yum
$ vi /usr/libexec/urlgrabber-ext-down

下面就可以升级 vim

下载源码

$ git clone https://github.com/vim/vim.git

编译

$ cd vim
$ ./configure  --enable-pythoninterp=yes
$ make -j 8
$ make install
$ cp src/vim /usr/bin

都跑完以后查看一下版本
在这里插入图片描述
看到已经是 8.1

安装一些必要的系统工具

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

安装 Docker

$ yum -y install docker

启动 Docker 服务

$ service docker start

// 开机自启动
$ systemctl enable docker

安装镜像加速,加快获取官方镜像的速度

$ vim /etc/docker/daemon.json

添加如下配置

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

镜像地址去找阿里云或者网易的都可以,阿里云的主机还有独自的镜像地址,如下图,有服务器的可以去查找
上面的示例代码使用网易的镜像地址
在这里插入图片描述
查看服务启动情况

$ systemctl list-units --type=service

在这里插入图片描述
如果有错误的话,按照下面日志排查错误

// 查看日志
$ cat /var/log/nginx/error.log

// 查看启动错误信息,可以查询到 Systemd 的启动日志
$ journalctl -xe

错误处理

  • yum 损坏重新安装
    我在配置 python 的时候把 yum 损坏了,这里先贴出 yum 的安装方法

删除原来的旧包

$ rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps
$ whereis yum |xargs rm -frv

去这里的地址找到下面四个包,版本号会更新所以需要自己去页面中找,地址传送门
1、yum-plugin-fastestmirror-1.1.30-41.el6.noarch.rpm
2、yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
3、yum-3.2.29-81.el6.centos.noarch.rpm
4、python-iniparse-0.3.1-2.1.el6.noarch.rpm
下载命令

$ wget url

例如下载第一个包,如下

$ wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-41.el6.noarch.rpm

把上面的包下载到服务器的随便一个文件夹

在这里插入图片描述

然后使用 rpm 安装对应的包

$ rpm -ivh yum-plugin-fastestmirror-1.1.30-41.el6.noarch.rpm

这里如果有依赖错误的话,加 --nodeps 执行命令,如下

$ rpm --nodeps -ivh yum-plugin-fastestmirror-1.1.30-41.el6.noarch.rpm

yum-plugin-fastestmirror-1.1.30-41.el6.noarch.rpmyum-3.2.29-81.el6.centos.noarch.rpm 需要同时安装

进入 /etc/yum.repos.d 文件夹下更新配置

$ wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

删除原来的配置文件

$ rm -rf CentOS-Base.repo

修改新配置文件名

$ mv CentOS7-Base-163.repo  CentOS7-Base.repo

然后就可以了

  • Postfix 服务启动失败
    执行 journalctl -xe 命令后发现如下报错
parameter inet——interfaces: no local interface found for :: 1

修改方法

$ vim /etc/postfix/main.cf

修改文件配置

inet_interfaces: all
inet_protocol: all

重启服务,然后就没问题了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值