学习了一下nginx反向代理怎么用的。
准备了两台虚拟机一台运行web应用(192.168.199.110),一台运行nginx代理服务(192.168.199.191)
web应用是用tornado写的一个简单应用。
首先安装niginx
sudo apt-get install nginx
安装成功后,访问一下nginx是否成功,打开浏览器输入nginx的ip即可(nginx默认80端口)
正常是显示一个提示安装nigix成功的英文信息页面,表示nginx安装成功正在运行。
现在来配置一下nginx的配置文件
主文件 /etc/nginx/nginx.conf (主要是一些公用的配置,类似于对象的基类)
nginx.conf里关键的一句话
include /etc/nginx/conf.d/*.conf;
配置的文件在 /etc/nginx/conf.d 目录下面,由上面那句话知道,只识别后缀为.conf的文件
所以新建一个文件/etc/nginx/conf.d/app.conf
# web服务器
upstream tornadoes {
server 192.168.199.110:8000;
}
# 代理服务器
server {
listen 80;
server_name 192.168.199.191;
location /static/ {
root /var/www/static;
if ($query_string) {
expires max;
}
}
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://tornadoes;
}
}
改完保存之后,nginx需要重新加载
sudo nginx -s reload
确保web服务器上的web程序跑着。
然后访问代理服务器(这个应用是查询perturb字段的信息)
http://192.168.199.191/perturb
看到返回内容
和直接访问web服务器内容一毛一样