首先保证你有一个可运行的django工程
然后在虚拟环境里面安装好uwsgi
1 | pip install uwsgi |
---|
配置nginx的服务如下
1 2 3 4 5 6 7 8 9 10 11 12 13 | server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; server_name _; location / { try_files $uri $uri/ =404; } location /account { include uwsgi_params; #表示使用uwsgi代理 uwsgi_pass 127.0.0.1:8000; #这里配置的必须和uwsgi里的一致 } } |
---|
这里需要注意的是,nginx中的 location /account 要和你在django中的地址一致,即django 和nginx是可以找到的路由
先在脚本中测试使用简单命令启动服务
1 | uwsgi --socket 127.0.0.1:8000 --wsgi-file yourproject/wsgi.py |
---|
注意:这里的yourproject 用你自己的目录替换
如果能走到这儿,可以正常运行,那么就是成功的,否则自己查看控制台中输出的错误信息,然后对应的去修改。
最后是写入到配置文件的运行方式,新建一个test.ini 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [uwsgi] #监听的地址 必须和nginx中的一致 socket = 127.0.0.1:8000 #wsgi文件,在你的项目配置目录下可以找到 注意:最后输入绝对地址 wsgi-file = /home/aeasringnar/my_Project/jwt-test/my_jwt_test/wsgi.py # 你的项目的根目录 绝对地址 chdir = /home/aeasringnar/my_Project/jwt-test # 你项目使用的虚拟环境的根目录 绝对地址 home = /home/aeasringnar/.envs/jwt-test #你的日志目录,注意的是,你的django控制台输出的日志都会在这里输出,uwsgi的相关日志也在这里 daemonize = /home/aeasringnar/my_Project/jwt-test/test.log ####下面的配置可以有 也可以没有,看个人需求,不建议配置 # 主进程 master = true # 多站模式 vhost = true # 多站模式时不设置入口模块和文件 no-site = true # 子进程数 workers = 2 # 退出、重启时清理文件 vacuum = true |
---|
然后启动
1 | uwsgi --ini test.ini |
---|
或
1 | uwsgi test.ini |
---|
启动后会输出
[uWSGI] getting INI configuration from test.ini
这时候再去访问查看是否启动成功
如果服务挂了,去日志文件查看
这里需要查看端口使用情况
附:相关命令Linux环境下
查看已经连接的服务端口(ESTABLISHED)
1 | netstat -a |
---|
查看所有的服务端口(LISTEN,ESTABLISHED)
1 | netstat -ap |
---|
查看指定端口,可以结合grep命令:
1 | netstat -ap | grep 8000 |
---|
也可以使用lsof命令:
1 | lsof -i:8000 #可以查看对应的PID |
---|
若要关闭使用这个端口的程序,使用kill 对应的pid
1 | kill -9 PID号 |
---|
本例小窍门:关闭所有uwsgi进程命令
1 | killall -9 uwsgi |
---|
以上这篇Django使用uwsgi部署时的配置以及django日志文件的处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。