Nginx的安装和各种配置实例

1、Nginx概述

Nginx是一个高性能HTTP反向代理服务器,特点是占有内存少,并发能力强。有报告表明能支持高达50000个并发连接数。

2、反向代理

(1)正向代理

在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网的访问

(2)反向代理

我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器,获取数据后,再返回给客户端。此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器ip地址

3、负载均衡

单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原来请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡

4、动静结合

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力

5、Linux下安装

(1)安装pcre依赖

          把安装的压缩文件放到Linux上

          解压缩

          进入解压缩之后的目录执行./configure

          然后再执行make && make install

          安装完成之后,可以执行命令pcre-config --version查看版本号

(2)其它依赖的安装类似

          tar -zxvf openssl-1.0.2h.tar.gz

          cd openssl-1.0.sh/

          ./configure shared zlib 

           make depend 

           make && make install

           

            tar -zxvf zlib-1.2.11.tar.gz

            cd zlib-1.2.11/

            ./configure

            make && make install

(3)安装Nginx

            把安装的压缩文件放到Linux上

            解压缩

            进入解压缩之后的目录执行./configure(这是不需要ssl证书的安装方式)

            这是需要ssl证书的安装:./configure --with-http_ssl_module --with-openssl=/usr/local/share/applications/install/openssl-1.0.1h

            最后再执行make && make install

      

安装完之后会自动在/usr/local下创建文件夹nginx,在nginx下的sbin目录下有启动脚本

Linux服务器有防火墙,端口是不可以随意访问的,需要将nginx的访问端口在防火墙中做配置

查看防火墙firewall-cmd --list-all

设置开放的端口:sudo firewall-cmd --add-port=80/tcp --permanent

重启防火墙:firewall-cmd -reload

(4)yum安装

1、通过yum安装所需要的依赖

yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel

2、下载稳定版的nginx源码

3、进入解压缩之后的目录执行./configure(这是不需要ssl证书的安装方式)

4、最后再执行make && make install

6、常用命令

(1)使用Nginx命令的前提是进入到/usr/local/nginx/sbin目录下执行命令

(2)查看Nginx版本号:./nginx -v

(3)启动nginx  ./nginx

(4)关闭nginx  ./nginx -s stop

(5)重新加载nginx  ./nginx -s reload

7、配置文件

配置文件所在位置:/usr/local/nginx/conf/nginx.conf

第一部分:全局块

从配置文件开始到events块之间的内容,主要会设置一些影响nginx整体运行的配置指令,比如:worker_processes 1;值越大,支持并发处理量越大

第二部分:events块

events块涉及的指令主要影响nginx服务器与用户的网络连接,比如:worker_connections 1024;支持的最大连接数

第三部分:http块

包括http全局块和server块

8、配置实例-反向代理1

请求192.168.17.129:80转发到http://127.0.0.1:8080

9、配置实例-反向代理2

location简单语法配置:

10、配置实例-负载均衡

分配服务器策略:

(1)轮询(默认)

每个请求按时间顺序逐一分配到不同的服务器,如果后端服务器down掉,能自动剔除

(2)weight

weight代表权重,默认为1,权重越高,被分配到的客户端越多

(3)ip_hash

每个访问按照ip的hash结果分配,这样每个访客固定访问一个服务器,可以解决session的问题

(4)fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配

11、配置实例-动静结合

静态文件的配置,访问的是Linux某个目录下的静态文件,和前端静态文件放某个服务器访问不一样

自己的配置实现:

目录/data/www/图1.png

目录/data/html/test.html

访问图片的路径为:

访问静态页面的路径为:

12、配置实例-高可用

1、配置高可用的准备工作

(1)需要两台服务器;

(2)需要两台服务器都安装nginx;

(3)需要两台服务器都安装keepalived      yum install keepalived -y

安装之后再etc里面生成目录keepalived,有文件keepalived.conf

2、完成高可用配置(主从配置)

(1)修改/etc/keepalived/keepalived.conf配置文件

router_id:服务器主机名;在/etc下的hosts文件中配置

脚本的配置

虚拟ip的配置

(2)在/usr/local/src下添加检测脚本nginx_check.sh

#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
    /usr/local/nginx/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
        killall keepalived
    fi
fi

(3)把两台服务器的nginx和keepalived都启动

启动keepalived的命令:systemctl start keepalived.service

Nginx原理

master&worker

一个master和多个worker有好处

(1)可以使用nginx -s reload热部署,利于nginx进行热部署;

(2)每个worker是独立的进程,如果有其中一个worker出现问题,其它worker独立的,

继续进行争抢,实现请求过程,不会造成服务中断;

(3)设置多少个worker合适

worker数和服务器的cpu数相等是最为适宜的

(4)worker连接数worker_connection

个人建的交流群1125844267,欢迎大家加入!

如果内容对大家有所帮助,感谢鼓励!实现我小时候一人给我一块钱的美梦,哈哈!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Happy-Sir

有收获请打赏,哈哈

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

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

打赏作者

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

抵扣说明:

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

余额充值