安装uWSGI
在Linux系统中,可以使用以下命令安装uWSGI:
sudo apt-get update
sudo apt-get install build-essential python3-dev
sudo pip3 install uwsgi
创建Django项目
使用Django创建一个新项目:
django-admin startproject myproject
创建Django应用程序
在项目中创建一个新应用程序:
python manage.py startapp myapp
配置uWSGI
创建一个uwsgi.ini文件,指定uWSGI的配置参数:
[uwsgi]
chdir=/path/to/myproject
module=myproject.wsgi:application
master=True
processes=4
socket=/tmp/myproject.sock
chmod-socket=666
vacuum=True
- chdir:指定项目所在的路径。
- module:指定Wsgi应用程序。
- master:启用主进程模式。
- processes:指定uWSGI子进程数。
- socket:指定与Nginx通信的套接字文件路径。
- chmod-socket:指定套接字文件的权限。
- vacuum:清理uWSGI进程退出时产生的临时文件。
配置Nginx
upstream django {
server unix:///tmp/myproject.sock;
}
server {
listen 80;
server_name example.com;
location / {
uwsgi_pass django;
include /etc/nginx/uwsgi_params;
}
}
- upstream:指定uWSGI服务器的路径。
- server:指定Nginx的监听端口和域名。
- location:指定请求到达时如何处理。在这种情况下,请求将被转发到uWSGI服务器上并使用uwsgi_params传递给它。
启动uWSGI服务器
使用以下命令启动uWSGI服务器:
uwsgi --ini uwsgi.ini
这将启动uWSGI服务器。要在后台运行,可以添加--daemonize /path/to/logfile选项。
检查Nginx和uWSGI日志
检查Nginx和uWSGI的日志文件,以确保一切正常:
- Nginx日志文件路径:/var/log/nginx/error.log
- uWSGI日志文件路径:/var/log/uwsgi/uwsgi.log
代码示例:
uwsgi.ini
[uwsgi]
chdir=/home/ubuntu/myproject
module=myproject.wsgi:application
master=True
processes=4
socket=/tmp/myproject.sock
chmod-socket=666
vacuum=True
Nginx配置文件
upstream django {
server unix:///tmp/myproject.sock;
}
server {
listen 80;
server_name example.com;
location / {
uwsgi_pass django;
include /etc/nginx/uwsgi_params;
}
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django项目部署搭建uWSGI工作环境 - Python技术站