Nginx是一款轻量级的网页服务器、反向代理器以及电子邮件代理服务器。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
nginx是目前服务端常用的工具,本文系列总结nginx的使用及配置。
一种需求,服务器有多个服务,需要根据域名跳转到不同的服务。比如wx.ixx.com跳转到微信相关的web服务,dev.ixx.com跳转到开发者相关的服务。需要利用到nginx的反向代理的功能,可以配置如下:
user nginx;
worker_processes 1;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
gzip on; # Enables compression
#2014-1-9 for dev
server {
listen 80;#监听的端口,一般默认80即可
server_name dev.ixx.com; #服务名,域名
location / {
proxy_pass http://127.0.0.1:8580/;#跳转的服务地址,可以是本地,也可以是其他服务器,这里是本地的8580端口tomcat服务
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;#提交请求的真实ip,为了目标服务也能获取到请求的真实ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
}
}
#2015-2-10 for weixin
server {
listen 80;
server_name wx.ixx.com;
location / {
proxy_pass http://127.0.0.1:8680/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
}
}
}