使用 NginX 服务 Angular 个应用程序
Serve Angular Application With NginX
我有一个具有以下结构的 angular 应用程序。
我通常使用快速服务器为 angular 应用程序提供服务,但我需要在 digitalocean 实例上使用 nginx 部署这个应用程序。我是 nginx 的新手,不太了解它是如何工作的。我有一个看起来像这样的初始结构:
Nginx 配置
server {
listen 80;
root /var/www/webclient.com/dist;
index index.html;
server_name domain.com www.domain.com;
location / {
proxy_pass http://134.435.11.92:3000;
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;
}
}
server {
listen 80;
server_name api.domain.com;
location / {
proxy_pass http://134.435.11.92:8080;
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;
}
}
目录结构 (dist 文件夹)
├── 404.html
├── cloudwave.css
├── cloudwave.js
├── favicon.ico
├── fonts
│ ├── FontAwesome.otf
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.svg
│ ├── fontawesome-webfont.ttf
│ ├── fontawesome-webfont.woff
│ └── ufonts.com_tw-cen-mt.ttf
├── images
│ ├── blog
│ │ ├── blog-bg.jpg
│ │ ├── blog-img-1.jpg
│ │ ├── blog-img-2.jpg
│ │ ├── blog-img-3.jpg
│ │ ├── blog-img-4.jpg
│ │ ├── blog-img-5.jpg
│ │ ├── blog-img-6.jpg
│ │ ├── blog-img-thumb-1.jpg
│ │ └── blog-img-thumb-2.jpg
│ ├── cooker-img.png
│ ├── fashion_room.jpg
│ ├── header.jpg
│ ├── logo-orig.png
│ ├── logo.png
│ ├── overlay-pattern.png
│ ├── overlay-pattern2.png
│ ├── photo
│ │ ├── photo-1.jpg
│ │ ├── photo-2.jpg
│ │ ├── photo-3.jpg
│ │ └── photo-4.jpg
│ ├── slider
│ │ ├── slider-img-1.jpg
│ │ ├── slider-img-2.jpg
│ │ ├── slider-img-3.jpg
│ │ └── slider-img-4.jpg
│ ├── subscribe-bg.jpg
│ └── top_bg.jpg
├── index.html
├── robots.txt
├── scripts.js
└── templates.js
第二个服务器块运行一个节点服务器,我已经开始工作了。但是第一台服务器是问题所在。
如何配置 nginx 以提供目录结构中的内容?
谢谢:)
您需要删除第一个 server
块中的整个 location
块。这是为了代理,而不是你想要的。然后你想将 root 设置为你想要服务的文件的根目录的路径。
看来这已经是你想要的了。所以去 www.domain.com/images/logo.png
应该提供文件 /var/www/webclient.com/dist/images/logo.png
.
我有一个具有以下结构的 angular 应用程序。 我通常使用快速服务器为 angular 应用程序提供服务,但我需要在 digitalocean 实例上使用 nginx 部署这个应用程序。我是 nginx 的新手,不太了解它是如何工作的。我有一个看起来像这样的初始结构:
Nginx 配置
server {
listen 80;
root /var/www/webclient.com/dist;
index index.html;
server_name domain.com www.domain.com;
location / {
proxy_pass http://134.435.11.92:3000;
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;
}
}
server {
listen 80;
server_name api.domain.com;
location / {
proxy_pass http://134.435.11.92:8080;
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;
}
}
目录结构 (dist 文件夹)
├── 404.html
├── cloudwave.css
├── cloudwave.js
├── favicon.ico
├── fonts
│ ├── FontAwesome.otf
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.svg
│ ├── fontawesome-webfont.ttf
│ ├── fontawesome-webfont.woff
│ └── ufonts.com_tw-cen-mt.ttf
├── images
│ ├── blog
│ │ ├── blog-bg.jpg
│ │ ├── blog-img-1.jpg
│ │ ├── blog-img-2.jpg
│ │ ├── blog-img-3.jpg
│ │ ├── blog-img-4.jpg
│ │ ├── blog-img-5.jpg
│ │ ├── blog-img-6.jpg
│ │ ├── blog-img-thumb-1.jpg
│ │ └── blog-img-thumb-2.jpg
│ ├── cooker-img.png
│ ├── fashion_room.jpg
│ ├── header.jpg
│ ├── logo-orig.png
│ ├── logo.png
│ ├── overlay-pattern.png
│ ├── overlay-pattern2.png
│ ├── photo
│ │ ├── photo-1.jpg
│ │ ├── photo-2.jpg
│ │ ├── photo-3.jpg
│ │ └── photo-4.jpg
│ ├── slider
│ │ ├── slider-img-1.jpg
│ │ ├── slider-img-2.jpg
│ │ ├── slider-img-3.jpg
│ │ └── slider-img-4.jpg
│ ├── subscribe-bg.jpg
│ └── top_bg.jpg
├── index.html
├── robots.txt
├── scripts.js
└── templates.js
第二个服务器块运行一个节点服务器,我已经开始工作了。但是第一台服务器是问题所在。 如何配置 nginx 以提供目录结构中的内容? 谢谢:)
您需要删除第一个 server
块中的整个 location
块。这是为了代理,而不是你想要的。然后你想将 root 设置为你想要服务的文件的根目录的路径。
看来这已经是你想要的了。所以去 www.domain.com/images/logo.png
应该提供文件 /var/www/webclient.com/dist/images/logo.png
.