python学习笔记之 Django,UWSGI,NGINX部署遇到的问题

Django,UWSGI,NGINX部署的几个问题

1、Django 需要 sqlite3 版本升级的问题。

https://blog.csdn.net/sunt2018/article/details/90712063

wget https://www.sqlite.org/2019/sqlite-autoconf-3280000.tar.gz
tar -zxvf sqlite-autoconf-3280000.tar.gz
cd sqlite-autoconf-3280000

./configure --prefix=/usr/local
make && make install
find /usr/ -name sqlite3

#删除不必要的文件
rm -rf sqlite-autoconf-3280000*


mv /usr/bin/sqlite3  /usr/bin/sqlite3_old
ln -s /usr/local/bin/sqlite3   /usr/bin/sqlite3

vim ~/.bashrc
export LD_LIBRARY_PATH="/usr/local/lib"
source ~/.bashrc


python
import sqlite3
sqlite3.sqlite_version

2、UWSGI和NGINX的配置问题

在有的教程中UWSGI的配置如下

[uwsgi]
socket = 127.0.0.1:9090
master = true         //主进程
vhost = true          //多站模式
no-site = true        //多站模式时不设置入口模块和文件
workers = 2           //子进程数
reload-mercy = 10     
vacuum = true         //退出、重启时清理文件
max-requests = 1000   
limit-as = 512
buffer-size = 30000
pidfile = /var/run/uwsgi9090.pid    //pid文件,用于下面的脚本启动、停止该进程
daemonize = /website/uwsgi9090.log

其中,no-site = true的配置讲道理和下面的uwsgi_param是对应关系,但是uwsgi_param怎么改也不对。

server {
        listen       80;
        server_name  localhost;
        
        location / {            
            include  uwsgi_params;
            uwsgi_pass  127.0.0.1:9090;              //必须和uwsgi中的设置一致
            uwsgi_param UWSGI_SCRIPT demosite.wsgi;  //入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录
            uwsgi_param UWSGI_CHDIR /demosite;       //项目根目录
            index  index.html index.htm;
            client_max_body_size 35m;
        }
    }

其实 在uwsgi中配置下面的选项,就可以在nginx的配置中删掉 uwsgi_param的那两项。

[uwsgi]
chdir = /yourprojectpath/yourapppath/
module = yourmodule.wsgi

另外

socket = 127.0.0.1:9090

可以用

socket = /samepath/xxxx.sock

替代,然后nginx 配置

uwsgi_pass unix:/samepath/xxxx.sock

用文件接口替代端口工作,但要注意权限。文件权限要可以让nginx可以读写,如果改了还不行,记得把nginx的conf文件改一下不要nobody

user nobody
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值