前言
Nginx (engine x) 是高效能的HTTP 和反向代理伺服器,也是IMAP/ POP3/SMTP 伺服器。 。本範例示範 CentOS 7 下安裝和設定 Nginx 的基本步驟。
環境說明
CentOS 7(Minimal Install)
$ cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)
步驟
步驟1: 新增yum 來源
Nginx 不在預設的yum 源中,可以使用epel 或官網的yum 源,本例使用官網的yum 源。
$ sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
安裝完 yum 來源之後,可以查看一下。
$ sudo yum repolist Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com repo id repo name status base/7/x86_64 CentOS-7 - Base 9,911 extras/7/x86_64 CentOS-7 - Extras 368 nginx/x86_64 nginx repo 108 updates/7/x86_64 CentOS-7 - Updates 1,041 repolist: 11,428
可以發現 nginx repo
已經安裝到本機了。
步驟 2: 安裝
yum 安裝 Nginx,非常簡單,一條指令。
$ sudo yum install nginx
步驟3: 啟動設定Nginx 服務
設定開機啟動
$ sudo systemctl enable nginx
啟動服務
$ sudo systemctl start nginx
停止服務
$ sudo systemctl restart nginx
重新載入,因為一般重新配置之後,不希望重啟服務,這時可以使用重新載入。
$ sudo systemctl reload nginx
設定
### nginx默认配置位置 /etc/nginx/conf.d/default.conf ## 默认wwwroot位置 /usr/share/nginx/html
步驟 4: 開啟防火牆連接埠
預設 CentOS7 使用的防火牆 firewalld 是關閉 http 服務的(開啟 80 連接埠)。
$ sudo firewall-cmd --zone=public --permanent --add-service=http success $ sudo firewall-cmd --reload success
開啟之後,可以查看防火牆開啟的所有的服務
$ sudo sudo firewall-cmd --list-service ssh dhcpv6-client http
可以看到,系統已經開啟了 http 服務。
步驟 5: 反向代理
Nginx 是一個很方便的反向代理,設定反向代理可以參考 Module ngx_http_proxy_module 。本文不做累述。
要指出的是 CentOS 7 的 SELinux,使用反向代理需要開啟網路存取權限。
$ sudo setsebool httpd_can_network_connect 1
開啟網路權限之後,反向代理可以使用了。
結論
本文示範了 CentOS 7 下 yum 安裝 Nginx,設定服務等。