Javascript 使用kubernetes在nginx中部署React js构建目录

Javascript 使用kubernetes在nginx中部署React js构建目录,javascript,reactjs,nginx,kubernetes,Javascript,Reactjs,Nginx,Kubernetes,在Nginx服务器中部署React js(构建目录)静态文件 使用kubernetes,我运行nginx服务器为静态文件提供React js“build”目录。我可以在浏览器中访问simple index.html。但不是带有react js代码的index.html。根目录中有index.html文件、静态目录和其他文件。目录结构被复制到路径 nginx.conf如下所示 events { worker_connections 1024; } http { server {

在Nginx服务器中部署React js(构建目录)静态文件

使用kubernetes,我运行nginx服务器为静态文件提供React js“build”目录。我可以在浏览器中访问simple index.html。但不是带有react js代码的index.html。根目录中有index.html文件、静态目录和其他文件。目录结构被复制到路径

nginx.conf如下所示

events {
    worker_connections  1024;
}
http {
    server {
        listen 80;
        root /usr/share/nginx/html;
    #index index.html;
        location / {
      index index.html; 
          try_files $uri $uri/index.html /index.html;
        }
    location /static/ { 
       autoindex on;
       root /usr/share/nginx/html/static/;
    }   
    }
}
在浏览器中,不会加载index.html,但在源代码中(在浏览器中单击鼠标右键>选择源代码),可以使用index.html代码。从浏览器中的源复制的格式化index.html文件位于路径。我预测javascript(css,js)代码不会被执行,或者在浏览器中加载时出现问题。否则,nginx配置在加载javascript文件时会出现问题

如何正确配置nginx以部署Reactjs构建目录文件?

没有说明如何为静态文件提供服务。在没有任何其他操作的情况下到达右大括号会使其服务于静态文件。try_files测试本地文件系统中是否存在该文件,并可能重写URL

文件i.a空格中存在语法错误

请记住为nginx类型的LoadBalancer创建,并在部署配置文件中引用它。如果有多台服务器与请求的IP地址和端口匹配,则必须添加服务器

下面是您应该如何执行此过程的示例。确保您遵循了教程中的每一步:-这里有一个关于PHP应用程序的练习示例,但在ReactJS应用程序中也有相同的步骤

您的conf文件应如下所示:

events {
    worker_connections  1024;
}
http {
    server {
        listen 80;
        root /usr/share/nginx/html;
        index index.html index.htm;
        server_name your_server_name_or_IP

        location / { 
            try_files $uri $uri/index.html /index.html;
        }

        location /static/ { 
            autoindex on;
            root /usr/share/nginx/html/static/;
        }   
   }
}

下面的代码适用于我

server {
    listen 80;
    root /usr/share/nginx/html;
    index index.html index.htm;
    server_name xyz.application.com;
    server_name localhost; 
    location / { 
    ssi on;
    set $inc $request_uri;
    if (!-f $request_filename) {
        rewrite ^ /index.html last;
    }
    index index.html;
        try_files $uri $uri/index.html /index.html =404;
    }

设置“重写”将重定向到index.html页面。我不确定ssi的影响,在代码中设置$inc$request\u uri。

通常使用服务IP和端口访问应用程序。这是什么IP?您的\u服务器\u名称\u或\u IP是用于访问应用程序的外部IP吗?