Django中uwsgi和nginx的项目部署

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
	}
原创文章 35 获赞 13 访问量 2361

猜你喜欢

转载自blog.csdn.net/Bankofli/article/details/104701893