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