CentOS 7 配置 Nginx And Docker

基礎配置

前面的配置參考我新整理的一篇博客,裏面有服務器環境的詳細配置 => 前端工程師怎麼從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

重啓服務器,然後正常啓動

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章