这是我第一次使用 nginx 和 nodejs。我有两个应用程序,一个使用 django 构建,另一个使用 nodejs(expressjs + openvidu)构建。我正在尝试配置 nginx,django 应用程序运行良好,但我在使用 nodejs 时遇到了问题。nginx 不提供 js 文件。我在控制台中收到以下错误(我怀疑是因为浏览器找不到 JavaScript 文件),我的两个 js 文件都位于公共文件夹下。
未捕获的语法错误:意外的标记“<”
你能否建议我这是否不是部署 django 和 nodejs 的正确方法
下面是我的 nginx 配置。/会议是节点应用程序。
server {
server_name sophie.ovgu.de;
location /meeting {
proxy_pass https://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 /videoapp {
proxy_pass http://unix:/run/gunicorn.sock;
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;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/sophie.ovgu.de/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/sophie.ovgu.de/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 = sophie.ovgu.de) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name sophie.ovgu.de;
return 404; # managed by Certbot
}
请注意“proxy_pass https://localhost:5000”这应该是 https,因为 openvidu 服务器需要它。请参考此关联
这是我的文件夹结构
├───node_modules
├───public
│ app.js
│ openvidu-browser-2.18.0.js
│───views
index.ejs
│ openviducert.pem
│ openvidukey.pem
│ package-lock.json
│ package.json
│ README.md
│ server.js
这就是我在 index.html 中调用 js 文件的方式
> <script src="/openvidu-browser-2.18.0.js"></script>
> <script src="/app.js"></script>
> <script>