【发布时间】:2015-05-17 01:45:14
【问题描述】:
我正在尝试按照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
【问题讨论】:
-
您使用的实例大小是多少?像 micro 这样的小型实例没有足够的内存用于所有类型的应用程序。
-
我使用的是微型尺寸,但它是一个非常小的 django 应用程序,它会访问一个 api 并每隔几分钟返回一个响应。不涉及分贝。我以前用过它,所以我知道它可以在微型实例上工作。
-
您可能需要检查您的线程和内存设置以限制正在创建的线程数。如果尚未启用交换,则可以启用它,但是如果您最终击中太多,那将非常慢。
-
我对服务器管理完全陌生,来自 php 和 python 应用程序开发。你能给我一些基本的命令或位置看吗?
-
哇,新问题,我尝试 sshing 进入 ec2 命令行并且它超时,所以我无法运行任何命令。我将重启 ubuntu 实例。
标签: django ubuntu nginx amazon-ec2 uwsgi