一、安装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工作正常的页面了