>  기사  >  운영 및 유지보수  >  nginx에서 여러 프런트엔드 프로젝트를 구성하는 방법

nginx에서 여러 프런트엔드 프로젝트를 구성하는 방법

王林
王林앞으로
2023-05-21 10:34:202694검색

최근에는 여러 프런트엔드 프로젝트로 서버를 구성해야 합니다. 물론 nginx는 프런트엔드 프로젝트와 백엔드 프로젝트를 분리해야 합니다.

다음과 같이 단일 프로젝트도 괜찮습니다.
nginx의 nginx.conf 구성 파일을 수정하세요

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid /usr/local/nginx/logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
 
    server {
        listen       8000;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        
        location / {
            root   /var/www/;
            #index  index.html index.htm;
        }
        location ~ /static/.*\.(gif|jpg|jpeg|png|bmp|swf)$ {
            root /var/www/project;
        }

        location ~ /static/.*\.(js|css)$ {
            root /var/www/project;
        }

        location = /project {
            root   /var/www/project;
            index  index.html index.htm;
        }
   
    }

}

하지만 nginx.conf에서도 구성해야 하는 여러 프로젝트가 있습니다

이 프로젝트는 vue cli를 기반으로 개발되었습니다. 패키징 시 js, css 구성 필요 정적 파일의 연결 주소를 기다립니다
다음 구성 파일을 수정

nginx에서 여러 프런트엔드 프로젝트를 구성하는 방법

프로젝트 이름이나 경로 이름에 따라 해당 프로젝트에서 수정합니다

assetsPublicPath: '/project/'
-----------------------
assetsPublicPath: '/project1/'

그런 다음 nginx.conf 구성

user root;
worker_processes  1;

pid /usr/local/nginx/logs/nginx.pid;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8000;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        
        location / {
            root   /var/www;
            #index  index.html index.htm;
        }

        location = /project1 {
            root   /var/www/project1;
            try_files $uri $uri/ /project1/index.html;
            index  index.html index.htm;
        }
        
        location = /project2{
            root /var/www/project2;
            try_files $uri $uri/ /project2/index.html;
            index  index.html index.htm;
        }

    }

}

여기서 사용자 루트를 추가해야 합니다. 그렇지 않으면 범위가 500으로 보고됩니다.
그런 다음 nginx를 다시 시작하세요

 先停止
  ./nginx -s quit
 再重启
 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

물론 nginx -s reload를 사용할 수 있지만 문제를 해결하려면 오류가 보고될 수 있습니다. 위의 방법을 사용하세요

nginx에서 여러 프런트엔드 프로젝트를 구성하는 방법


192.168..:8000/project/index.html
192.168..:8000/project1/index.html

에 액세스하세요.

위 내용은 nginx에서 여러 프런트엔드 프로젝트를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제