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文件中配置域名重定向。
我需要有关如何为 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文件中配置域名重定向。