昨天跟大家分享了怎么用supervisor来作为守护进程。今天我们就来学习下,nginx的反向代理。
这里我们先说下什么是正向代理与反向代理。
正向代理
正向代理,最常见的就是我们用的翻墙工具,通过代理服务器来访问真正的服务器。比如你需要访问google,由于国内被河蟹了,所以你需要通过一个代理服务器来访问它,进行一个中转。
可以形容为正向代理隐藏真实客户端。这里服务端指的是google,客户端指的是输入google的人,而代理服务器只是一个中间转发者。
反向代理
反向代理,最常见的就是我们通过google搜索时,google的背后其实是有千千万万的服务器来进行支持的,它做了一个中转,把你的请求分发到不同的服务器。
可以形容为反向代理隐藏真实服务端。这里的客户端指是的输入google的人,服务端指的是google背后的服务器,而google只是一个中间转发者。
因为反向代理是中转客户端请求,所以它也多数用于负载均衡,本篇文章只是粗略的介绍了下反向代理功能,更强大的配置请查看官方文档。
废话不多说了,我们进入正题。
1.安装nginx
apt-get install nginx
2.查看一下nginx的配置
vi /etc/nginx/nginx.conf
这个是部分的配置截图,我们查看的是下面的配置文件路径,会发现nginx会读取/etc/nginx/conf.d/*.conf和/etc/nginx/sites-enabled/*下面的文件。
所以我们只需要将文件名放在conf.d文件中就行。
昨天文章里面写到的一个用supervisor来监管python程序的小例子。今天,我们就反向代理到它。
3.配置一个反向代理
vi /etc/nginx/conf.d/test.conf
输入以下内容
server {
server_name api.tuox.vip;
listen 80;
location / {
proxy_pass_header Server;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000;
}
}
解释一下上面的配置内容,监听的是80端口,并且请求的域名为api.tuox.vip,转发到本机的8000端口。
4.重启一下nginx服务
service nginx restart
5.查看结果
6.一些基本命令
service nginx start #开启nginx服务
service nginx stop #停止nginx服务
service nginx restart #重启nginx服务
service nginx reload #重载nginx服务
nginx -t #测试配置是否正常
更多命令 可以使用nginx -h查看
总结
nginx非常强大,这篇文章只是一个粗浅的demo,大家可以通过查询资料、文档来学习、配置等。不懂不可怕,可怕的是不懂而不去学习。