=======================================
2016/1/18
####charade 是一个猜单词的小游戏。
https://github.com/opera443399/charade
prepare ------- 1. pip+django :: [[email protected] ~]# yum install python-pip [[email protected] ~]# pip install django django 项目用到了 pytz [[email protected] ~]# pip install pytz 2. 调整 project setting :: [[email protected] ~]# cd /opt 直接克隆这个项目 [[email protected] opt]# git clone https://github.com/opera443399/charade.git [[email protected] opt]# cd charade/www/ 6. 试着运行一下 :: django默认是启用了 DEBUG 选项,但 charade 这个项目的代码已经关闭 DEBUG 选项,并设置了 ALLOWED_HOSTS 和 STATIC_ROOT : [[email protected] www]# vim www/settings.py DEBUG = False ALLOWED_HOSTS = [‘*‘] STATIC_ROOT = os.path.join(BASE_DIR,‘static‘) 现在,先临时调整配置: [[email protected] www]# vim www/settings.py DEBUG = True 运行服务: [[email protected] www]# python manage.py runserver 0.0.0.0:80 在浏览器访问,测试确认后台的数据读写无异常后,停止运行,后续将使用uwsgi来管理。 7. admin后台 :: [[email protected] www]# python manage.py createsuperuser 根据提示创建root密码用于登录后台。 访问地址:http://you_server_ip/admin/ 8. debug :: DEBUG 选项处于关闭状态时,则 django 不处理静态文件,此时应该配置nginx或apache来处理静态文件。 uwsgi+supervisord+nginx ---------------------- 1. 安装 :: [[email protected] www]# yum install nginx python-devel [[email protected] www]# yum groupinstall "development tools" [[email protected] www]# pip install supervisor [[email protected] www]# whereis supervisord supervisord: /usr/bin/supervisord /etc/supervisord.conf [[email protected] www]# pip install uwsgi [[email protected] www]# whereis uwsgi uwsgi: /usr/bin/uwsgi 2. 配置 :: 1) 收集django项目的static文件: [[email protected] www]# python manage.py collectstatic 2) 使用supervisor来管理uwsgi服务,用uwsgi来运行django: [[email protected] 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 [[email protected] www]# whereis supervisord 4) 启动 supervisord 服务: [[email protected] www]# /usr/bin/supervisord -c /etc/supervisord.conf [[email protected] www]# echo ‘/usr/bin/supervisord -c /etc/supervisord.conf‘ >>/etc/rc.local 5) 配置uwsgi服务: [[email protected] 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 服务: [[email protected] www]# supervisorctl reload Restarted supervisord [[email protected] 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 [[email protected] 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 [[email protected] 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) [[email protected] www]# systemctl start nginx.service [[email protected] www]# systemctl enable nginx.service
时间: 2024-11-03 21:48:49