Centos+nginx+uwsgi+django

15 篇文章 0 订阅


■ 安装uwsgi:

安装uwsgi,请看我上一篇文章:《uWSGI的安装与配置(官网摘录)》。


■ 配置uwsgi:

由于我们使用django,所以配置一个能跟django进行关联的ini,首先我们先看一下Django1.7官方文档给出的配置:


但是又看了一下uwsgi 的官方文档,发现上面的配置有点旧,新的配置做了简化,

所以,根据Django和uWSGI 的文档,我重新整理了一个新的配置,如下:

[uwsgi]
socket = 127.0.0.1:50000
chdir = /home/foobar/myproject/
wsgi-file = myproject/wsgi.py
processes = 2
stats = 192.168.1.18:9090
daemonize = /var/log/uwsgi/yourproject.log
vacuum = true

● 解释一下常用选项:

socket : 地址和端口号,例如:socket = 127.0.0.1:50000

processes : 开启的进程数量

workers : 开启的进程数量,等同于processes(官网的说法是spawn the specified number of workers / processes

chdir : 指定运行目录(chdir to specified directory before apps loading)

wsgi-file : 载入wsgi-file(load .wsgi file)

stats : 在指定的地址上,开启状态服务。注意,这里尽量用非127.0.0.1的IP。(enable the stats server on the specified address)

threads : 运行线程。由于GIL的存在,我觉得这个真心没啥用。(run each worker in prethreaded mode with the specified number of threads)

master : 允许主进程存在(enable master process)

daemonize : 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器(daemonize uWSGI)

vacuum : 当服务器退出的时候自动清理环境,删除unix socket文件和pid文件(try to remove all of the generated file/sockets)


■ 启动uwsgi:

把上面编辑好的 ini 文件,保存为【 uwsgi_conf.ini 】,注意为ANSI格式,如果是UTF-8,则报错。

理论上可以把这个ini文件,放到服务器任意位置。但还是推荐放到项目下,然后运行:

uwsgi uwsgi_conf.ini



■ Nginx配置:

nginx安装不在叙述,这里主要讲如何更改nginx.conf:

location / {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:50000;
}


■ 重启Nginx:

重启nginx,再次访问你的项目,一切OK!



■ 参考:

A,《你应该使用 Nginx + UWSGI》: (本文的主要参考,放弃使用uwsgi自带的负载均衡,由此而来)

http://www.linuxidc.com/Linux/2013-07/87286.htm

B,《uwsgi其二》:

http://www.nowamagic.net/academy/detail/1330331

C,《五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(下) 》:

http://django-china.cn/topic/124/

D,《How to use Django with uWSGI》:(Django官网文档,本文的次要参考

https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/uwsgi/




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值