最佳答案
我正在将我的 React 应用程序从 webpack-dev-server 迁移到 Nginx.
当我转到 root URL “ localhost:8080/login ” 时,我只得到一个 404,在我的 Nginx 日志中,我看到它正在尝试获取:
my-nginx-container | 2017/05/12 21:07:01 [error] 6#6: *11 open() "/wwwroot/login" failed (2: No such file or directory), client: 172.20.0.1, server: , request: "GET /login HTTP/1.1", host: "localhost:8080"
my-nginx-container | 172.20.0.1 - - [12/May/2017:21:07:01 +0000] "GET /login HTTP/1.1" 404 169 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:53.0) Gecko/20100101 Firefox/53.0" "-"
我应该在哪里寻找解决方案?
我在React中的路由器位如下所示:
render(
Hello there p
, app);
我的Nginx文件是这样的:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/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 /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
server {
listen 8080;
root /wwwroot;
location / {
root /wwwroot;
index index.html;
try_files $uri $uri/ /wwwroot/index.html;
}
}
}
编辑:
我知道大多数设置都可以正常工作,因为当我在没有登录的情况下转到localhost:8080时,我也会看到登录页面。这不是通过重定向到localhost:8080/login-它是一些反应代码。