Nginx基本部署(二十一)

目录

一、概述

(一)功能

(二)网站模型

(三)优势

(四)监听端口

二、安装

(一)扩展

(二)基础配置

    1、  关闭防火墙

    2、  关闭SELinux

    3、  关闭NetworkManager

    4、  配置IP地址

    5、  连通性测试   ping

(三)yum安装

    1、  低版本

    2、  官方高版本

    3、  查看指定软件所有可安装版本

    4、  下载指定版本软件包

    5、下载路径

    6.yum源拓展命令

(四)源码安装

前文已讲述,在此不过多追述

三、目录结构

四、命令

五、主配置文件

六、配置

(一)单网站配置

(二)虚拟主机配置

(三)SSL加密配置

    1、加密类型

    1.1、   对称加密

    1.2、  非对称加密

    2、SSL概述

    2.1、  网景公司(Netscape)设计的主要用于Web的安全传输协议

    2.2、  安全套接字        secure socket layer

    2.3、  通过证书来实现,证书颁发机构(CA),PKI认证

    2.4、  传输过程

    2.5、  在https协议中的监听端口 443/tcp

    2.6、  https的特点

    3、openssl命令

    3.1、  概述

        3.1.1、 openssl

        3.1.2、  OpenSSL

    4、证书生成

    5、nginx配置SSL

    6、  完整操作流程

    6.1、  配置基础环境

    6.2、  编译安装nginx

    6.3、  生成、查看私钥文件

    6.4、  更改配置文件


一、概述

(一)功能

    web服务

    反向代理

    负载均衡

    缓存服务

(二)网站模型

    epoll

(三)优势

    并发高,单机并发高达50000

(四)监听端口

    80/tcp

二、安装

