nginx 한 포트 에 여러 개의 단일 페이지 응용 (history 경로 모드) 을 배치 합 니 다.

2173 단어
현재 웹 개발 은 일반 전후 단 분리 기술 을 사용 하고 전단 은 경 로 를 책임 집 니 다.미관 을 위해 전단 에 h5 history 모드 를 사용 하 는 경로 입 니 다.그러나 페이지 를 새로 고 칠 때 전단 은 정말 가짜 경로 에 따라 백 엔 드 로 파일 을 찾 습 니 다.이 때 백 엔 드 는 index (index. html) 파일 을 되 돌려 야 404 를 되 돌려 주지 않 습 니 다.
nginx 는 한 페이지 의 응용 프로그램 을 배치 하 는 것 이 매우 간단 합 니 다.
   location / {
      root   html;
      try_files $uri /index.html index.html;
   }

루트 는 웹 서버 디 렉 터 리, tryfiles 는 파일 과 일치 합 니 다. 실제 주소 ($uri) 를 찾 고, 찾 지 못 하면 index. html 파일 을 찾 습 니 다. * * * \ #history 모드 에 서 는 상대 적 인 위치 도입 방식 (. /) * * * 을 사용 할 수 없습니다.
그러나 몇 개의 단일 페이지 애플 리 케 이 션 이 같은 컴퓨터 에 동시에 배치 되 어야 하고 80 이나 443 포트 를 차지 해 야 한다 면 쉽 지 않다.
같은 ip 포트 에 여러 페이지 의 응용 (전단 경로) 을 배치 하 는 방법 2 가 지 를 소개 합 니 다.
  • 하위 도 메 인 이름 으로 구분 하 는 방법 이 가장 간단 하 다.그러나 도 메 인 이름 을 사 거나 방문 자 컴퓨터 의 hosts 파일 을 수정 해 야 한 다 는 제한 도 크다.
    server {
        listen       80;
        server_name  aa.gs.com;  #   aa   
        localtion / {
           root E:/ee; #windows   ,E   ee   aa.gs.com      。
           try_files $uri /index.html index.html;
        }
    }
    server {
       listen       80;
       server_name bb.gs.com; #     bb 。
       location / {
           root   /root/bb; # linux /root/bb          。
           try_files $uri /index.html index.html;
       }
    
    }
    
  • 경로 의 첫 번 째 폴 더 이름 을 구분 합 니 다.예 를 들 어 https://aa.com/a/xxhttps://aa.com/b/xx.ab 를 구분 하여 각각 다른 항목 을 나타 낸다.설치 지점 필요:
  • 전단 을 포장 한 파일 참조 주 소 는 접두사 '/a/' '/b/' 를 붙 여야 합 니 다.예 를 들 어 (webpack 은 PublicPath: '/ a' 설정)
  • 전단 의 경로 에 /a/ 접 두 사 를 붙 여야 합 니 다. 예 를 들 어 실제 주소 test.com/sstest.com/a/ss
  • 로 바 꿔 야 합 니 다.
       server {
           listen       80;
           root /root/test; #web     ;
           location ^~ /a/{
             try_files $uri /a/index.html;  #       ,    /root/test/a/index.html
           }
           location ^~ /b/{
            try_files $uri /b/index.html; #       ,    /root/test/b/index.html
           }
          
      }

    다음으로 전송:https://www.cnblogs.com/gsgs/p/11498339.html

    좋은 웹페이지 즐겨찾기