阿里云 django的一次web维护记录
首先, 丢给我一个阿里云的server的账号/password,之前没有玩过阿里云,想想应该也是ssh服务来远程登陆.
环境:
centos+nginx+uwsgi+python2.7+django.
1. 首先看了下nginx和uwsgi的配置文件, 弄懂大概关系. 怎么使用能够參考django doc: 点击打开链接 . 而我主要參考帖子:点击打开链接,来确定问题的所在.
訪问的流程大概是:
the web client <-> the web server <-> the socket <-> uWSGI <-> Python
能够使用例如以下命令来执行uwsgi:
uwsgi --ini mysite_uwsgi.ini
极大的简化了uwsgi的配置过程,将配置都放在配置文件中面.
nginx的系统日志在位置:/usr/local/nginx/log/error.log里面,能够看到问题:mysite.sock找不到, 这个文件不须要管,上面的脚本会自己主动来处理,仅仅能说执行uwsgi这一步后面出了问题.详细什么问题,能够看看以下的解决方式.
2. 弄懂了配置之后,開始解决主要问题:502 bad GateWay
(1)将settings中的DEBUG设为True,也就是打开调试来执行;
(2)可是,设置为False之后,就无法执行了,这里纠结了半天. 猜想是异常信息报告的级别不同导致执行的结果不一样.
(3)执行终端会提演示样例如以下语句,有语法错误:
if settings.DEBUG is False:
稍作调整,就能够将成功打开首页的登陆界面. 搞定之后,再在开机启动项中加入执行服务,让开机server就能够自己主动启动(/etc/rc.local):
#start the nginx
/usr/local/nginx/sbin/nginx
#start the uwsgi
/usr/local/bin/uwsgi --ini /home/www/mysite/mysite_uwsgi.ini
3. 登陆之后的一些问题
注冊了一个账号,发现登陆之后会报错. 报错信息已经非常明显:
UserInfo.views.editOrChack,unindent does not match any outer indentation level (views.py, line 41)
对象的行处存在缩进问题,稍做改动就能够登陆进去.
4. 登陆进去之后,某个页面打不开的问题.
错误提示,能够定位问题是,url找不到匹配的问题,找到相应的控制器,查看代码,改动成例如以下代码就可以:
def chackgender(req):
key=req.session.get('username')
existinfo=user_info.objects.filter(key__exact=key)
if existinfo: sex=user_info.objects.get(key__exact=key).gender
if sex=='female':
#return HttpResponseRedirect('/mysite/girlTestEdit/')
return HttpResponseRedirect('/girlTestEdit/')
else:
return HttpResponseRedirect('/boyTestEdit/')
#return HttpResponseRedirect('/mysite/boyTestEdit/')
else:
#return HttpResponseRedirect('/mysite/editOrChack/')
return HttpResponseRedirect('/editOrChack/')
5. 更新代码后uwsgi须要又一次又一次启动的问题:
解决方式,參考: 点击打开链接
思路就是每3s去自己主动又一次载入一次,在 wsgi.py中增加例如以下语句就可以:
import uwsgi
from uwsgidecorators import timer
from django.utils import autoreload @timer(3)
def change_code_gracefull_reload(sig):
if autoreload.code_changed():
uwsgi.reload()
兴许假设还有问题的话,还会继续更新~
阿里云 django的一次web维护记录的更多相关文章
- 阿里云+django实战记录
2013年7月13日10:36:53:接上篇,bae部署django没成功,转战阿里云.. 阿里云服务器最便宜69/月,现在有个活动,新用户送20元现金券,我就花了RMB 49买了一个,操作系统选的是 ...
- 阿里云linux centos 一键部署web环境--图文详解
一.购买阿里云服务器ECS 1,登录阿里云,选择阿里云服务器ECS 2,创建实例 或 3,选好配置 4,完成配置 注:记住用户名和密码 二.一键配置linux环境 1,下载xshell,安装成功后,建 ...
- 阿里云CentOS7.3配置Java Web应用和Tomcat步骤
阿里云的Linux系统包括CentOS7.3配置了密钥对 怎样将自己ECS实例绑定密钥对,并启用秘钥: https://help.aliyun.com/document_detail/51798.ht ...
- 【阿里云】WindowsServer2012 搭建FTP站点 图文记录
配置说明: 服务商:阿里云 系统: WindowsServer2012 一:配置FTP服务器 1.进入操作系统,直接从启动栏打开服务器管理器,选择添加功能和角色 2.选择服务器 3.勾选FTP服务器选 ...
- 云计算之路-阿里云上:博客web服务器轮番CPU 100%
今天下午14:30左右开始,不知道怎么回事,博客站点负载均衡中的web服务器轮番CPU 100%.平时访问高峰5台服务器就能稳稳支撑,而今天发现CPU出现100%问题后就开始加服务器,结果到目前加到了 ...
- 阿里云url解析,发布web后去除url中的端口号
归根结底就是80端口的使用,不是http的80 的 或 https的 都得加端口号 [问题描述] http://wisecores.wisers.com:8080/JsonProject/servl ...
- 阿里云 Django部署参考
Linux下安装Python3和django并配置mysql作为django默认服务器 CentOS7.3安装Python3.6 yum except KeyboardInterrupt, e: 错误 ...
- 阿里云:linux 一键安装web环境
参考地址:http://www.cnblogs.com/ada-zheng/p/3724957.html
- 阿里云学习笔记之Java Web环境搭建
1. 下载JDK7 http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521 ...
随机推荐
- 【Fiddler】使用fiddler抓取指定浏览器的包
参考资料:http://blog.csdn.net/sufubo/article/details/49331705 使用fiddler抓取不到浏览器的包时常用的解决办法: 1.必须先打开Fiddler ...
- android 推断是否支持闪光灯
近期在做录制视频功能,在找一些资料时发现 要推断是否支持闪关灯,在这记录下来,怕以后忘记 public static boolean isSupportCameraLedFlash(PackageMa ...
- 怎样使Dialog像Activity一样随心所欲的使用?
怎样使Dialog像Activity一样随心所欲的使用? android中的Dialog像是寄生在Activity中.在弹出Dialog时.因受到系统风格定义,导致Dialog怎么也不能如意,那么今天 ...
- Android 5.0(Lollipop)中的SurfaceTexture,TextureView, SurfaceView和GLSurfaceView
SurfaceView, GLSurfaceView, SurfaceTexture以及TextureView是Android当中名字比较绕,关系又比较密切的几个类.本文基于Android 5.0(L ...
- Redis封装之String
RedisBase类 /// <summary> /// RedisBase类,是redis操作的基类,继承自IDisposable接口,主要用于释放内存 /// </summary ...
- 变量对象、作用域链和This
变量对象 作用域链 This 整理自:https://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 系列文章中变量对象,作用域链和this ...
- JS对浏览器Cookie的操作,查询、设置以及删除
JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的. 而cookie是运行在客户端的,所以可以用JS来设置cookie. 假设有这样一 ...
- 重装python 和 yum
https://blog.csdn.net/ghostyusheng/article/details/https://segmentfault.com/q/1010000009194060/a-102 ...
- iOS Scheme 跳转主流实现方案
iOS Scheme跳转主流实现方案主要是路由跳转,目前iOS常用路由框架是JLRouter.HHRouter.MGJRouter. 但是这些路由库都各有不足,首先是JLRouter,用不到的功能繁多 ...
- 【Codeforces Round #424 (Div. 2) A】Unimodal Array
[Link]:http://codeforces.com/contest/831/problem/A [Description] 让你判断一个数列是不是这样一个数列: 一开始是严格上升 然后开始全都是 ...