我正在尝试在我的debian服务器上部署流星服务器。 我正在使用nginx并永远运行捆绑的流星应用程序。 (我遵循以下教程:https://medium.com/startup-founder-panel/deploying-a-meteor-app-with-nginx-from-scratch-1332b32e99a5)
它适用于服务器部分(我正在连接一个React-native应用程序,并且工作正常),但不适用于React Web客户端部分:
它说它无法加载js和css文件,就像它们无法从客户端访问一样,尽管它们实际上在我的Linux服务器中的捆绑文件夹中。
这是什么错误:
GET http://example.com/ea63eb5bb7607b3ce74dca13734da44296043bb9.css?meteor_css_resource=true 404 (Not Found)
GET http://example.com/051b222361019ff9f7996039dc35fb4902c12405.js?meteor_js_resource=true 404 (Not Found)
以下是用于构建/清除流星的脚本:
meteor npm install
npm prune --production
rm -rf ~/bundle #Remove the previous bundle
rm -rf ~/portal
meteor --allow-superuser build --directory ~
cd ~/bundle/programs/server #Enter the bundle
npm install
mv ~/bundle ~/portal
mkdir ~/logs
# Use forever to start the Node server
export PORT=8080
export MONGO_URL='mongodb+srv://user:password@url'
export ROOT_URL='http://example.com'
export METEOR_SETTINGS='{ <fiew settings> }'
#export MAIL_URL='smtp://user:password@mailhost:port/'
cd ~/portal
forever stop main.js
forever start -a -l ~/logs/forever.log -o ~/logs/portal.out -e ~/logs/portal.err main.js
这是流星应用程序的我的nginx配置:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
#HTTP
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
location = /favicon.ico {
root /root/portal/programs/web.browser/app;
access_log off;
}
location ~* "^/[a-z0-9]{40}\.(css|js).*$" {
gzip_static on;
root /root/portal/programs/web.brower;
access_log off;
}
location ~"^/packages" {
root /root/portal/programs/web.browser;
access_log off;
}
# pass requests to Meteor
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; #for websockets
proxy_set_header Connection $connection_upgrade;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
}
}
我知道我丢失了一些东西,因此客户端可以看到两个css和js文件,但是经过一天的尝试,我找不到任何地方。
非常感谢能解锁我的人!