CentOS 服务器配置
首先安装一些常用的软件,例如 curl
等
// 包管理器
$ yum install curl wget
// 压缩工具
$ yum install unzip
// git
$ yum install git
配置 oh-my-zsh
先安装 zsh
$ yum install zsh
然后查看本机中的 shell
$ cat /etc/shells
这里看到已经安装成功 /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
的界面了
如果有错误,可以按照下面的命令查找日志,排查错误
// 检测配置文件是否出错
$ nginx -t
// 查看日志
$ cat /var/log/nginx/error.log
// 查看启动错误信息,可以查询到 Systemd 的启动日志
$ journalctl -xe
Docker
首先要知道 Docker
用来干什么,解决了什么问题?
可以查看一些教程,例如 Docker 入门教程
先查看当前服务器的内核版本,需要 CentOS 7
版本
$ uname -r
版本符合要求后安装 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
安装镜像加速,加快获取官方镜像的速度
修改 /etc/docker/daemon.json
文件
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
重启 docker
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
镜像地址去找阿里云或者网易的都可以,阿里云的主机还有独自的镜像地址,如下图,有服务器的可以去查找
上面的示例代码使用网易的镜像地址docker
安装 nginx
// 可以先查看所有的 nginx 镜像
$ docker search nginx
// 然后我们选择官方镜像
$ docker pull nginx
// 然后可以查看本机的 nginx 镜像列表
$ docker images nginx
然后运行就可以了
$ 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
重启服务器,然后正常启动