CentOS 服务器配置

首先安装一些常用的软件,例如 curl

// 包管理器
$ yum install curl wget

// 压缩工具
$ yum install unzip

// git
$ yum install git

配置 oh-my-zsh

先安装 zsh

$ yum install zsh

然后查看本机中的 shell

$ cat /etc/shells

CentOS 服务器配置
这里看到已经安装成功 /bin/zsh

然后安装 oh-my-zsh

$ 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

这里还需要重新启动一下服务器,然后执行上面查看 shell 的命令,会发现已经重置成功

还可以自行修改主题。
主题列表链接

配置安装 nginx 服务器

注:这里是单独安装 nginx 的配置,推荐使用下面的 Docker 镜像去配置,如果不想了解,请跳过阅读下一节

安装 nginx 的工具

$ yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

安装 pcre 用于支持 Rewrite

$ yum -y install pcre pcre-devel

安装 nginx

$ yum -y install nginx

也可以手动安装,手动安装与 yum 安装有一些区别,首先是安装路径不同,其次是启动方式也会不同,详细的情况可以查看这篇博客

关闭防火墙

// 停止firewall
systemctl stop firewalld.service 

// 禁止firewall开机启动
systemctl disable firewalld.service 

然后启动 nginx,这里需要注意,CentOS 7 的版本,启动命令已经改变了,使用旧的语法会报错

// 启动
$ systemctl start nginx.service

// 设置开机自动启动
$ systemctl enable nginx.service

// 停止开机自动启动
$ systemctl disable nginx.service

// 查看状态
$ systemctl status nginx.service

// 重启服务
$ systemctl restart nginx.service

// 查看所有服务
$ systemctl list-units --type=service

然后访问对应主机的 IP 就可以看到 nginx 的界面了
CentOS 服务器配置
如果有错误,可以按照下面的命令查找日志,排查错误

// 检测配置文件是否出错
$ nginx -t

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

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

Docker

首先要知道 Docker 用来干什么,解决了什么问题?
可以查看一些教程,例如 Docker 入门教程
先查看当前服务器的内核版本,需要 CentOS 7 版本

$ uname -r

CentOS 服务器配置

版本符合要求后安装 Docker

\从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE
Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用
这里安装 Docker CE

// 移除旧版本
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
   
// 安装一些必要的系统工具               
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

// 添加软件源信息
$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

// 更新 yum 缓存
$ sudo yum makecache fast

// 安装 Docker-ce
$ yum -y install docker-ce

// 启动 docker 服务器
$ sudo systemctl start docker

// 测试运行 hello-world
$ docker run hello-world

CentOS 服务器配置
安装镜像加速,加快获取官方镜像的速度
修改 /etc/docker/daemon.json 文件

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

重启 docker

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

镜像地址去找阿里云或者网易的都可以,阿里云的主机还有独自的镜像地址,如下图,有服务器的可以去查找
上面的示例代码使用网易的镜像地址
CentOS 服务器配置
docker 安装 nginx

// 可以先查看所有的 nginx 镜像
$ docker search nginx

// 然后我们选择官方镜像
$ docker pull nginx

// 然后可以查看本机的 nginx 镜像列表
$ docker images nginx

CentOS 服务器配置
然后运行就可以了

$ docker run -d -p 80:80 nginx

检查服务启动情况

执行命令,查看启动的无有无异常

// 查看所有服务
$ systemctl list-units --type=service

如果有报红的按照上面 nginx 的方法去排查。
这里贴一些我配置时遇到的错误

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

修改方法

$ vim /etc/postfix/main.cf

// 修改文件配置
inet_interfaces: all
inet_protocol: ipv4

// 或者
inet_interfaces: all
inet_protocol: all

重启服务器,然后正常启动