在本地使用runserver可以使django项目运行起来,但这只能在局域网内访问。在生产环境需要用到uwsgi。
首先,要安装django和nginx,这里不讲。
安装uwsgi
uwsgi是python的一个模块,安装uwsgi只需简单的pip命令即可
pip3 install uwsgi
pip3 install uwsgi
pip3 install uwsgi
uwsgi 配置
在项目目录下新建uwsgi.ini文件
[uwsgi]
socket = 127.0.0.1:8001
chdir=/works/python/ruxian #项目目录
module=ruxian.wsgi
master = true #主进程
workers=2 #子进程数
vacuum=true #退出、重启时清理文件
thunder-lock=true
enable-threads=true #启用线程
harakiri=30 #设置自中断时间
post-buffering=4096 #设置缓冲
daemonize =/works/python/ruxian/uwsgi.log #设置日志目录
[uwsgi]
socket = 127.0.0.1:8001
chdir=/works/python/ruxian #项目目录
module=ruxian.wsgi
master = true #主进程
workers=2 #子进程数
vacuum=true #退出、重启时清理文件
thunder-lock=true
enable-threads=true #启用线程
harakiri=30 #设置自中断时间
post-buffering=4096 #设置缓冲
daemonize =/works/python/ruxian/uwsgi.log #设置日志目录
[uwsgi] socket = 127.0.0.1:8001 chdir=/works/python/ruxian #项目目录 module=ruxian.wsgi master = true #主进程 workers=2 #子进程数 vacuum=true #退出、重启时清理文件 thunder-lock=true enable-threads=true #启用线程 harakiri=30 #设置自中断时间 post-buffering=4096 #设置缓冲 daemonize =/works/python/ruxian/uwsgi.log #设置日志目录
Nginx 配置
server {
listen 80;
server_name www.rxzs.xxx;
charset utf-8;
client_max_body_size 75M;
location /static{
alias /works/python/ruxian/static;
}
location /media{
alias /works/python/ruxian/media;
}
location / {
include uwsgi_params; #导入一个Nginx模块,用来和uWSGI进行通讯
uwsgi_pass 127.0.0.1:8001; #必须和uwsgi中的设置一致
}
}
server {
listen 80;
server_name www.rxzs.xxx;
charset utf-8;
client_max_body_size 75M;
location /static{
alias /works/python/ruxian/static;
}
location /media{
alias /works/python/ruxian/media;
}
location / {
include uwsgi_params; #导入一个Nginx模块,用来和uWSGI进行通讯
uwsgi_pass 127.0.0.1:8001; #必须和uwsgi中的设置一致
}
}
server { listen 80; server_name www.rxzs.xxx; charset utf-8; client_max_body_size 75M; location /static{ alias /works/python/ruxian/static; } location /media{ alias /works/python/ruxian/media; } location / { include uwsgi_params; #导入一个Nginx模块,用来和uWSGI进行通讯 uwsgi_pass 127.0.0.1:8001; #必须和uwsgi中的设置一致 } }
设置完成后,在终端运行:
uwsgi --ini /works/python/ruxian/uwsgi.ini
uwsgi --ini /works/python/ruxian/uwsgi.ini
uwsgi --ini /works/python/ruxian/uwsgi.ini