深浅模式
Nginx
Nginx安装配置
- 安装编译工具
shell
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
下载
- 官网下载安装压缩包
- wget 安装
shell#安装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
常用命令
命令 | 操作 |
---|---|
./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块
shell
#全局块
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;
}
}
}
反向代理
正向代理 (代理客户)
- 又或者国内访问不上 GitHub,但是可以使用代理工具,代理工具替你去访问GitHub服务器,并将结果返回给你,你只需要访问代理服务器即可
反向代理 (代理服务器)
客户端访问服务器,服务器为了防止恶意访问(DoS/DDoS),在访问中间增加代理服务器用于接收客户端的请求,代理服务器再去请求服务器,服务器将响应的结果放回给代理,最后代理将请求的结果返回
反向代理demo
配置文件(代理服务器ip:192.168.43.10)
shellserver{ listen 8080; server_name localhost; location / { proxy_pass http://192.168.43.11:8080; } }
192.168.43.11服务器开启Web服务
| | | | :----------------------------------------------------------: | :----------------------------------------------------------: |
负载均衡
- 配置
shell
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;
}
}
- 策略(默认轮询方式)
名称 | 说明 |
---|---|
weight | 权重方式 |
ip_hash | 根据ip分配方式 |
least_conn | 依据最少连接数 |
url_hash | 依据url分配方式 |
fair | 依据响应时间 |
win操作
cmd进入nginx安装目录
启动nginx
shellstart nginx
停止nginx
查看nginx所有进程
shelltasklist /fi "imagename eq nginx.exe"
通过指令停止nginx
shellnginx.exe -s stop
通过查看到的进程PID,强行杀死进程
shellTASKKILL /PID xxxx /F