Nginx中部署Angular项目遇到的坑巨坑

好的!下面是Nginx中部署Angular项目的完整攻略,包含两条示例说明:

准备工作

  1. 安装Node.js和Angular CLI工具

确保你的电脑中已经安装了Node.js环境和Angular CLI。如果没有安装,可以参考以下链接进行安装:

Node.js下载链接:https://nodejs.org/en/download/

Angular CLI安装命令:npm install -g @angular/cli

  1. 创建Angular项目

使用下面的命令创建一个新的Angular项目:

ng new my-angular-app

注意:这里的 my-angular-app 是你要创建的项目的名称,可以自己定义。

  1. 构建Angular项目

使用以下命令构建上一步中创建的Angular项目:

ng build --prod

将在项目的dist目录下生成一个打包好的项目,后面需要用到。

Nginx部署Angular项目

  1. 安装Nginx

首先需要安装Nginx,具体安装方法可以参考官方文档:http://nginx.org/en/docs/installation.html

  1. 配置Nginx

在Nginx的配置文件(通常是在 /etc/nginx/nginx.conf)中添加以下内容:

server {
    listen       80;
    server_name  localhost;
    root   /usr/share/nginx/html;
    index  index.html index.htm;
    location / {
        try_files $uri $uri/ /index.html;
    }
}

其中,

  • listen:指定Nginx监听的端口号;
  • server_name:指定访问该站点的域名;
  • root:指定网站根目录的物理路径;
  • try_files:Angular使用HashLocationStrategy作为路由模式,因此需要在Nginx中配置$uri $uri/ /index.html,以确保在请求不存在的URL时,仍然返回正确的内容。

  • 拷贝打包好的Angular项目

将上面构建好的Angular项目dist目录下的文件拷贝到Nginx配置文件中root指定的路径下(在本示例中是 /usr/share/nginx/html)。可以使用命令:

cp -r dist/* /usr/share/nginx/html/

注意:这里是将Angular打包后生成的静态文件拷贝到Nginx的html目录下。

  1. 启动Nginx

使用以下命令启动Nginx:

sudo service nginx start

至此,Angular项目已经成功部署到Nginx服务器上了。

示例说明

部署后的访问

假设在本地启动一个Angular项目,访问的URL为 http://localhost:4200。

在Nginx服务器上部署完成后,可以通过该服务器的IP地址访问部署好的Angular项目,例如 http://192.168.0.100:80。

Nginx配置解释

在示例中的Nginx配置文件中,有几个需要说明的地方:

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

try_files指令会尝试将请求的文件放在$uri和$uri/两个路径中查找,如果都找不到,则访问/index.html。

这里是为了解决Angular使用HashLocationStrategy作为路由模式时替换了URL路径之后不能正常访问的问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nginx中部署Angular项目遇到的坑巨坑 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • nginx修改配置后,重新加载配置报错

    nginx配置,加到服务器上之后,执行nginx -s reload时,出现报错:nginx: [emerg] unknown directive ”        server” in /usr/local/nginx-1.20.1/conf/nginx.conf:31 检查报错日志,发现配置多了空格或输入中文符号,修改后执行nginx -t -c /et…

    Nginx 2023年4月10日
    00
  • 详解Nginx HTTP负载均衡和反向代理配置

    本文将详细介绍Nginx HTTP负载均衡和反向代理的配置,包括使用示例和实际的配置代码,以便读者能够更好地了解和掌握使用方法。 第一部分:Nginx HTTP负载均衡 1. 什么是Nginx HTTP负载均衡 Nginx HTTP负载均衡是一种在多个Web服务器之间分配请求的方式,可以提高系统的吞吐量和可靠性。Nginx作为一款高性能的HTTP服务器,可以…

    Nginx 2023年5月16日
    00
  • docker启动时nginx与php-fpm

      启动一台nginx+php的代码 #================== podman rm -f nginx podman run \ -p 80:80 \ -d \ –name nginx \ -v /web_space/web_space:/home \ docker.io/library/nginx:latest \ /bin/bash -c …

    Nginx 2023年4月10日
    00
  • 一、CentOS安装nginx-1.16.1

    安装Nginx 1.  去官网http://nginx.org/下载对应的nginx包 2.  上传nginx到linux系统 3.  安装依赖环境 (1)安装gcc环境 yum install gcc-c++    (2)安装PCRE库,用于解析正则表达式 yum install -y pcre pcre-devel    (3)zlib压缩和解压缩依赖,…

    Nginx 2023年4月12日
    00
  • nginx开启gzip压缩的完整步骤记录

    下面是“nginx开启gzip压缩的完整步骤记录”的攻略,包含两条示例说明: 一、什么是gzip压缩 gzip是一种文件压缩格式,它可以将文本文件压缩,实现更快的文件传输。在Web服务器中,大多数浏览器都支持gzip压缩的数据传输方式,可以通过将网站上的静态资源(如CSS、JS、HTML等)进行gzip压缩,从而可以减小文件的大小,加快网页加载速度,节省带宽…

    Nginx 2023年5月16日
    00
  • nginx负载均衡转发https

    A服务器做负载转发到  B,C两台服务器 ; 这时候要添加https域名,则以下是A服务器的nginx配置   upstream backend { server ip; server ip2;}   server { listen 80; listen 443 ssl; server_name localhost; #这个注释掉才能访问http端口 #ss…

    Nginx 2023年4月11日
    00
  • nginx日志模块与HTTP过滤模块与sub模块修改返回内容

    日志格式使用指令 指令介绍 Syntax: log_format name [escape=default|json|none] string …; Default: log_format combined “…”; Context: http 默认的日志文件 log_format combined ‘$remote_addr – $remote_u…

    Nginx 2023年4月13日
    00
  • linux下yum安装和卸载nginx

    卸载   安装 启动服务  service nginx start 之后浏览器里面访问ip地址,会看到 安装成功!

    Nginx 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部