学习Nginx

课程:瑞吉外卖p178

nginx简介

官网:nginx news

定位:轻量级web服务器

功能:

  • 反向代理:为服务器收发请求,使真实服务器对客户端不可见。
    • 代理:为客户端收发请求,使真实客户端对服务器不可见
  • 负载均衡:负载均衡是高可用性基础架构的关键组件,通常用在多个服务器之间分配工作负载来提高网站、应用程序、数据库和其他服务的性能和可靠性。

特点:

  1. 并发能力强
  2. 占有内存少

nginx下载和安装

windows安装

下载安装:nginx: download 下载安装包,解压缩到本地

说明:

  1. conf目录下的nginx.conf文件是需要修改的配置文件
  2. html目录下是放静态资源的

启动:

  • 方法一:直接双击nginx.exe,双击后会有一个黑色的弹窗一闪而过
  • 方法二:打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe 或者 start nginx,按Enter回车即可

Linux服务器安装

  1. 安装依赖包:yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
    1. 一次性安装5个依赖
  2. 下载nginx:wget 安装包地址
    1. 没有wget的话,先安装wget  命令:yum install wget
  3. tar命令解压缩:tar zxvf nginx***
  4. 进入nginx文件夹:cd nginx***
  5. 做安装的检查工作:./configure --prefix=/usr/local/nginx
    1. 需要先创建多层目录:mkdir -p /usr/local/nginx
  6. 编译和安装:make && make install

linux文件夹结构树形展示:yum install tree

MacOS安装

参考:Mac os 安装 nginx 教程(success)_mac安装nginx-CSDN博客

Nginx命令

课程:瑞吉外卖p179

运行nginx

使用nginx操作命令前提:必须进入到nginx的自动生成目录的下/sbin文件夹下

  1. 执行命令:./nginx 
  2. 测试启动/查看进程: ps -ef | grep nginx
    1. 默认有master和worker两个进程
    2. 查看本机端口号:ip addr
    3. ip + nginx默认开放的端口80就可以访问首页,eg:121.43.167.61:80
  3. 防火墙问题

在 windows 系统中访问 linux 中 nginx,默认不能访问的,因为防火墙问题

解决方式:1.关闭防火墙   2.开放访问的端口号,80 端口

  1. 关闭防火墙:systemctl stop firewalld
  2. 重启防火墙:firewall-cmd –reload
  3. 设置开放的端口号:
    •  firewall-cmd --add-service=http –permanent
    •  firewall-cmd --add-port=80/tcp --permanent
  4. 查看开放的端口号:firewall-cmd --list-all 
  5. 配置nginx环境变量:vim /etc/profile 打开文件夹里添加nginx路径
  6. 编辑完成后需要重新加载:source /etc/profile

nginx命令

  1. 查看版本:./nginx -v
  2. 检查配置文件正确性:./nginx -t
  3. 启动nginx ./nginx
  4. 测试启动/查看进程: ps -ef | grep nginx
  5. 关闭nginx  ./nginx -s stop
  6. 重新加载nginx:./nginx -s reload 
  7. 查看nginx进程:ps -ef | grep nginx 

编辑文件:i

保存退出:ESC :wq

注释:#

Nginx配置文件结构 

nginx目录结构

tree /usr/local/nginx
/usr/local/nginx
├── client_body_temp
├── conf                         # Nginx所有配置文件的目录
│   ├── fastcgi.conf             # fastcgi相关参数的配置文件
│   ├── fastcgi.conf.default     # fastcgi.conf的原始备份文件
│   ├── fastcgi_params           # fastcgi的参数文件
│   ├── fastcgi_params.default       
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types              # 媒体类型
│   ├── mime.types.default
│   ├── nginx.conf              # Nginx主配置文件
│   ├── nginx.conf.default
│   ├── scgi_params             # scgi相关参数文件
│   ├── scgi_params.default  
│   ├── uwsgi_params            # uwsgi相关参数文件
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp                 # fastcgi临时数据目录
├── html                         # Nginx默认站点目录
│   ├── 50x.html                # 错误页面优雅替代显示文件,例如当出现502错误时会调用此页面
│   └── index.html               # 默认的首页文件
├── logs                         # Nginx日志目录
│   ├── access.log               # 访问日志文件
│   ├── error.log                # 错误日志文件
│   └── nginx.pid                # pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件
├── proxy_temp                   # 临时目录
├── sbin                         # Nginx命令目录
│   └── nginx                    # Nginx的启动命令
├── scgi_temp                    # 临时目录
└── uwsgi_temp                   # 临时目录

p180:其中主要做http块配置的修改

Nginx配置文件nginx.conf属性模块

worker_processes  1;                              # worker进程的数量
events {                                           # 事件区块开始
    worker_connections  1024;                     # 每个worker进程支持的最大连接数
}                                                  # 事件区块结束
http {                                             # HTTP区块开始
    include       mime.types;                     # Nginx支持的媒体类型库文件
    default_type  application/octet-stream;       # 默认的媒体类型
    sendfile        on;                           # 开启高效传输模式
    keepalive_timeout  65;                        # 连接超时
    server {                         # 第一个Server区块开始,表示一个独立的虚拟主机站点
        listen       80;                          # 提供服务的端口,默认80
        server_name  localhost;                   # 提供服务的域名主机名
        location / {                               # 第一个location区块开始
            root   html;                          # 站点的根目录,相当于Nginx的安装目录
            index  index.html index.htm;     # 默认的首页文件,多个用空格分开
        }                                   # 第一个location区块结果
        error_page 500502503504 /50x.html;# 出现对应的http状态码时,使用50x.html回应客户
        location = /50x.html {                    # location区块开始,访问50x.html
            root   html;                         # 指定对应的站点目录为html
        }
    }  
    ......

全局块

  • 区域:从配置文件开头到events之前的区域
  • 内容:Nginx运行相关的全局配置

events块

  • 区域:events包裹的区域。
  • 内容:和网络相关的配置

http块

        内容:代理,缓存,日志记录,虚拟主机配置

  1. http全局块

    1. 区域:http块内开头到server块之前的内容
  2. Server块

    内容:~
    1. server全局块
      1. 特点:可配置多个
      2. 内容:监听的端口号
    2. location块
      1. 特点:可配置多个
      2. 内容:响应的首页
    3. 注意哈:红色的是不可修改的,黑色字体是可修改的

Nginx静态部署资源

反向代理

        proxy_passh 属性名下

负载均衡

负载均衡算法:

  1. 默认:轮询
  2. weight:权重-----数值越大,分配给某个服务器的请求越多
  3. ip_hash:根据ip分配
  4. least_conn:依据最少连接
  5. url_hash:根据请求url地址生成的hash值
  6. fail:根据响应时间分配

Nginx部署项目(宝塔)

宝塔操作真的简单,但是要注意很凌乱的设置

软件商店--->下载相关的软件,mysql,nginx...等等

网站--->添加对应的项目

  1. HTML项目,添加前端使用的域名
  2. 然后配置文件里看需要修改(nginx端口或者重定向的配置)
  3. 在防火墙里打开项目所使用的端口

「未完善~~」

前端项目:

  1. 项目打包后放在nginx的html目录下
  2. 修改nginx配置文件nginx.conf

后端Java项目

  1. 服务器中安装jdk,maven,git,mysql,使用git clon 将代码克隆下来
  2. (ssh脚本)
  • 31
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值