![Nginx + django +nodejs:未捕獲的語法錯誤:意外的標記“](https://rvso.com/image/769303/Nginx%20%2B%20django%20%2Bnodejs%EF%BC%9A%E6%9C%AA%E6%8D%95%E7%8D%B2%E7%9A%84%E8%AA%9E%E6%B3%95%E9%8C%AF%E8%AA%A4%EF%BC%9A%E6%84%8F%E5%A4%96%E7%9A%84%E6%A8%99%E8%A8%98%E2%80%9C.png)
這是第一次使用nginx和nodejs。我有兩個應用程序,一個是使用 django 構建的,另一個是使用 nodejs (expressjs +openvidu) 構建的。我正在嘗試配置 nginx,django 應用程式工作正常,但我在使用 nodejs 時遇到問題。 nginx 不提供 js 檔案。我在控制台中收到以下錯誤,(我懷疑這是因為瀏覽器無法找到 JavaScript 檔案)我的兩個 js 檔案都存在於 public 資料夾下。
未捕獲的語法錯誤:意外的標記“<”
如果這不是部署 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>