Nginx实现反向代理
nginx是一个高性能的http和反向代理服务,也是一个IMAP/POP3/SMTP服务
优点:配置简单、支持高并发、内存消耗少、稳定性高
一、nginx安装和基本使用
# 安装依赖
安装gcc | yum -y install gcc |
安装pcre、pcre-devel | yum install -y pcre pcre-devel |
安装 zlib | yum install -y zlib zlib-devel |
安装 openssl | yum install -y openssl openssl-devel |
# 安装nginx
下载nginx安装包 | wget http://nginx.org/download/nginx-1.18.0.tar.gz |
解压 | tar -zxvf nginx-1.18.0.tar.gz |
使用默认配置(这一步一般用来成成Makefile,为下一步编译做准备) |
./configure |
编译安装(make是编译,make install是安装) |
make make install |
至此,安装完成,基本结构如下
启动 |
进入目录:cd /user/local/nginx/sbin 启动:./nginx
|
|
停止 | ./nginx -s stop | 先查出nginx进程id,再使用kill命令强制杀掉进程 |
./nginx -s quit | 待nginx进程处理任务完毕进行停止 | |
重启 | ./nginx -s reload | |
查看nginx进程 | ps aux|grep nginx | |
查看日志 | cat xx.log |
nginx三大目录
日志目录 | /nginx/logs | 查看错误日志,时间长了需要做清理 |
配置文件目录 | /nginx/config | nginx.config 启动项目、配置代理、解析域名、 |
网站文件目录 | /nginx/www(html) | 可以把我们的网站文件上传到当前目录 |
二、nginx配置说明
main | 用于进行nginx全局信息的配置 |
events | 用于nginx工作模式的配置 |
http | 用于进行http协议信息的一些配置(常用) |
server | 用于进行服务器访问信息的配置,一个网站配置就是一个server(常用) |
location | 用于进行访问路由的配置 |
upstream | 用于进行负载均衡的配置 |
域名解析 - 将我们注册的域名和服务器绑定起来,通过访问域名来请求我们的网站
三、案例演示 (vue-router、nodejs)
vue-router 刷新功能需要后端nginx配合返回index.html
1 server { 2 listen 80; 3 server_name www.sanshigege.com; // 域名/IP 4 root /user/local/nginx/html/test; // root 配置代码地址 5 location / { 6 try_files $uri $uri/ /index.html // history路由 7 proxy_buffer off; 8 } 9 }
1 server { 2 listen 80; 3 server_name api.sanshigege; 4 location / { 5 proxy_redirect off; 6 proxy_set_header Host $host; 7 proxy_set_header X-Real-Ip $remote_addr; 8 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 9 proxy_pass http://172.25.0.124:3000; # 内网IP 10 } 11 }