我正在尝试按照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
请确保系统没有使用free -h
耗尽内存并且没有您正在进行的进程内存限制,您可以使用ulimit -a
检查
如果你仍然有磁盘空间(比如1GB),我建议你启用交换,一些应用程序需要更多内存来初始化,但之后它需要更少的内存,因此交换可以帮助你在这段时间内生存。
你可以尝试在limite-as = 1024
中添加mysite_uwsgi.ini
。