我想使用 nginx 在同一台服务器上部署 back-end 和 front-end 单独的应用程序
I want to deploy back-end and front-end seperate apps on the same server with nginx
我用 nodejs 创建了一个 restful api,我打算将 sapper/svelte 用于 front-end。最后,这些将是单独的应用程序,我想 运行 它们在具有相同域的同一服务器上。这种做法合理吗?如果是,我的 nginx 配置文件应该是什么样的?如果不是,我的方法应该是什么?
这是我 api 的会议:[=13=]
server {
server_name domain.name;
location / {
proxy_pass http://localhost:5000;
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;
}
.
.
.
}
因为这是你的第一个 svelte / sapper 项目,我会把事情分开,看看你是否可以开始使用 svelte 在 nginx 上达到 API。分离事物并运送 svelte on gitlab pages 或您喜欢的任何其他 CI 目的地。
如果需要 运行 使用 sapper,我的建议保持不变 - 让它从外部影响您的 API 以保持您的项目清晰明了。您已经在前端之前启动了 API - 不用担心,但我不明白您的配置如何需要知道前端 运行 的位置或者为什么将它们缠绕在一起会有好处。
按照最佳实践,您的 API 将低于 BASE/api/
这将允许您在同一台服务器上托管后端和前端
server {
server_name domain.name;
location /api/ { # Backend
proxy_pass http://localhost:5000;
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;
...
}
location / { # Frontend
root /app-path/;
index index.html;
try_files $uri $uri/ /index.html;
...
}
}
我用 nodejs 创建了一个 restful api,我打算将 sapper/svelte 用于 front-end。最后,这些将是单独的应用程序,我想 运行 它们在具有相同域的同一服务器上。这种做法合理吗?如果是,我的 nginx 配置文件应该是什么样的?如果不是,我的方法应该是什么?
这是我 api 的会议:[=13=]
server {
server_name domain.name;
location / {
proxy_pass http://localhost:5000;
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;
}
.
.
.
}
因为这是你的第一个 svelte / sapper 项目,我会把事情分开,看看你是否可以开始使用 svelte 在 nginx 上达到 API。分离事物并运送 svelte on gitlab pages 或您喜欢的任何其他 CI 目的地。
如果需要 运行 使用 sapper,我的建议保持不变 - 让它从外部影响您的 API 以保持您的项目清晰明了。您已经在前端之前启动了 API - 不用担心,但我不明白您的配置如何需要知道前端 运行 的位置或者为什么将它们缠绕在一起会有好处。
按照最佳实践,您的 API 将低于 BASE/api/
这将允许您在同一台服务器上托管后端和前端
server {
server_name domain.name;
location /api/ { # Backend
proxy_pass http://localhost:5000;
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;
...
}
location / { # Frontend
root /app-path/;
index index.html;
try_files $uri $uri/ /index.html;
...
}
}