nginx的基础知识三之nginx的反向代理和基本操作

正向代理:[ 多个客户端Client-->Proxy ]-->Server

反向代理:多个客户端Client-->[ Proxy-->多个Server ]

正向代理是代理客户端,为客户端收发请求,使真实的客户端对服务器不可见。

反向代理是代理服务器端,为服务器收发请求,使真实的服务器对客户端不可见。

一 反向代理

前一篇Nginx基础知识 已经详细介绍了nginx的目录和文件。当我们想去做反向代理时,首页需要知道去nginx目录下修改哪个文件?之后是怎么样修改?

1.1 操作

1.到/etc/nginx/site-available目录下

root@iZ28:~# cd /etc/nginx/sites-available/
root@iZ28:/etc/nginx/sites-available# ls
default

2.复制一份default文件,取名为blog

cp default blog

3.vi blog修改 blog文件为:

1).反向到服务器的不同端口号:

server {
    listen 80;

    server_name liutao.top;

    location / {
        proxy_pass  http://127.0.0.1:1314;
        
    }
}

此时这里的意思是:当外网访问liutao.top时,会被反向代理到本台服务器的1314端口号。

此时如果在自己的服务器上开了一个1314端口的项目,就可以直接通过反向代理的方式访问到该项目。具体访问过程是:在外网浏览器地址输入liutao.top时(默认是80端口),进过nginx监听到了此次访问,nginx反向代理到了本台服务器的1314端口,找到本台服务器1314端口的进程是什么。

这里有一个点:当进过外网访问到了本台服务器时,这台服务器的的内部访问可以走内网,一律设置为127.0.0.1,从访问流量和时间来说,这都是一个很好的措施。

2).反向到不同地址:

server {
    listen 80;

    server_name liutao.top;

    location / {
        proxy_pass  http://www.baidu.com;
        
    }
}

此时这里的意思是:当外网访问liutao.top时,会被反向代理到百度地址。

注释:

listen:监听端口

server_name:外网访问地址

proxy_pass:定义反向地址

二 基本操作

2.1 windows下:

1.启动
到.exe目录,start nginx 或者 nginx.exe(不推荐,会使的窗口不能做其他事)

2.停止 nginx -s stop(不推荐,不能保存相关信息) 或者 nginx -s quit(推荐,会有条不紊的推出)

3.重新载入 nginx.exe -s reload 当配置发生改变时,可以用这个

4.查看版本 nginx -v

2.2 ubuntu下:

阿里云的云主机 ubuntu14.04。

1.启动

root@iZ28:~# nginx 

2.停止

 root@iZ28:~# nginx -s stop 

3.重新载入

 root@iZ28:~# nginx -s reload

提示:

nginx: [error] open() "/run/nginx.pid" failed (2: No such file or directory)

如用reload重载时,可能会报此错。linux重启nginx后出现可能会有nginx的pid丢失。两种方式解决:1.服务器重启;2.先执行第2步再执行第1步。

你可能感兴趣的:(nginx的基础知识三之nginx的反向代理和基本操作)