精华内容
下载资源
问答
  • 2020-12-25 17:10:26

    以下解决方法只针对,通过nginx配置本地绝对路径下的资源
    没有涉及到其他问题

    安装

    nginx官网下载压缩包解压。

    启动

    启动方式不赘述。可以通过命令,也可以直接双击nginx.exe

    配置

    E:\nginx-1.19.6\conf\nginx.conf
    

    配置文件在以上路径中。

    server {
            listen       8080;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                #root   html;
                alias   F:/PROJECT/BJZKJD/portal-front/src/;
                index  index.html index.htm;
            }
            # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            location /BJZKJD/PORTAL {
                alias   F:/PROJECT/BJZKJD/portal-front/src;
                autoindex  on;
            }
            
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    

    listen 设置监听的端口
    server_name 设置服务名
    location 设置映射路径

     location /BJZKJD/PORTAL {
        alias   F:/PROJECT/BJZKJD/portal-front/src;
        autoindex  on;
    }
    

    此处需要注意,设置好访问以后,可能会报404。这个需要根据实际需要去做映射。

    另:
    修改完配置文件后通过命令刷新即可:

    nginx -s reload
    
    更多相关内容
  • 在项目开发过程中,在部署过程中,用到了反向代理,这就要求前端代码中不能使用绝对路径。但是我们知道,一般情况下,通过webpack+vuecli默认打包后的HTML、css、js等文件,使用的都是绝对路径。下面可以举几个例子...
  • 修改root映射,通过Nginx rewrite内部跳转,设置别名alias映射实现,通过nginx的permanent 301绝对跳转实现. 1 nginx修改root映射 修改root映射实现nginx目录访问重定向是最简单的方式, 推荐采用这一种. location /...
  • #samba安装 yum -y install samba #samba配置 vim /etc/samba/smb.conf #增加配置内容 [test] comment = samba test path=/media public=No read only=yes valid users = samba,test write list=samba ...
  • nginx路径匹配规则

    2021-07-15 10:48:15
    proxy_pass的匹配规则根据其后uri路径是否加/。 不建议用替换来形容,感觉很乱。 请求路径 http://localhost:80/ng/index ①uri【http://localhost:8080】后无/ 其真实路径为http://localhost:8080/ng/index ,不忽略...

    proxy_pass的匹配规则根据其后uri路径是否加/。
    不建议用替换来形容,感觉很乱。

    请求路径 http://localhost:80/ng/index
    ①uri【http://localhost:8080】后无/
    其真实路径为http://localhost:8080/ng/index ,不忽略匹配路径

      location /ng/ {
                proxy_pass http://localhost:8080;
            }
          
    

    ②uri【http://localhost:8080】后有/
    其真实路径为http://localhost:8080/index , 忽略匹配路径

      location /ng/ {
                proxy_pass http://localhost:8080/;
            }
          
    

    请求路径 http://localhost:80/app/index.html
    root和alias的区别:
    ①root用于不忽略匹配路径, uri路径【F:/nginx/static/】 其后有无/ 都一样
    真实路径为F:/nginx/static/app/index.html

    location /app/ {
                root F:/nginx/static/;
                index  index.html index.htm;
            }
    

    ②alias用于忽略匹配路径,uri路径其后必须有 /
    真实路径为F:/nginx/static/index.html

    location /app/ {
                alias F:/nginx/static/;
                index  index.html index.htm;
            }
    

    注意:

    匹配路径为/,其优先级低于其它匹配路径

    展开全文
  • 配置路径时,是分实路径和虚路径的,并且路径会影响到 proxy_pass 转发时的路径。 假如 tomcat 启动了一个名为 online-registration 的工程 登录的后端接口如下所示 @RestController @RequestMapping("/user/...

    注:本博客要说的不是location的配置规则和内容,而是基于urlnginx代理转发的后端接口的路径配置。

    实路径和虚路径?

    location配置路径时,是分实路径和虚路径的,并且路径会影响到proxy_pass转发时的路径。

    假如tomcat启动了一个名为online-registration的工程

    登录的后端接口如下所示

    @RestController
    @RequestMapping("/user/login")
    public class UserLoginController {
    	@RequestMapping()
    	public Object login() {
    		return "success";
    	}
    }
    

    nginxlocation配置如下所示,自己测试时不要同时配置,避免混淆

    # 虚路径
    location /v1/online {
    	proxy_pass http://1.1.1.1:8080/online-registration/ ;
    }
    # 实路径
    location /v1/online/user {
    	proxy_pass http://1.1.1.1:8080/online-registration/user ;
    }
    
    • 结合接口的RequestMappingnginx配置来看:

      接口的路径是 /user/loginlocation配置的/v1/online为虚拟路径,它的proxy_pass配置到tomcat启动的工程名即可,/v1/online/user路径中包含RequestMapping的关键字,它的proxy_pass路径需要配置到工程名下的具体接口的路径。

    • 以浏览器访问虚路径分析:

      location /v1/online {
      	proxy_pass http://1.1.1.1:8080/online-registration/ ;
      }
      

      访问http://1.1.1.1/v1/online/user/loginnginx匹配url中的/v1/online时,nginx会将online后面的user/login自动的添加到proxy_pass转发的路径/online-registration/后面,即nginx转发的实际路径为: http://1.1.1.1:8080/online-registration/user/login,正确的访问后端接口;

    • 以浏览器访问实路径分析:

      location /v1/online/user {
      	proxy_pass http://1.1.1.1:8080/online-registration/user ;
      }
      

      访问http://1.1.1.1/v1/online/user/login,同虚路径的访问方式一致。但是如果proxy_pass的配置是http://1.1.1.1:8080/online-registration;,那么nginx代理时,转发的实际路径为:http://1.1.1.1:8080/online-registration/login,如果你的项目只有/user/login接口,而没有/login接口时,就会出现访问异常。

    展开全文
  • location 中root所指向的html是一个相对路径,相对的是这个配置文件的路径,假设此配置文件的位置是/etc/nginx/conf.d,那么这个html的绝对路径就是/etc/nginx/conf.d/html。因此为避免出现不必要的麻烦,在配置root...
  • nginx 正则路径匹配

    千次阅读 2021-11-15 11:57:02
    Nginx路径匹配符号 = 表示精确匹配 ^~ 表示uri以某个常规字符串开头,大多情况下用来匹配url路径nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。 ~ 正则匹配...

    更多请参考:https://liuhuiyao.blog.csdn.net/article/details/119459183


    Nginx路径匹配符号

    = 表示精确匹配
    ^~ 表示uri以某个常规字符串开头,大多情况下用来匹配url路径,nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。
    ~ 正则匹配(区分大小写)
    ~* 正则匹配(不区分大小写)
    !~ 区分大小写不匹配
    !~* 不区分大小写不匹配
    / 任何请求都会匹配
    

    注意要使用正则除了正则表达式,location 后还要加 ~ 相关表达式、 才能表示后面是正则表达式!!! 如下:

    注意 :~ 表达式 和 正则表达式 中间有空格。

    location [=|~|~*|^~] /uri/ { }


    符号优先级


    首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

    示例

    获取 location 中匹配的正则表达式匹配的字符串

    • 访问http://localhost/test/a.html,在本机寻找文件路径为/usr/local/html/a.html;
    • $1表示正则表达式中的第一个括号内匹配的内容;
    location ~ /test/(.*\.html)$ {
                alias /usr/local/html/$1;
            }

    基础使用

    location  = / {
      # 精确匹配 / ,主机名后面不能带任何字符串
      [ 规则 A ] 
    }
    
    location  / {
      # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求
      # 但是正则和最长字符串会优先匹配
      [ 规则 B ] 
    }
    
    location /documents/ {
      # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索
      # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条
      [ 规则 C ] 
    }
    
    location ~ /documents/Abc {
      # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索
      # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条
      [ 规则 D ] 
    }
    
    location ^~ /images/ {
      # 匹配任何以 /images/ 开头的地址,匹配符合以后,停止往下搜索正则,采用这一条。
      [ 规则 E ] 
    }
    
    location ~* \.(gif|jpg|jpeg)$ {
      # 匹配所有以 gif,jpg或jpeg 结尾的请求
      # 然而,所有请求 /images/ 下的图片会被 [规则 E] 处理,因为 ^~ 优先级更高
      [ 规则 F ] 
    }
    
    location /images/ {
      # 字符匹配到 /images/,继续往下,会发现 ^~ 存在
      [ 规则 G ] 
    }
    
    location /images/abc {
      # 最长字符匹配到 /images/abc,继续往下,会发现 ^~ 存在
      [ 规则 H ] 
    }
    
    location ~ /images/abc/ {
      # 只有去掉 [规则 E] 才有效:先最长匹配 [规则 H] 开头的地址,继续往下搜索,匹配到这一条正则,采用
      [ 规则 I ] 
    }

    匹配MP_verify_****.txt文件,中间任意字符,并在/usr/share/nginx/file目录中寻找对应文件

    # 微信授权文件通用匹配规则
    location ~ (MP_verify_)*\.(txt)$ {
        root   /usr/share/nginx/file;
    }
    

    匹配/static开头路径,并在/data/product/static寻找对应文件  

    # 静态文件工程配置
    location ^~ /static/ {
        root   /data/product/static;
        index  index.html index.htm;
    }

     匹配以.html 等结尾的

    # 静态文件配置
    location ~* \.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {  
        root /data/product/static/;  
    }


    配置proxy_pass时路径拼接规则


    在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/

    • 当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;
    • 如果没有/,则会把匹配的路径部分也给代理走
    server {
        listen 80;
        server_name test.xxx.com;
        
        location ^~ /abc {
            proxy_set_header    Host $host;
            proxy_set_header    X-Real-IP  $remote_addr;
            proxy_pass http://127.0.0.1:8081/;
        }
    }

    加上/ 请求地址http://test.xxx.com/abc/index,会转发到http://127.0.0.1:8081/index

    server {
        listen 80;
        server_name test.xxx.com;
        
        location ^~ /abc {
            proxy_set_header    Host $host;
            proxy_set_header    X-Real-IP  $remote_addr;
            proxy_pass http://127.0.0.1:8081;
        }
    }

    不加/ 请求地址http://test.xxx.com/abc/index,会转发到http://127.0.0.1:8081/abc/index

    展开全文
  • 现有的临时应对方法为在nginx.conf中添加对abc网站绝对目录的代理,如下 ``` location /static/ { proxy_pass http://10.10.10.10/static/; } ``` 但是如果服务一多,就会冲突。 请问问题如何解决? 谢谢各位...
  • nginx 解决css、js请求路径无法加载问题
  • Nginx 学习笔记总结(三)

    千次阅读 2022-02-28 10:59:07
    1. 在nginx中配置静态资源防盗链 2. Nginx的模块化体系 3. 四层和七层负载均衡 4. 使用JMeter测试集群的并发异常率 5. 负载均衡的实现 6. Nginx控制浏览器缓存 7. Nginx反向代理缓存 8. 使用Nginx配置SSL证书提供...
  • nginx配置路径

    千次阅读 2019-06-25 11:25:26
    nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。 ...
  • nginx 目录路径重定向设置方法

    千次阅读 2020-12-24 05:04:45
    1、nginx修改root映射修改root映射实现nginx目录访问重定向是最简单的方式, 推荐采用这一种。location /image {root /folderName;}2、通过nginx rewrite内部跳转实现访问重定向nginx配置代码示例:location /image {...
  • nginx根据路径设置静态资源

    万次阅读 2017-09-14 16:15:16
    nginx根据特定路径访问服务器静态资源   最近有一个需求,就是url指定路径下访问服务器的静态资源。简单配置下却总是报404错误。说明是nginx找不到你配置的资源。 nginx 代理常见的静态资源配置方式有两种。一种...
  • nginx目录路径重定向

    万次阅读 2018-03-09 11:06:42
    nginx目录路径重定向目录1 nginx修改root映射2 通过nginx rewrite内部跳转实现访问重定向3 nginx设置别名alias映射实现4 通过nginx的permanent 301绝对跳转实现5 通过判断uri实现页面跳转如果希望域名后边跟随的路径...
  • Nginx 路径匹配规则 Nginx路径匹配符号 = 表示精确匹配 ^~ 表示uri以某个常规字符串开头,大多情况下用来匹配url路径nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格...
  • 记一次解决“Nginx 修改root路径后无法生效”的问题解决历程。 在使用Nginx搭建一个静态网站的时候,想要通过让Nginx转发某个请求到后台的指定静态文件,最初修改的Nginx的部分配置如下: server { listen 80; ...
  • Nginx 路径匹配规则

    千次阅读 2020-01-06 20:09:18
    Nginx路径匹配符号 = 表示精确匹配 ^~ 表示uri以某个常规字符串开头,大多情况下用来匹配url路径nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。 ~ 正则匹配...
  • 看了下logs下面的error.log文件,发现路径有问题,修改了conf配置,把root的路径反斜杠要用两个反斜杠进行转义,再次运行正常了。 转载于:https://www.cnblogs.com/liyou-blog/p/6128313.html...
  • ln + -s + 源文件路径 +目标文件路径 目的是通过软连接将nginx程序连接到/use/local/sbin目录中 之后就可以在任意目录下开启nginx了。 启动nginx服务 nginx 停止nginx服务 nginx -s quit 重新载入
  • nginx中运行vue配置路径办法

    千次阅读 2020-01-13 10:16:43
    nginx.conf文件如下: user root; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid /usr/local/nginx/nginx-1.14.0/logs/...
  • nginx反向代理时通过rewrite解决后端资源css/js/img 写了绝对路径的问题
  • Nginx转发路径拼接规则

    万次阅读 2019-04-25 10:32:27
    当加上了/,相当于是绝对路径,则nginx不会把location中匹配的路径部分代理走; 如果没有/,则会把匹配的路径部分也给代理走. 1.当加上/配置如下,假设请求是http://58.249.55.68:8099/admin/having/test.do 这...
  • 问题描述: Linux配置nginx 代理本地资源... #配置文件存储的目录即可(需绝对路径,但不需要精确到文件夹) alias /1/2/; proxy_connect_timeout 3; proxy_read_timeout 3; proxy_send_timeout 3;
  • nginx配置文件访问路径

    千次阅读 2020-08-26 14:07:36
    1.安装nginx wget http://nginx.org/download/nginx-1.12.2.tar.gz yum -y install pcre-devel openssl openssl-devel ./configure --prefix=/usr/loacl/nginx make make install 也可以选择 yum install nginx 安装...
  • Nginx

    千次阅读 2022-02-20 18:35:52
    Nginx入门 1.什么是Nginx Nginx是一个高性能的Http和反向代理的Web服务器 2.Nginx能做什么 要想了解一个东西,我们必须能了解它的作用,它是做什么的 反向代理:正常来说流程是客户端请求服务器,服务器响应客户端,...
  • 使用 nginx 作为代理服务器的路径问题 但是很多时候,我们的服务器地址是这样的: a: 192.168.1.14 b: 192.168.1.15 c: 192.168.1.16 ... 我们需要将 127.0.0.1/a 代理到 a 服务器 ...
  • 在写这篇文章之前,xxx已写过了几篇关于改服务器相对路径主题的文章,想要了解的朋友可以去翻一下之前的文章 Nginx即可以做为反向代理服务,也可以做Web服务。入门一中,已尝鲜了一下。只不过入门一里头重要应用了...
  • nginx多端口访问及配置访问路径

    千次阅读 2022-02-08 22:53:58
    想安装两个nginx的话,在安装的时候指定第二个的安装路径,因为第一个nginx默认安装路径为 /usr/local/nginx 指定路径 ./configure --prefix=/usr/local/nginx1 nginx三大特点: 反向代理 负载均衡 动静分离 2....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,179
精华内容 11,271
关键字:

nginx绝对路径

友情链接: KNN.zip