nginx反向代理和alias的使用

一反向代理和alias配置

1 配置文件

[ nginx]# egrep -v "^[[:space:]]+#" conf/default.conf 
upstream tomcat {
  server 172.17.0.5:8080;
}


server {
    listen       80;
    server_name  www.hu.com;

    access_log  /var/log/nginx/host.access.log  main;

    location /pc/ {
        
        alias   /usr/share/nginx/html/;
        index  index.html index.htm;
    }
    location / {
            proxy_pass http://tomcat;
            proxy_set_header Host  $host;
            proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP  $remote_addr;
        }


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }



}

2 最终访问的两个url

www.hu.com/pc 这个访问的是nginx的静态页面
www.hu.com 这个访问的是tomcat反向代理

3 alias和root的区别

关于alias和root的区别:
root和alias是系统文件路径的设置。
root用来设置根目录,而alias用来重置当前文件的目录

例如:

location /img/ {
    alias /var/www/image/;
}
#若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件
location /img/ {
    root /var/www/image;
}
#若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件。