uwsgi部署
在虚拟环境中下载uwsgi
- pip install uwsgi
uwsgi的配置
- 项目部署时,设置setting文件夹下
DEBUG=FLASE
ALLOWED_HOSTS=['*']
- 在settings.py同目录下写一个配置文件uwsgi.ini 内容填写:
[UWSGI]
#使用nginx连接时使用
#socket=127.0.0.1:8080
#直接做web服务器使用
http=127.0.0.1:8080
#项目目录 可以在Terminal中打印pwd显示项目路径
chdir=/Users/smart/Desktop/dj/bj17/dailyfresh
#项目中wsgi.py文件的目录路径,相对于项目目录
wsgi-file=dailyfresh/wsgi.py
#指定启动的工作进程数
processes=4
#指定进程中的线程数
threads=2
#这是个主进程
master=True
#保存启动之后主进程的pid
pidfile=uwsgi.pid
#设置uwsgi后台运行,运行的日志信息保存在uwsgi.log中,路径相对于项目路径
daemonize=uwsgi.log
#设置虚拟环境的路径,如何找出虚拟环境路径:
#cd .virtualenvs/
#cd dailyfresh/
#pwd
virtualenv=/Users/smart/.virtualenvs/dailyfresh
查看uwsgi是否启动
- ps aux | grep uwsgi
- 启动:uwsgi --ini uwsgi.ini(配置文件的路径)
查看启动的进程 - ps aux | grep uwsgi.ini
关闭uwsgi - uwsgi --stop uwsgi.pid
现在可以访问了,例如在浏览器输入(127.0.0.1:8080/index)
nginx部署
- 主要是把nginx的请求转给uwsgi
详细步骤在django/day14 - 首先把uwsgi配置里的访问端口进行更改
#使用nginx连接时使用
socket=127.0.0.1:8080
#直接做web服务器使用
#http=127.0.0.1:8080
- 对nginx文件进行配置
- 找到nginx的路径里的nginx.conf 例如:
cd /user/local/nginx/conf
sudo vi nginx.conf
- 在文件里配置如下:
location / {
#包含uwsgi的请求参数
include uwsgi_params:
#转交请求给uwsgi
uwsgi_pass 127.0.0.1:8080
}