【发布时间】:2019-08-07 12:19:49
【问题描述】:
整个上午我一直在努力部署一个 Angular 7 应用程序以及 node、express 和 mongo,我一头雾水。有些如何在整个互联网上没有很好的解释如何做到这一点。请帮忙!
我在 DigitalOcean 上。我已经设置了 Nginx,并且可以在我的 IP 地址看到 Nginx 索引页面。我还设置了一个服务器块,其中有两个位置,一个用于我的实际 Angular 应用程序,另一个用于我的 express api。这是代码:
server {
root /var/www/devgrub.com/html;
index index.html index.htm index.nginx-debian.html;
server_name devgrub.com www.devgrub.com;
location / {
try_files $uri $uri/ =404;
}
location /api {
proxy_pass http://localhost: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;
#try_files $uri $uri/ =404;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/devgrub.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/devgrub.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.devgrub.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = devgrub.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name devgrub.com www.devgrub.com;
return 404; # managed by Certbot
}
在/var/www/devgrub.com/html 内部,我已经上传了运行ng build --prod 后生成的Angular 应用程序代码
在/home/devgrub 里面我有我的快递/节点应用程序。
我可以在 devgrub.com 上成功访问我的 Angular 应用程序,但是当我访问 devgrub.com/api 时,我收到了 hello world,这是我在遵循 DigitalOcean 设置教程时制作的原始节点应用程序。我重新启动了以 PM2 运行的节点应用程序,现在访问 devgrub.com/api 时显示 502 Bad Gateway。
我在我的 Angular 应用程序中更改了我所有的 localhost api 调用,希望这会有所作为,但它没有。我已经使用use devgrub 创建了数据库,但 Angular 应用程序似乎无法连接到它,而且由于我对此很陌生,我甚至知道从哪里开始进行故障排除。请帮忙!
更新 以下是 Nginx 错误日志中的一些错误
2019/03/16 17:55:10 [warn] 14358#14358: server name "devgrub.com/api" has suspicious symbols in /etc/nginx/sites-enabled/devgrub-api:8
2019/03/16 17:55:10 [warn] 14358#14358: server name "www.devgrub.com/api" has suspicious symbols in /etc/nginx/sites-enabled/devgrub-api:8
2019/03/16 17:55:10 [notice] 14358#14358: signal process started
2019/03/16 17:56:14 [crit] 14359#14359: *98 SSL_do_handshake() failed (SSL: error:1417D18C:SSL routines:tls_process_client_hello:version too low) while SSL handshaking, client: 184.105.139.70, server: 0.0.0.0:443
2019/03/16 17:57:11 [warn] 14436#14436: server name "devgrub.com/api" has suspicious symbols in /etc/nginx/sites-enabled/devgrub-api:8
2019/03/16 17:57:11 [warn] 14436#14436: server name "www.devgrub.com/api" has suspicious symbols in /etc/nginx/sites-enabled/devgrub-api:8
2019/03/16 17:57:11 [notice] 14436#14436: signal process started
2019/03/16 17:57:22 [error] 14437#14437: *100 connect() failed (111: Connection refused) while connecting to upstream, client: 71.175.29.181, server: devgrub.com, request: "GET /api HTTP/1.1", upstream: "http://127.0.0.1:3000/api", host: "devgrub.com"
2019/03/16 17:57:51 [warn] 14501#14501: server name "devgrub.com/api" has suspicious symbols in /etc/nginx/sites-enabled/devgrub-api:8
2019/03/16 17:57:51 [warn] 14501#14501: server name "www.devgrub.com/api" has suspicious symbols in /etc/nginx/sites-enabled/devgrub-api:8
2019/03/16 17:57:51 [notice] 14501#14501: signal process started
2019/03/16 17:57:52 [error] 14502#14502: *104 connect() failed (111: Connection refused) while connecting to upstream, client: 71.175.29.181, server: devgrub.com, request: "GET /api HTTP/1.1", upstream: "http://127.0.0.1:3000/api", host: "devgrub.com"
2019/03/16 17:57:53 [error] 14502#14502: *104 connect() failed (111: Connection refused) while connecting to upstream, client: 71.175.29.181, server: devgrub.com, request: "GET /api HTTP/1.1", upstream: "http://127.0.0.1:3000/api", host: "devgrub.com"
2019/03/16 17:57:54 [error] 14502#14502: *104 connect() failed (111: Connection refused) while connecting to upstream, client: 71.175.29.181, server: devgrub.com, request: "GET /api HTTP/1.1", upstream: "http://127.0.0.1:3000/api", host: "devgrub.com"
2019/03/16 18:05:21 [error] 14502#14502: *110 connect() failed (111: Connection refused) while connecting to upstream, client: 71.175.29.181, server: devgrub.com, request: "GET /api HTTP/1.1", upstream: "http://127.0.0.1:3000/api", host: "devgrub.com"
【问题讨论】:
标签: angular mongodb express digital-ocean pm2