如何使用yum安装Nginx?

Nginx

1 基础知识

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器
Nginx 同时也提供了IMAP/POP3/SMTP服务
Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的
Nginx第一个公开版本0.1.0发布于2004年10月4日。
Nginx源代码以类BSD许可证的形式发布
Nginx因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名

2 最佳实践

2.1 系统环境

2.1.1 系统信息

OS = CentOS 7.x x86_64
IP Addresses = 10.168.0.80
Host Name = www.cmdschool.org

2.1.2 配置防火墙

firewall-cmd --permanent --add-service http --add-service https
firewall-cmd --reload
firewall-cmd --list-all

2.1.3 关闭selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

2.2 准备工作

2.2.1 配置yum源

yum install -y http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

注:其他版本或系统的源请参阅以下链接,
http://nginx.org/packages/

2.2.2 安装常用工具

yum install -y vim

2.3 部署应用程序

yum install -y nginx

2.4 配置Nginx

2.4.1 创建应用程序目录

mkdir -p /var/www/www.cmdschool.org

2.4.2 配置http虚拟服务器

cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/www.cmdschool.org_80.conf
vim /etc/nginx/conf.d/www.cmdschool.org_80.conf

保留以下内容:

server {
    listen       80;
    server_name  www.cmdschool.org;

    location / {
        root   /var/www/www.cmdschool.org;
        index  index.html index.htm  index.php;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

2.4.3 配置https虚拟服务器(可选)

cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/www.cmdschool.org_443.conf
vim /etc/nginx/conf.d/www.cmdschool.org_443.conf

确认存在如下内容:

server {
    listen       443;
    server_name  www.cmdschool.org;
    ssl on;
    ssl_certificate 1_www.cmdschool.org_bundle.crt;
    ssl_certificate_key 2_www.cmdschool.org.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    location / {
        root   /var/www/www.cmdschool.org;
        index  index.html index.htm  index.php;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

注:证书请自行申请,这里不详述

2.4.4 配置nginx服务

systemctl start nginx.service
systemctl enable nginx.service

2.5 测试服务

2.5.1 创建测试页

echo www.cmdschool.org > /var/www/www.cmdschool.org/index.html

2.5.2 配置名称解析

notepad \Windows\System32\drivers\etc\hosts

增加以下内容,

10.168.0.80 www.cmdschool.org

注:以上仅适用于测试环境的Windows客户端,生产环境请使用DNS实现,Linux客户端请使用如下命令,

echo '10.168.0.80 www.cmdschool.org' >> /etc/hosts

2.5.3 测试虚拟服务

http://www.cmdschool.org
https://www.cmdschool.org

参阅文档
======================

官方的yum源
—————-
http://nginx.org/packages/

没有评论

发表回复

Nginx
如何使用Nginx发布维护公告?

1 前言 一个问题,一篇文章,一出故事。 最近由于需要发布维护公告,想着这种东西以后用得着,于是总结 …

Nginx
如何实现Nginx第一次访问跳转?

1 前言 一个问题,一篇文章,一出故事。 笔者在NextCloud生产环境中需要实现首次登录显示公告 …

Nginx
如何实现Nginx首次访问跳转?

1 前言 一个问题,一篇文章,一出故事。 笔者在NextCloud生产环境中需要实现首次登录显示公告 …