问题:
我已经构建了angular应用程序,然后使用Nginx docker容器将其托管在虚拟机上,因为我已经创建了一个./Dockerfile。
FROM nginx:1.17.1-alpine
COPY ./dist/HRM-Front-end /usr/share/nginx/html
COPY ./nginx.conf /etc/nginx/
EXPOSE 3003
CMD ["nginx", "-g", "daemon off;"]
这是我的app-routing.module.ts文件。
import {NgModule} from '@angular/core';
import {PreloadAllModules, RouterModule, Routes} from '@angular/router';
import {HomeMainComponent} from '../module/home/feature/home-main/home-main.component';
const routes: Routes = [
{path: '', component: HomeMainComponent}
];
@NgModule({
imports: [RouterModule.forRoot(routes, {
scrollPositionRestoration: 'enabled',
preloadingStrategy: PreloadAllModules
})],
exports: [RouterModule]
})
export class AppRoutingModule {
}
然后是这样的nginx.conf文件。
user root;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile off;
access_log off;
keepalive_timeout 3000;
server {
listen 3003;
root /usr/share/nginx/html;
index index.html;
server_name localhost;
client_max_body_size 16m;
}
}
运行服务器后,我可以在浏览器中成功访问它,但是当我尝试刷新页面时,它提示我404 Not found问题。我试图找出问题所在。但是我无法做到,有人可以帮助我解决这个问题。谢谢。
答案 0 :(得分:0)
您可以看到您将必须为每条路线添加后备广告*在htaccess中提供index.html 寻找nginx配置https://angular.io/guide/deployment