通过Nginx部署Django

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

一、安装Nginx

参考:https://blog.csdn.net/weixin_36485376/article/details/83050513

二、安装uwsgi

[root@fl ~] $ python3 -m pip install uwsgi

三、创建uwsgi.ini配置文件

假设django项目在/home/project/mysite目录
在/home/project/mysite目录下创建uwsgi.ini文件,文件内容如下:

[nginx@fl ~/project/mysite] $ cat uwsgi.ini 
[uwsgi]
socket = /home/nginx/project/mysite/mysite.sock
chdir = /home/nginx/project/mysite
wsgi-file = mysite/wsgi.py
 
processes = 2
threads = 4
 
vacuum = true

目录结构如下

[nginx@fl ~/project/mysite] $ tree
.
├── manage.py
├── mysite
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── uwsgi.ini

通过uwsgi命令读取uwsgi.ini文件启动项目
注意:此进程需要保持运行,不然网页无法访问

[root@fl /home/project/mysite] $ uwsgi --ini uwsgi.ini

执行上面的命令如果遇到:
ModuleNotFoundError: No module named ‘_sqlite3’

则需要先安装sqlite-devel

yum install sqlite-devel

再重新编译安装Python

四、创建网站配置文件mysite.conf

在/usr/local/nginx/conf目录创建mysite.conf,内容如下:

worker_processes  4;

events {
    worker_connections  10240;
}

http {
  server {
    listen      8080;
    server_name fl;
    charset     utf-8;
 
    client_max_body_size 75M;
 
    location / {
        uwsgi_pass  unix:///home/nginx/project/mysite/mysite.sock;
        include     /usr/local/nginx/conf/uwsgi_params;
    }
  }
}

五、启动nginx

[root@fl ~] $ su - nginx
[nginx@fl /etc] $ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/mysite.conf

如果防火墙开启了,需要把端口在防火墙中开启

六、检查

在浏览器中输入http://192.168.233.132:8080/,就能看到Django工作正常的页面了

在这里插入图片描述

扫描二维码关注公众号,回复: 3695404 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_36485376/article/details/83066160
今日推荐