nginx

作者: 我是啵啵 | 来源:发表于2020-02-06 12:44 被阅读0次

是一个服务器软件

能做什么

  • 反向代理
  • 负载均衡
  • 动静分离
    特点
    高性能http反向代理服务器
    占用内存少 并发能力强

反向代理

正向代理
客户端通过设置代理服务器 访问


反向代理 :

请求发给代理服务器 代理服务器和真实的服务器对外暴露一个ip

负载均衡:

分发到不同的服务器

动静分离:

静态资源和动态资源给分开

nginx的安装

安装依赖
安装pcre openssl zlib
安装nginx

方法1

拖入安装文件
jar 解压

进入解压之后的目录 执行 ./configure
使用 make &&make install
安装成功之后 会有/usr/local/nginx目录 里面有sbin 里面有启动脚本
启动
./nginx
查看
ps -ef | grep nginx
配置文件在nginx config nginx.config 里面
看防火墙开放端口

方法2

更新yum源
sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
查看
sudo yum repolist
安装
sudo yum install nginx
教程如下
https://qizhanming.com/blog/2018/08/06/how-to-install-nginx-on-centos-7
开机启动
sudo systemctl enable nginx
启动服务
sudo systemctl start nginx
停止服务
nginx -s stop
sudo systemctl restart nginx
查看
ps -ef | grep nginx 有两个进程 nginx的

防火墙看开放端口
firewall-cmd --list-all

看配置
看已yum安装程序
rpm -qa
看安装程序的地方 和一些配置的地方
rpm -ql nginx


防火墙设置

Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。

打开 http
sudo firewall-cmd --zone=public --permanent --add-service=http
重启
sudo firewall-cmd --reload


1.启动防火墙

systemctl start firewalld
2.禁用防火墙

systemctl stop firewalld
3.设置开机启动

systemctl enable firewalld
4.停止并禁用开机启动

sytemctl disable firewalld
5.重启防火墙
firewall-cmd --reload
6.查看状态

systemctl status firewalld或者 firewall-cmd --state

nginx配置文件 nginx.config

全局块

nginx 并发处理的数量
如这是能并发处理的数量
worker_processes auto;

events块

http块

配置最频繁
里面含了server
注释是例子

localtion /{
配了自己本机的ip :8080
}

成功转发


tomcat 放在了8009端口

根据路径的不同转发到不同的路径和端口
根据不同的路径匹配不同的端口

location  ~  /aaa{
 proxy_pass http://localhost:8001
}

location  ~  /bbb{
 proxy_pass http://localhost:8002
}

正则

正则:

负载均衡

image.png

配置
就是一个服务名

upstrea myserver{

}

插播

tomcat 在webapps中 创建一个edu文件夹 在文件夹中放 a.html
访问路径

edu/a.html

轮询 权重
iphash(浏览器发送了ip hash到对应的一个服务器)
可以解决session共享方式
根据响应时间分配 时间短的先分配

动静分离

方法1 做成一个单独的域名 静态资源放在另外一个服务器上
方法2 可以通过expires 参数设置 一个资源过期时间 如3d 返回状态码是304 就利用服务器缓存 但是如果检测到服务器发生了变化 (通过对比服务器最近一次跟新时间) 就用跟新

通过nginx 中配置

autoindex on 列出目录的文件

image.png

nginx 高可用

nginx 如果宕机
keepalived 软件
做多个nginx
但是还要配一个 虚拟ip

  • 主服务器mater
  • 从服务器backup
image.png

步骤 两个服务器都安装nginx 和keepalived
yum install keeplived -y
keepalived的配置

nginx 的原理

一个master 多个worker 进程
争抢的方式

  • 利于热部署
    worker 的连接数 有2个或者4 个
    支持最大并发数
    最大连接数/2 或者4

相关文章

网友评论

      本文标题:nginx

      本文链接:https://www.haomeiwen.com/subject/lvtmbctx.html