Centos安装Nginx+uWSGI+Django

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Register_man/article/details/79410846

前情提要:安装nginx及相关知识

----------------------------------------------------------------------------------

1、安装uWSGI

pip install uwsgi
uwsgi --version

2、测试uWSGI

新建test.py,内容如下

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return "Hello World"

执行命令

uwsgi -s 127.0.0.1:8080 -w test.py

-s 代表启动一个socket,监听对应端口,当前设置为8080端口

-w 为 --wsgi-file 的简写,指定运行文件

打开浏览器,访问 127.0.0.1:8080 查看是否可以准确访问。

3、新建Django工程

安装Django

pip install django

新建test工程

cd ~
django-admin.py startproject test

4、uWSGI配置文件

uwsgi.ini 文件

[uwsgi]
socket = 127.0.0.1:8080 // 绑定端口
master = true           // 主进程
vhost = true            // 多站模式
no-site = true          // 多站模式时不设置入口模块和文件
workers = 2             // 子进程数
reload-mercy = 10       // 设置在平滑的重启(直到接收到的请求处理完才重启)一个工作子进程中,等待这个工作结束的最长秒数
vacuum = true           // 退出、重启时清理文件
max-requests = 1000     // 为每个工作进程设置请求数的上限
limit-as = 512          // 限制每个uWSGI进程的虚拟内存使用数
buffer-size = 32768     // 用于uwsgi包解析的内部缓存区大小。默认是4k

pidfile = ~/uwsgi8080.pid    // 在失去权限前,将pid写到指定的pidfile文件中。
daemonize = ~/uwsgi8080.log   // 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器

对于 pidfiledaemonize 的路径需要自行配置,端口也需自行修改

** 修改 nginx.conf 中 http.server.location 的值 **

修改后如下:

location / {
    include uwsgi_params;               # uwsgi程序
    uwsgi_pass 127.0.0.1:8080;          # 在uwsgi.ini中的socket端口
    uwsgi_param UWSGI_SCRIPT test.wsgi; # test.wsgi为django生成的wsgi配置文件,在test/test/目录下
    uwsgi_param UWSGI_CHDIR /root/test; # 绑定django工程的根路径
    index index.html;
    client_max_body_size 35m;
}

对于其test 需要和自定义的项目名称一致

5、启动

加载配置文件

uwsgi --ini uwsgi.ini

启动nginx

使用浏览器打开对应服务器ip地址即可

当django项目中修改后,需要重新加载uwsgi

uwsgi --reload pid文件路径

猜你喜欢

转载自blog.csdn.net/Register_man/article/details/79410846