uwsgi+django+nginx 搭建部分总结

作者 : 开心源码 本文共1505个字,预计阅读时间需要4分钟 发布时间: 2022-05-12 共208人阅读

环境:Cent7.5+Django2.1.2+uwsgi2.0.17+nginx1.12.2

第一、uwsgi协议

1.uwsgi协议说明

uwsgi 是基于wsgi 协议的一个应用。wsgi 是网页服务器网关接口协议,用来解决http request、response的消息。

uwsgi 2.0.17 基于python2 下的pip install uwsgi 来安装,可以通过xml或者ini文件格式来做初始化配置。

2.应用说明

这里用ini配置。conf.ini内容如下:

[uwsgi]
socket=:8080
chdir=/home/website/hourseWebSiteProject
#wsgi-file=hourseWebSiteProject/wsgi.py
module=hourseWebSiteProject.wsgi
pidfile=pid.uwsgi
master=true
processes=4
threads=2
buffer-size=32768
virtualenv=/home/website/ll_env
daemonize=UWSGI.log
vacuum=true

socket=:8080 是用来配置nginx 服务器,用来建立socket通信的,假如单独启用测试运行django服务器,让外网访问设置为http=:8080 。指定任何地址可以访问。

chidir 用来指定Django的项目目录。

module 指定wsgi文件

virtualenv 指定安装的Python3 安装的虚拟环境,运行uwsgi 协议应用是在虚拟环境目录下进行的.

命令:source ll_env/bin/activate

/home/website/ll_env 为建立的虚拟环境目录路径,此处使用的是python3.5+django 2.0.7环境

daemonize 指定uwsgi运行在后端

2.1 启用uwsgi

uwsgi --ini conf.ini
#以上命令启用uwsgi,用cat UWSGI.log 查看当前目录下uwsgi生成的日志信息是什么
netstat -ntlp
#此命令查看端口8080 队友的uwsgi 服务能否启用。

2.3 关闭uwsgi

(ll_env) [root@192 hourseWebSiteProject]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:10022 0.0.0.0:* LISTEN 999/sshd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1641/nginx: master
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1628/uwsgi
tcp6 0 0 :::10022 :::* LISTEN 999/sshd
tcp6 0 0 :::3306 :::* LISTEN 1037/mysqld
#查找到 uwsgi 的进程号PID 1628 用以下命令关闭
kill -9 1628

第二、nginx 服务器使用

1. nginx详情

nginx是web应用中继服务器用来转发网页请求,将网页请求转发为uwsgi 网关应用。

当uwsgi配置启动成功后,需要配置nginx。

首先Django 项目的工程下的setting.py 下的DEBUG=True 。假如DEBUG 改为False ,Django 项目就不能自动索引Static静态文件了,这个时候就通过nginx来提供静态文件的目录了,同时template 中的网页模板中的引入文件路径就要修改了。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » uwsgi+django+nginx 搭建部分总结

发表回复