Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux服务器上部署Angular 5应用程序_Linux_Angular_Deployment - Fatal编程技术网

在Linux服务器上部署Angular 5应用程序

在Linux服务器上部署Angular 5应用程序,linux,angular,deployment,Linux,Angular,Deployment,我是在Linux上部署angular应用程序的新手,我过去常常在IIS上部署angular应用程序,这非常简单。我有一个Linux服务器,我可以通过Putty访问它。我想在此服务器上部署angular 5应用程序。到目前为止,我已经执行了以下步骤 运行ng build--prod 通过pscp将dist文件夹中的文件复制到linux服务器上的某个文件夹中 现在,当我试图像这样访问文件夹时,什么也没有出现。我知道我遗漏了一些步骤,请任何人帮助我部署应用程序。只需从index.html中删除base

我是在Linux上部署angular应用程序的新手,我过去常常在IIS上部署angular应用程序,这非常简单。我有一个Linux服务器,我可以通过Putty访问它。我想在此服务器上部署angular 5应用程序。到目前为止,我已经执行了以下步骤

  • 运行ng build--prod
  • 通过pscp将dist文件夹中的文件复制到linux服务器上的某个文件夹中

  • 现在,当我试图像这样访问文件夹时,什么也没有出现。我知道我遗漏了一些步骤,请任何人帮助我部署应用程序。

    只需从index.html中删除base标记即可

    
    角度应用程序
    还有代码吗
    
    不要对此做任何事情
    根据我们的讨论,您说您没有设置URL重写规则

    根据您用来托管应用程序的内容,您需要设置URL重写规则

    对于linux服务器

    阿帕奇:

    RewriteEngine On
    # If an existing asset or directory is requested go to it as it is
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    RewriteRule ^ - [L]
    
    # If the requested resource doesn't exist, use index.html
    RewriteRule ^ /index.html
    
    NGinx:

    try_files $uri $uri/ /index.html;
    
    不要删除“base href”,它将不起作用 这样做对我来说很有效:

    <base href="" />
    
    
    
    我删除了它,但运气不好:(console中没有错误。浏览器显示页面无法显示。您不应该删除基本…@GaganJaura,因为您的应用程序位于不同的文件夹路径中,您应该使用
    @penleychan。我也尝试过,但没有成功。我想我需要打开一个端口来侦听,以便我的应用程序可以运行。)run@GaganJaura,好奇的你设置了url重写吗?我明天会尝试并让你知道。我应该在哪里编写这些规则?你有任何教程或指南链接吗?