nginx 配置 (Spring + Angular)

nginx config (Spring + Angular)

我需要有关如何为 nginx 编写 配置的帮助。我想提供一个与 Spring API 通信的 Angular 应用程序。我还没有将我的文件复制到服务器,所以如果您也可以推荐一个默认位置,那就太好了。

我不知道如何调试它,也不确定它是否能正常工作。这也会加载我的 2 个配置文件吗?我需要在主配置中写一个 server_name 吗?我需要在某处写一个 index 指令吗?

我按照教程进行操作,发现我可以创建 2 个配置文件:
/etc/nginx/sites-available/api.domain.com.conf:

server {
        server_name api.domain.com;
        location /domain/api/ {
                proxy_pass http://localhost:8081;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

/etc/nginx/sites-available/domain.com.conf;

server {
        server_name domain.mk www.domain.mk;
        location /domain/app/ {
                proxy_pass http://localhost:4200;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

这就是我的主要配置文件的样子(我已经在 /etc/nginx/sites-enabled/[file] 中创建了指向上述 2 个文件的符号链接):

/etc/nginx/nginx.conf:

error_log       logs/error.log;

events {
        worker_connections 1024;
}

http {
        include /etc/nginx/sites-enabled/*;

        server {
                listen          80;
                access_log      logs/access.log;
        }
}

如果你使用2个单独的文件也没关系。但是您需要在 index.html 存在的地方配置 root。

server {
        server_name api.domain.com;
        
        root /path/of/your/ui/dist/folder/;
        index index.html index.htm;
        
        location /domain/api/ {
                proxy_pass http://localhost:8081;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

重启Nginx服务器并测试。 请在Angular项目environment.json文件中配置域名重定向。