31.Nginx
2022-05-16 本文已影响0人
星野君
一、Nginx下载安装
下载安装:
- 官网下载nginx,或者使用
wget https://nginx.org/download/nginx-1.20.2.tar.gz
- 安装依赖
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
- 解压
tar -zxvf nginx-1.20.2.tar.gz
- 进入目录
cd nginx-1.20.2
- 安装
./configure --prefix=/usr/local/nginx
make && make install
二、nginx目录结构
- conf/nginx.conf nginx配置文件
- html 存放静态文件
- logs 日志目录,日志文件
- sbin/nginx 二进制文件,用于启动停止nginx服务
三、Nginx常用命令
在sbin目录下执行:
./nginx -v #查看版本号
./nginx -t #查看nginx.conf文件配置是否错误
./nginx #启动nginx
./nginx -s stop #停止nginx服务
./nginx -s reload #重写加载配置文件
配置nginx环境变量
vim /etc/profile
添加
PATH=/usr/local/nginx/sbin:$JAVA_HOME/bin:$PATH
最后执行
source /etc/profile
四、Nginx配置文件结构
- 全局块 和Nginx运行相关的全局配置
- events块 和网络连接相关的配置
- http块 代理、缓存、日志记录、虚拟主机配置
- http全局块
- Server块
- Server全局块
- location块
注:http块中可以配置多个server块,每个server块可以配置多个location块
server {
listen 80; #监听端口
server_name localhost; #服务器名称
location / { # 匹配客户端请求url
root html; # 指定静态资源根目录
index index.html index.htm; #指定默认首页
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
五、反向代理
server {
listen 80; #监听端口
server_name localhost; #服务器名称
location / { # 匹配客户端请求url
proxy_pass http://192.168.xxx.xxx:8080;
}
}
六、负载均衡
upstream targetserver{ #upstream指令可以定义一组服务器
server 192.168.xxx.xxx:8080;
server 192.168.xxx.xxx:8081;
}
server {
listen 80; #监听端口
server_name localhost; #服务器名称
location / { # 匹配客户端请求url
proxy_pass http://targetserver;
}
}
Nginx负载均衡四种分配策略
- 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器宕机,能自动剔除掉。 - weight
weight代表权重,默认为1,权重越高被分配的客户端越多。
upstream myserver {
server 123.56.241.139:8080 weight=5;
server 123.56.241.139:8081 weight=10;
}
- ip_hash
每个请求按访问IP的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session问题,例如:
upstream myserver {
ip_hash;
server 123.56.241.139:8080;
server 123.56.241.139:8081;
}
- fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配,例如:
upstream myserver {
server 123.56.241.139:8080;
server 123.56.241.139:8081;
fair;
}