基础配置
前面的配置参考我新整理的一篇博客,里面有服务器环境的详细配置 => 前端工程师怎么从0开始配置一个服务器
包括以下部分
wget:安装一些系统常用的软件
zsh:首先就是配置 shell 了,系统自带的 shell 实在是太难用。
ssh:接下来配置 ssh、方便我们使用自己的电脑管理服务器。
vim、python3: 这里升级 vim8,需要用到 python3 的环境
开一个普通用户,Dokcer 等敏感操作我们都在普通用户中进行。
ftp:用于传输文件等
配置安装 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
重启服务器,然后正常启动