nginx安装以及代理
2023-03-17 03:51:11

Nginx

Nginx安装配置
  1. 安装编译工具
1
yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
  1. 下载

    • 官网下载安装压缩包
    • wget 安装
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #安装wget
    yum install wget
    wget https://nginx.org/download/nginx-1.22.1.tar.gz
    #解压
    tar -zxvf nginx-1.22.1.tar.gz -C /usr/local/src/
    #安装到指定位置
    ./configure --prefix=/usr/local/src/nginx
    #编译安装
    make && make install
    #配置全局环境
    vim /etc/profile
    source /etc/profile
  2. image

    image

常用命令
命令 操作
./nginx -v 查看版本
./nginx -t 检测配置文件是否正常
./nginx 启动服务
./nginx -s stop 关闭服务
ps -ef| grep nginx 查看进程
./nginx -s reload 重新加载配置文件
nginx配置文件结构
  • 全局块 Nginx 运行相关的全局配置

  • events块 网络连接相关的配置

  • http块 代理,缓存,日志,虚拟主机配置

    • http块 中可以配置多个Server块,每个Server块可以配置多个localtion块

    • http全局块

    • Server块

      • Server全局块
      • localtion块
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#全局块
worker_processes 1;

#events块
events {
worker_connections 1024;
}

http {
#http全局块
include mime.types;
default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;
#server块
server {
#Server全局块
listen 80;#监听端口
server_name localhost;#服务器名称(域名)
#localtion块
location / {#匹配客户端请求url
root html;#指定静态资源根目录
index index.html index.htm;#指定默认首页
proxy_pass http://127.0.0.1#反向代理配置,将请求转发到指定服务器
}

error_page 500 502 503 504 /50x.html;
#localtion块
location = /50x.html {
root html;
}
}
}
反向代理

正向代理和反向代理

  • 正向代理 (代理客户)

    image
    • 又或者国内访问不上 GitHub,但是可以使用代理工具,代理工具替你去访问GitHub服务器,并将结果返回给你,你只需要访问代理服务器即可
  • 反向代理 (代理服务器)

    • 客户端访问服务器,服务器为了防止恶意访问(DoS/DDoS),在访问中间增加代理服务器用于接收客户端的请求,代理服务器再去请求服务器,服务器将响应的结果放回给代理,最后代理将请求的结果返回

      image
反向代理demo
  • 配置文件(代理服务器ip:192.168.43.10)

    1
    2
    3
    4
    5
    6
    7
    server{
    listen 8080;
    server_name localhost;
    location / {
    proxy_pass http://192.168.43.11:8080;
    }
    }
  • 192.168.43.11服务器开启Web服务

  • image
  • image image
负载均衡
  1. 配置
1
2
3
4
5
6
7
8
9
10
11
12
upstream targetServer{#定义一组服务器
server 192.168.43.10:8080;
server 192.168.43.10:8081;
}

server{
listen 8080;
server_name localhost;
location / {
proxy_pass http://targetServer;
}
}
  1. 策略(默认轮询方式)
名称 说明
weight 权重方式
ip_hash 根据ip分配方式
least_conn 依据最少连接数
url_hash 依据url分配方式
fair 依据响应时间
win操作
  1. cmd进入nginx安装目录

  2. 启动nginx

    1
    start nginx
  3. 停止nginx

    1. 查看nginx所有进程

      1
      tasklist /fi "imagename eq nginx.exe"
    2. 通过指令停止nginx

      1
      nginx.exe -s stop
    3. 通过查看到的进程PID,强行杀死进程

      1
      TASKKILL /PID xxxx /F