Hi following tutorial and on a clean install of centos 7 minimal with virtualmin and only configuration on server being iptables firewall setup, I have done clean install to make sure I can use meteor correctly from start however get following error when running myapp, in tutorial. /home/tomsudo/myapp/ then ran meteor command locally as suggested but it crashes as follows can someone help I just don’t understand whats wrong!!
[tomsudo@server myapp]$ meteor
[[[[[ ~/myapp ]]]]]
=> Started proxy.
=> Started MongoDB.
/home/tomsudo/.meteor/packages/meteor- tool/.1.1.10.ki0ccv++os.linux.x86_64+web.browser+web.cordova/mt- os.linux.x86_64/dev_bundle/lib/node_modules/fibers/future.js:245
throw(ex);
^
Error: spawn ENOMEM
at errnoException (child_process.js:1011:11)
at ChildProcess.spawn (child_process.js:958:11)
at Object.exports.spawn (child_process.js:746:9)
at [object Object]._.extend._spawn (/tools/runners/run-app.js:255:31)
at [object Object]._.extend.start (/tools/runners/run-app.js:85:22)
at [object Object]._.extend._runOnce (/tools/runners/run-app.js:716:16)
at [object Object]._.extend._fiber (/tools/runners/run-app.js:858:28)
at /tools/runners/run-app.js:396:12
[tomsudo@server myapp]$
And if I need more ram etc, what are specs for meteor, running 64 bit centos, 2 gb of ram, 50gb of space, 2 gb swap memory etc,
no point in randomly upgrading without any confirmed required resources,
funnily enough when I try to access forum post about required resources on meteor forums it crashes due to heavy internet traffic so it must be popular topic!
considering I plan on using many deployed web apps if meteor uses 2 slices of a VPS for only 1 elementary web app what will I need to run more than one web app on a site? a whole dedicated server? this seems to preclude any normal website users from using meteor at ALL, can someone feedback on this please,
my system resources above peak at 1.8% transiently and pretty much run at zero whole time so for ENOMEM (if its really that) is using 4 gb of RAM for tutorial app
That’s why asked about the fresh app. I knew about that issue, but it seems very unlikely in your case.
I don’t have any further suggestions for you, unfortunatley. Only that ENOMEM is OS message to NodeJS, which is throwing the error and dying fatally so it can release resources. Unlikely to be the wrong message, but not obvious why it should be considering your environemnt etc.
Thanks for your help, have raised it on SO and GitHub but this error has been happening since 2013 on researching it so not optimistic that meteor will fix it,
So I have done some research and there seems to be reports of clashes between OpenVZ and nodejs, so I have reinstalled with KVM and Centos,
Good news is that now meteor RUNS! Which is great,
Only problem now is that it will not initialise more than once, would I be correct in saying that it is a service like httpd or apache that runs in background in project?
[root@centos7 myapp]# meteor run
Can't listen on port 3000. Perhaps another Meteor is running?
Running two copies of Meteor in the same application directory
will not work. If something else is using port 3000, you can
specify an alternative port with --port <port>.
[root@centos7 myapp]#
Using netstat -tulpn I can confirm that node is indeed listening on port 3000, see image, so my problem now is that I cannot access localhost:3000 in browser, or confirm that meteor is running? Any suggestions?
Thanks if anyone can advise, nearly got it working…
Right I can confirm its a clash with nodejs running on port 3000, I’ve got it running reliably using meteor --port 4000, so its def node blocking it, now just need to figure out how to change default to port 4000 and how to access localhost on my web server which is proving confusing…
Thanks again! Ok so following your advice I had a look at it, so I was cancelling using Ctrl+C to exit meteor run, which is fine except I think you’re right node was still running on 3000 for some reason, must have been some error…
So I did # kill -9 28663
28663 = PID No,
This stopped it and can now run meteor on port 3000 with only the # meteor command, great stuff,
Just need to figure out how to point my browser successfully to port on my server now…
Tried opening port in iptables but hasn’t made any difference, tried two different browsers with http://(myipaddress):3000 and its just timing out in browser, I’ve searched web but all guides are for people who are running home test servers not dev servers, this is probably the easiest part of the problem so hopefully will find it with a little more googling.
Was successful in getting meteor running at my url and port 3000, with root_url, interestingly node keeps taking over port when I end meteor process and ‘listening’ so not sure why? Have to keep killing node process after shutting down meteor with ctrl+c,
Also still can’t access that port from my browser, tried opening it explicitly in iptables but no use so will keep googling and eventually will make a breakthrough, not quite as easy as it describes in the tutorial this…
So I gather, once I get it up in browser I can start lessons but till then am just stuck trying to get it working, don’t know why its so difficult it looks pretty straightforward…
Ha I feel very stupid now yes I am but didn’t know RHEL had included that protection, instead of iptables, as an upgrade from iptables, it looks like ufw…Brilliant and easy to use…
so followed your advice and success!! in action,
see image below…
Can’t thank you enough for your advice and help really do appreciate it!