Nginx 的使用

本文介绍了Nginx作为一个高性能HTTP和反向代理服务器的特性,包括其异步非阻塞的事件处理机制、高并发处理能力、简单的安装配置和热部署功能。详细阐述了Nginx的主工作进程与工作进程模型,以及如何在Linux环境下安装配置Nginx。此外,还探讨了Nginx的负载均衡、动静分离、高可用解决方案(如Nginx+Keepalived),以及在Docker环境下实现高可用的方法。最后,讨论了Nginx在处理session共享问题上的策略。
摘要由CSDN通过智能技术生成

Nginx 的概述
Nginx是一个高性能的http和反向代理,负载均衡服务器,同时也是一个IMAP/POP3/SMTP代理服务器。
Nginx是以异步非阻塞的事件处理机制,所以有非常高的性能,运用了epllo模型,提供一个队列,排队解决-----事件驱动就相当非常规的请求-响应模式,类似于读取和订阅模式这种,具体可以看看epllo模型
性能上,Nginx占用很少的系统资源,能支持更多的并发连接(nginx请求时异步非阻塞),达到更高的访问效率。
功能上,Nginx是优秀的代理服务器和负载均衡服务器。
安装上,Nginx安装简单,配置灵活。
Nginx支持热部署,启动速度快,可以在不停止服务的情况对软件版本和配置进行升级,即使运行数月也无需重启。
Nginx实现高并发的过程
master进程和worker进程,一个主进程,多个工作进程,每个工作进程可以处理多个进程.
Nginx采用单线程处理的请求的。从而节省资源
Nginx 默认端口是80
要修改为其他端口的写法:
server {
listen 8090;
server_name 172.168.2.90(默认是localhost)
}
然后修改防火墙—允许8090 端口通过,再重启防火墙使其生效

Linux(centos)环境下安装nginx
第一步进入nginx官网,下载
在这里插入图片描述选中的是linux上安装的nginx版本
第二步检查及配置nginx安装所需的环境
1,安装gcc
(1),先检查是否安装了gcc和gcc-c++
输入命令
whereis gcc
whereid g++
或者用gcc --version 查看gcc版本
(2),未安装时在–root目录下执行
yum install gcc gcc-c++
上述命令 gcc是安装c编译器,gcc-c++ 安装是c++库
2,安装pcre 正则表达式
(1)输入命令
yum install -y pcre pcre-devel
3,安装zlib 压缩算法
(1)输入命令
yum install -y zlib zlib-devel
4,安装openssl 支持https
(1)输入命令
yum install -y openssl openssl-devel
第三步压缩包解压并安装
1,一般解压到/usr/local目录下
tar -zxvf nginx-1.10.1.tar.gz
2,进入nginx目录下
./configure
3,编译安装nginx
make
make install
或者 make && make install
编译成功后返回上一级,会发现多了有个nginx目录,自动创建的
第四步启动nginx
1,进入/usr/local/nginx/sbin 输入命令
./nginx
2,关闭nginx
./nginx -s quit 或./nginx -s stop 或kill -9 进程号
3,重启nginx
./nginx -s reload
4,查看nginx进程
ps -ef|grep nginx
第五步 查看防火墙
1,查看防火墙是否开启
sudo firewall–cmd --state
输出running则表示防火墙开启,反之则是关闭
如果防火墙是开始状态时
2,查看防火墙开放的端口–默认防火墙是不开发80端口的
sudo firewall–cmd --list-ports
如果80端口没开放,设置开放80端口
sudo firewall-cmd --zone=public --add-port=81/tcp --permanent
3,添加完端口后重启防火墙
sudo systemctl restart firewalld

nginx常用命令

先进入/usr/local/nginx/sbin 目录下
查看版本
./nginx -v
启动
./nginx
关闭
./nginx -s stop
重新加载
./nginx -s reload

nginx配置文件组成
是/usr/local/nginx/conf目录下的nginx.conf 文件
由三部分组成:
1,全局块
从配置文件开始到 events 块之间的内容,主要会设置一些影响 Nginx 服务器整体运行的配置指令。
比如:worker_processes 1; worker_processes 值越大,可以支持的并发处理量也越多
2,events 块
events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接
比如:worker_connections 1024; 表示每个 work process 支持的最大连接数为 1024
3,http块
Nginx 服务器配置中最频繁的部分
http块包含http全局块和server块

Nginx的反向代理
正向代理:在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问
在这里插入图片描述

反向代理:其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值