Nginx,无法分叉:无法分配内存

时间:2015-03-14 16:47:13

标签: django ubuntu nginx amazon-ec2 uwsgi

我正在尝试按http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html上的教程。我正在亚马逊EC2上使用ubuntu 14.4实例。我在测试中一切正常,但是在将我的django应用程序放到网上之后,我注意到服务器正在返回:

 HTTP/1.1 503 Service Unavailable

当我登录我的ubuntu EC2实例时,我重新启动了uwsgi和nginx并得到了:

 ubuntu@ip-172-31-28-196:~$ workon env1 
 (env1)ubuntu@ip-172-31-28-196:~$ uwsgi --ini /home/ubuntu/tproxy/tp/mysite_uwsgi.ini --daemonize=/var/log/yourproject.log
 [uWSGI] getting INI configuration from /home/ubuntu/tproxy/tp/mysite_uwsgi.ini
 (env1)ubuntu@ip-172-31-28-196:~$ sudo /etc/init.d/nginx restart /tp/m
 sudo: unable to fork: Cannot allocate memory

出了什么问题?我该如何解决这个问题?

编辑:

(env1)ubuntu@ip-172-31-28-196:~$ free -h
             total       used       free     shared    buffers     cached
Mem:          992M       192M       799M       360K        37M        75M
-/+ buffers/cache:        79M       913M
Swap:           0B         0B         0B

(env1)ubuntu@ip-172-31-28-196:~$ uname -a
Linux ip-172-31-28-196 3.13.0-44-generic #73-Ubuntu SMP Tue Dec 16 00:22:43 UTC 2014 x86_64 x86_64 x
86_64 GNU/Linux

3 个答案:

答案 0 :(得分:2)

请确保使用free -h系统内存不足并且您没有遇到进程内存限制,可以使用ulimit -a

进行检查

答案 1 :(得分:0)

如果你仍然有磁盘空间(比如1GB),我建议你启用交换,一些应用程序需要更多的内存来初始化,但之后它需要更少的内存,因此交换可以帮助你度过这段时间。

答案 2 :(得分:0)

您可以尝试在limite-as = 1024中添加mysite_uwsgi.ini