Django系列 WSGI Django工作环境部署
1、uwsgi的介绍
WSGI (Web Server Gateway Interface)Web服务器网
关接口,是Python应用程序或框架和Web服务器之间
的一种接口,被广泛使用
它实现了WSGI协议、http等协议。Nginx中
HttpUwsgiModule的作用是与uWSGI服务器进行交
换。WSGI是一种Web服务器网关接口。
- 使用 python manage.py runserver 通常只在开发和
测试环境中使用。 - 当开发结束后,完善的项目代码需要在一个高效稳定的
环境中运行,这时可以使用uWSGI - uWSGI是WSGI的一种,它可以让Django、Flask等开发
的web站点运行其中.
2、mac上几种安装uwsgi的方式
- 方法一 可以使用 pip install uwsgi
- 方法二 可以使用 conda install uwsgi
- 方法三 可以使用 brew install uwsgi
3、安装uwsgi所遇到的新问题
我首先使用pip和conda安装这个uwsgi。但是每次都是安装到一半就报错了,所以我从github上安装了这个homebrew。通过使用brew install uwsgi成功的安装了uwsgi。
但是使用brew安装uwsgi后,使用了正确的配置文件,但是uwsgi却不能启动Django项目。
4、 解决方法
最后通过brew uninstall uwsgi,重新使用 conda intsall uwsgi 安装uwsgi,再次启动uwsgi,可以成功的启动Django项目。我个人感觉使用brew安装的uwsgi,存放的位置和使用conda安装uwsgi存放的位置不一样。导致使用brew安装的uwsgi无法启动Django的项目。
5、uwsgi的配置使用
5.1 配置uWSGI
- 添加配置文件 项目文件夹/uwsgi.ini
- 如: mysite1/uwsgi.ini
[uwsgi]
# 套接字方式的 IP地址:端口号
socket=127.0.0.1:8000
# Http通信方式的 IP地址:端口号
http=127.0.0.1:8000
# 项目当前工作目录
chdir=/home/tarena/.../my_project 这里需要 换为项目文件夹的绝对路径
# 项目中wsgi.py文件的目录,相对于当前工作目录
wsgi-file=my_project/wsgi.py
# 进程个数
process=4
# 每个进程的线程个数
threads=2
# 服务的pid记录文件
pidfile=uwsgi.pid
# 服务的目志文件位置
daemonize=uwsgi.log
- uWSGI的运行管理
- 启动 uwsgi
- $ cd 项目文件夹 $ sudo uwsgi --ini 项目文件夹/uwsgi.ini
- 停止 uwsgi
- $ cd 项目文件夹 $ sudo uwsgi --stop uwsgi.pid
- 测试:
在浏览器端输入http://127.0.0.1:8000 进行测试
注意,此时端口号为8000