标签:charade django uwsgi supervisor
初探django-演示charade在centos7下的部署
=======================================
2016/1/18
####charade 是一个猜单词的小游戏。
https://github.com/opera443399/charade
prepare ------- 1. pip+django :: [root@tvm001 ~]# yum install python-pip [root@tvm001 ~]# pip install django django 项目用到了 pytz [root@tvm001 ~]# pip install pytz 2. 调整 project setting :: [root@tvm001 ~]# cd /opt 直接克隆这个项目 [root@tvm001 opt]# git clone https://github.com/opera443399/charade.git [root@tvm001 opt]# cd charade/www/ 6. 试着运行一下 :: django默认是启用了 DEBUG 选项,但 charade 这个项目的代码已经关闭 DEBUG 选项,并设置了 ALLOWED_HOSTS 和 STATIC_ROOT : [root@tvm001 www]# vim www/settings.py DEBUG = False ALLOWED_HOSTS = [‘*‘] STATIC_ROOT = os.path.join(BASE_DIR,‘static‘) 现在,先临时调整配置: [root@tvm001 www]# vim www/settings.py DEBUG = True 运行服务: [root@tvm001 www]# python manage.py runserver 0.0.0.0:80 在浏览器访问,测试确认后台的数据读写无异常后,停止运行,后续将使用uwsgi来管理。 7. admin后台 :: [root@tvm001 www]# python manage.py createsuperuser 根据提示创建root密码用于登录后台。 访问地址:http://you_server_ip/admin/ 8. debug :: DEBUG 选项处于关闭状态时,则 django 不处理静态文件,此时应该配置nginx或apache来处理静态文件。 uwsgi+supervisord+nginx ---------------------- 1. 安装 :: [root@tvm001 www]# yum install nginx python-devel [root@tvm001 www]# yum groupinstall "development tools" [root@tvm001 www]# pip install supervisor [root@tvm001 www]# whereis supervisord supervisord: /usr/bin/supervisord /etc/supervisord.conf [root@tvm001 www]# pip install uwsgi [root@tvm001 www]# whereis uwsgi uwsgi: /usr/bin/uwsgi 2. 配置 :: 1) 收集django项目的static文件: [root@tvm001 www]# python manage.py collectstatic 2) 使用supervisor来管理uwsgi服务,用uwsgi来运行django: [root@tvm001 www]# # echo_supervisord_conf > /etc/supervisord.conf && mkdir /etc/supervisor.d && echo -e ‘[include]\nfiles=/etc/supervisor.d/*.ini‘ >>/etc/supervisord.conf && grep ^[^\;] /etc/supervisord.conf [root@tvm001 www]# whereis supervisord 4) 启动 supervisord 服务: [root@tvm001 www]# /usr/bin/supervisord -c /etc/supervisord.conf [root@tvm001 www]# echo ‘/usr/bin/supervisord -c /etc/supervisord.conf‘ >>/etc/rc.local 5) 配置uwsgi服务: [root@tvm001 www]# cat /etc/supervisor.d/uwsgi.ini [program:uwsgi] command=/usr/bin/uwsgi --socket 127.0.0.1:8090 --chdir /opt/charade/www --module www.wsgi 6)启动 uwsgi 服务: [root@tvm001 www]# supervisorctl reload Restarted supervisord [root@tvm001 www]# supervisorctl status uwsgi RUNNING pid 5303, uptime 0:00:04 说明: uwsgi 使用 --socket 方式,表示:通过socket来访问,因此后续可以用 nginx uwsgi 模块来访问。 uwsgi 使用 --http 方式,表示:可以直接通过 http访问,因此后续可以用 nginx proxy 来访问。 7) 使用nginx来处理静态文件和转发请求到后端的uwsgi服务 a)nginx uwsgi [root@tvm001 www]# cat /etc/nginx/conf.d/www.conf server { listen 80 default; server_name www.test.com; charset utf-8; location /static { alias /opt/charade/www/static; } location / { uwsgi_pass 127.0.0.1:8090; include uwsgi_params; } } b)nginx proxy [root@tvm001 www]# cat /etc/nginx/conf.d/www.conf upstream backend { server 127.0.0.1:8090; } server { listen 80 default; server_name www.test.com; charset utf-8; location /static { alias /opt/charade/www/static; } location / { proxy_pass http://backend; } } (centos7) [root@tvm001 www]# systemctl start nginx.service [root@tvm001 www]# systemctl enable nginx.service
初探django-演示charade在centos7下的部署
标签:charade django uwsgi supervisor
原文地址:http://nosmoking.blog.51cto.com/3263888/1736249