(一)扩展

    yum保持软件包缓存

        vim /etc/yum.conf

         将  keepcache=0  改为  keepcache=1

    案例

        把所有httpd相关软件包放到同一目录

        rpm -ivh ./*.rpm

(二)基础配置

    1、  关闭防火墙

        systemcetl stop firewalld && systemctl disable firewalld

    2、  关闭SELinux

        setenforce 0

    3、  关闭NetworkManager

        systemcetl stop NetworkManager && systemctl disable NetworkManager

    4、  配置IP地址

        vim /etc/sysconfig/network-scripts/ifcfg-ens33

    5、  连通性测试   ping

(三)yum安装

    1、  低版本

        yum install -y epel-release

        yum install -y nginx

    2、  官方高版本

Nginx官方网站:nginx news

创建并编辑如下文件

vim /etc/yum.repos.d/nginx.repo

[nginx-stable]

name=nginx stable repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=1

enabled=1

gpgkey=https://nginx.org/keys/nginx_signing.key

module_hotfixes=true

    3、  查看指定软件所有可安装版本

    yum list nginx --showduplicates

     yum install -y nginx-1.20.0

    4、  下载指定版本软件包

    yum upgrade nginx-1.22.0 --downloadonly

    5、下载路径

    /var/cache/yum/x86_64/7/yum源名称

     /var/cache/yum/x86_64/7/nginx-stable/packages

    6.yum源拓展命令

    清理缓存        yum clean all

    快速生成缓存        yum makecache fast

     yum列表    yum list

     快速查看指定源    yum list | grep nginx

(四)源码安装

前文已讲述,在此不过多追述

三、目录结构

    查看nginx安装后生成的目录及文件        rpm -ql nginx

    /etc/nginx/                       Nginx安装主目录

    /usr/bin/                           Nginx更新命令

    /usr/sbin/                         Nginx启动命令

    /usr/share/nginx/             网页文档根目录

    /var/lib/nginx                   缓存和临时文件

    /var/log/nginx/                 日志文件

四、命令

    nginx-upgrade        更新命令

    nginx        启停命令

        选项

            -c                nginx启动时指定配置文件位置

        案例

             cp /etc/nginx/nginx.conf  /opt/

             修改/opt/nginx.conf文件

                        PID文件位置

                        端口号

                        访问文档根目录

            -s stop                       停止服务

            -s reload                    不停止服务,平滑加载配置文件

            -t                测试配置文件并返回信息

五、主配置文件

    主配置文件存放位置    /etc/nginx/nginx.conf

    user nginx;                                                  运行用户

    worker_processes                                       进程数量

    error_log                                                      错误日志

    pid                                                                进程ID

    events { worker_connections }                      定义每个工作进程的最大连接数

  http{}                                                              web网站配置块

            include /etc/nginx/mime.types;             支持的文件解析类型

            log_format                                            日志格式配置

            access_log                                           访问日志路径

include /etc/nginx/conf.d/*.conf;                       引用其他文件到当前文件

vim /etc/nginx/conf.d/default.conf

            server { }                                               定义web站点配置

                    listen                                             监听端口

                    server_name                                域名

                    location                                        指定访问的路径及默认文档

                        root                                          访问文档根目录

                        index                                        默认文档

六、配置

(一)单网站配置

    启动nginx即可

(二)虚拟主机配置

    基于不同端口

vim /etc/nginx/conf.d/default.conf

更改配置文件

 mv default.conf wjy1.conf

cp-p wjy1.conf wjy2.conf

编辑wjy1.com配置文件

编辑wjy2.com

 进入主配置文件vim /etc/nginx/nginx.conf

 注释掉access_log行

重启服务

systemctl restart nginx

进入目录  cd /usr/share/nginx/html/  下创建目录wjy1 wjy2

mkdir wjy1 wjy2

cp index.html wjy1

cp index.html wjy2

     基于不同IP地址

    基于不同域名

(三)SSL加密配置

    1、加密类型

    1.1、   对称加密

        秘钥相同,不安全

    1.2、  非对称加密

        公钥:所有人都可以知道,用来对使用对等私钥加密的数据进行解密

        私钥:只有自己知道,用来对使用对等公钥加密的数据进行解密

        数据加密:使用公钥加密,保证数据一致性(完整性)

        数字签名:使用私钥加密,保证发送者的确定性

    2、SSL概述

    2.1、  网景公司(Netscape)设计的主要用于Web的安全传输协议
    2.2、  安全套接字        secure socket layer
    2.3、  通过证书来实现,证书颁发机构(CA),PKI认证
    2.4、  传输过程

            首先发送数字证书,获取到可信的public key

            通过public key发送对称秘钥,接收方用私钥解密。

            通信双方使用仅仅对方可知的对称秘钥进行加密传输

    2.5、  在https协议中的监听端口 443/tcp
    2.6、  https的特点

            通过数字证书确认服务器身份,获知服务器公钥

            将对称加密密钥通过非对称进行传输沟通

            之后的通信过程采取对称加密

    3、openssl命令

    3.1、  概述
        3.1.1、 openssl

       openssl程序是一个命令行工具。用于使用OpenSSL加密库的加密函数。它可以用于创建和管理私钥、公钥和参数、公钥密码操作、创建X.509证书、CSR和CRL、消息摘要的计算、密码加密和解密、SSL/TLS客户端和服务器测试、处理S/MIME签名或加密邮件、时间戳请求、生成和验证

        3.1.2、  OpenSSL

       OpenSSL是一个实现安全套接字层的加密工具包(SSL v2/v3)和传输层安全(TLS v1)网络协议以及他们要求的相关密码标准。

    genrsa:生成私钥文件

    -out    :指定生成的证书请求或者自签名证书名称

    req:用来生成自签证书

    -new    :说明生成证书请求文件

    -key :指定已有的秘钥文件生成秘钥请求,只与生成证书请求选项-new配合。

    x509   :说明生成自签名证书

    -req:用来生成自签证书

    -in:读取文件

    -signkey:读取私钥文件

    4、证书生成

    mkdir -p /usr/local/pki/nginx

    生成私钥文件(包含公钥和私钥)

        cd /usr/local/pki/nginx

        openssl genrsa -out nginx.key

        查看私钥文件:openssl rsa -in nginx.key -text

    生成证书请求文件

        cd /usr/local/pki/nginx

        openssl req -new -key nginx.key -out nginx.csr

    生成证书

        cd /usr/local/pki/nginx

        openssl x509 -req -days 3650 -in nginx.csr -signkey nginx.key -out nginx.crt

        查看证书:

openssl x509 -req -days 3650 -in nginx.csr -signkey ./private/nginx.key -text

    5、nginx配置SSL

    nginx.conf中去掉ssl配置注释,修改证书请求文件及证书文件的名称。

    6、  完整操作流程

    6.1、  配置基础环境
    6.2、  编译安装nginx

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http-stub-status_module

       上述命令 "./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http-stub-status_module" 是用于配置 Nginx 编译和安装的命令。

具体解释如下:

       "./configure" 是运行 Nginx 的配置脚本命令。

       "--prefix=/usr/local/nginx" 指定了安装路径前缀为 "/usr/local/nginx",即将 Nginx 安装到该目录下。

       "--with-http_ssl_module" 是启用了 Nginx 的 SSL 模块,用于支持通过 SSL/TLS 进行加密的 HTTPS 通信。

       "--with-http-stub-status_module" 是启用了 Nginx 的状态模块,用于提供服务器的简单状态信息,例如连接数、请求信息等。

       此命令的执行是为了根据指定的配置选项进行编译和安装 Nginx,并根据需要启用相应的模块,以便在安装后的 Nginx 服务器中获得相应的功能和特性。

 yum补全缺失的依赖

 make && make install完成编译安装

    6.3、  生成、查看私钥文件

openssl genrsa -out nginx.key 1024  生成私钥文件(包含公钥和私钥)

openssl rsa -in nginx.key -text  查看私钥文件

openssl req -new -key /nginx.key -out nginx.csr  生成证书请求文件

Country Name (2 letter code) [XX]:cn

                                                   国家名称(两个字母的代码):cn(中国)
State or Province Name (full name) []:bj

                                                   州或省份名称:bj(北京)
Locality Name (eg, city) [Default City]:bj

                                                   地点名称:bj(北京)
Organization Name (eg, company) [Default Company Ltd]:bj

                                                   组织名称:bj(北京)
Organizational Unit Name (eg, section) []:bj

                                                   组织单位名称:bj(北京)
Common Name (eg, your name or your server's hostname) []:www.wang.com

                                                   通用名称:www.wang.com(您的名称或服务器的主机名)

Common Name (eg, your name or your server's hostname) []:www.wang.com  (必须与nginx的域名一致)
Email Address []:                        电子邮件地址:您的电子邮件地址

Please enter the following 'extra' attributes

                                                   请输入以下“额外”属性
to be sent with your certificate request

                                                   与您的证书请求一起发送
A challenge password []:

                                                   挑战密码:用于进一步验证您的身份的密码(可选)
An optional company name []:

                                                   公司名称:您的公司名称(可选)

    6.4、  更改配置文件

vim /usr/local/nginx/conf/nginx.conf

取消pid的注释

取消注释日志格式

将https server下的server全部取消注释,并进行更改 

 创建软链接

ln -s /usr/local/nginx/sbin/nginx /usr/sbin

编辑配置文件

vim /usr/lib/systemd/system/nginx.service

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /usr/local/nginx/logs/nginx.pid)"
ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /usr/local/nginx/logs/nginx.pid)"

[Install]
WantedBy=multi-user.target

 注意:上述配置文件所指目录位置(路径),需和/usr/local/nginx/conf/nginx.conf关联起来

systemctl daemon-reload

       systemctl daemon-reload是一个systemctl命令,用于重新加载systemd的守护进程配置文件。当我们对systemd的守护进程配置文件进行了修改后,需要使用这个命令来重新加载配置,使得修改生效。

systemctl -anput | grep nginx  查看监听

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wjy¹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值