Nginx配置反向代理和配置通过浏览器访问日志
一、配置反向代理
目标: 通过服务器A的IP地址反向代理到服务器B的Nginx地址
设备:
- 服务器A 的IP地址: 192.168.0.130
- 云服务器B 的IP地址:49.234.230.118
1.1、安装Nginx
分别通过Linux命令在两台服务器上面安装nginx服务
安装教程请参考其他博客
1.2、验证Nginx是否安装成功
两台服务器分别访问其服务器IP,看是否能成功访问到Nginx的欢迎页,如果成功访问,那么安装Nginx成功
1.3、做一些调整
更改云服务器的Nginx默认端口为8080,使其只能通过ip:8080 才能访问到
1.4、在服务器A的配置文件中做反向代理操作
修改nginx的配置文件 nginx.conf
[root@localhost conf]# vim nginx.conf
1、通过如上命令进入到nginx配置文件
2、在location中加入proxy_pass 指定一个代理的目的服务器
如下图:
到这里一个简单的反向代理就配置结束了
解释一下,因为proxy_pass后面的值是云服务器的Nginx访问方式,所以直接写到后面就OK
1.5、验证是否代理成功
1.5.1、修改服务器B的nginx欢迎页文件
- 1、先备份nginx的index.html文件
[root@VM_0_4_centos html]# mv index.html index.html.bak
- 2、重新写一份欢迎页
[root@VM_0_4_centos html]# echo "Welcome to use custom index page!" > index.html
- 服务器A访问Nginx
我们能通过服务器A访问到云主机B的nginx服务,代理成功
二、配置通过nginx访问服务器上目录下的文件
目标: 通过浏览器访问nginx的日志文件
数据: 服务器A的nginx路径为 /usr/local/nginx/logs
2.1、修改服务器A的nginx.conf文件
在server指令里面增加一个location,内容如下图所示:
方式一:
解释上图:
- /logs:location后的/logs 代表当请求中包含/logs时,请求会被拦截,然后进行匹配,然后nginx就回去找location中root指定的路径
- autoindex on:自动索引,开启后目录会以index的形式展示
- add_header Cache-Control no-store:开启后,浏览器不会保存日志信息
- add_header Content-Type text/plain:加入后可以直接在浏览器打开
2.2、查看效果
- 保存退出编辑配置文件,重启nginx
- 访问192.168.0.130/logs
可以看到已经成功访问
2.3 方式二:
同样修改nginx.conf文件,但是这次我们不用root指定日志目录,我们使用alias指定日志目录,两者的区别我们最后做总结
修改如下图:
- 保存退出编辑配置文件,重启nginx
- 访问192.168.0.130/logs
如上图所示,同样可以返回成功
所以通过对比两张配置文件的截图可以明显看出:
- 通过root指定路径的指令是
root /usr/local/nginx;
- 通过alias指定路径的指令是
alias /usr/local/nginx/logs/
可以看出alias指令中是以 logs/ 结尾,而root指令却没有指定到具体的logs目录
所以两者的区别如下:
- alias指向的映射路径便是资源的根目录。且其可以直接通过ip地址**+location访问,而且必须以 / 结尾,就是如上的
/usr/local/nginx/logs/
** - root 指向的映射地址需要通过root映射地址+location地址访问,及root映射的话需要用通过root映射地址root /usr/local/nginx加上location后面的地址,则就是192.168.0.130/logs,/logs就是location后的地址,/usr/local/nginx则是root映射的地址