Appearance
Nginx 部署配置
1. Nginx 环境部署
下载安装包,官网链接 https://nginx.org/en/download.html
解压安装包
shell
[root@tango-rac01 src]# tar -xzvf nginx-1.22.1.tar.gz
- 编译配置
shell
[root@tango-rac01 nginx-1.22.1]# ./configure
[root@tango-rac01 nginx-1.22.1]# make
[root@tango-rac01 nginx-1.22.1]# whereis nginx
nginx: /usr/local/nginx
- 启动 Nginx
shell
[root@tango-rac01 nginx-1.22.1]# cd /usr/local/nginx/
[root@tango-rac01 nginx]# ./sbin/nginx
[root@tango-rac01 nginx]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 511 *:80 *:*
2. Nginx 不同场景配置
2.1 Nginx 配置文件介绍
text
... #全局块
events { #events块
...
}
http #http块
{
... #http全局块
server #server块
{
... #server全局块
location [PATTERN] #location块
{
...
}
location [PATTERN]
{
...
}
}
server
{
...
}
... #http全局块
}
全局块:配置影响 nginx 全局的指令。一般有运行 nginx 服务器的用户组,nginx 进程 pid 存放路径,日志存放路径,配置文件引入,允许生成 worker process 数等。
events 块:配置影响 nginx 服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
http 块:可以嵌套多个 server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type 定义,日志自定义,是否使用 sendfile 传输文件,连接超时时间,单连接请求数等。
server 块:配置虚拟主机的相关参数,一个 http 中可以有多个 server。
location 块:配置请求的路由,以及各种页面的处理情况。
2.2 反向代理配置
简单配置如下:
text
server {
keepalive_requests 120;
listen 80;
server_name 192.168.112.135;
location ~ /news/ {
proxy_pass http://192.168.112.101:8080;
}
location ~ /prod/ {
proxy_pass http://192.168.112.101:8081;
}
}
2.3 负载均衡配置
text
upstream myServer {
server 192.168.112.101:8080 down;
server 192.168.112.101:8090 weight=2;
server 192.168.112.101:6060;
server 192.168.112.101:7070 backup;
}
#指定负载均衡策略为ip_hash
upstream myServer {
ip_hash
server 192.168.112.101:8080;
server 192.168.112.101:6060;
}
down
:表示当前的 server 暂时不参与负载
Weight
:默认为 1,weight 越大,负载的权重就越大。
max_fails
:允许请求失败的次数默认为 1,当超过最大次数时,返回 proxy_next_upstream 模块定义的错误
fail_timeout
:max_fails 次失败后,暂停的时间。
Backup
:其它所有的非 backup 机器 down 或者忙的时候,请求 backup 机器。所以这台机器压力会最轻。
2.4 动静分离配置
text
server {
listen 10000;
server_name localhost;
#拦截后台请求
location / {
proxy_pass http:// 192.168.112.101:8888;
proxy_set_header X-Real-IP $remote_addr;
}
#拦截静态资源
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|js|css)$ {
root /static/;
autoindex on;
}
}