阿里云 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 ...
随机推荐
- dd---复制文件并对原文件的内容进行转换和格式化处理
dd命令用于复制文件并对原文件的内容进行转换和格式化处理.dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果.用的比较多的还是用dd来备份裸设备.但是不推荐,如果需要 ...
- PKU 2288 Islands and Bridges 状态dp
题意: 给你一张地图,上面有一些岛和桥.你要求出最大的三角哈密顿路径,以及他们的数量. 哈密顿路:一条经过所有岛的路径,每个岛只经过一次. 最大三角哈密顿路:满足价值最大的哈密顿路. 价值计算分为以下 ...
- TCP 三次握手,四次挥手
TCP 三次握手,四次挥手 1. TCP 三次握手 建立连接前,客户端和服务端需要通过握手来确认对方: 客户端发送 syn(同步序列编号) 请求,进入 syn_send 状态,等待确认 服务端接收并确 ...
- Java基础学习总结(16)——Java制作证书的工具keytool用法总结
一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在 ...
- JAVA JS 中的 modulus exponent 生成 C# 公匙
C#用的是xml,里面是base64编码的.你上面的就是hex格式,只要把上面hex格式转成byte数组,然后在base64编码就可以了. public static byte[] Hex2Byte( ...
- C# DataTable中按字符串中的数字排序
例如datatable中有一列是门牌号格式是xx-xx-xx,或字符串中含有汉字或其他符号等等,如何按照正确的数字顺序排序呢? 1.获得字符串中的数字. 2.在datatable中添加一列,类型是In ...
- ruby redis的集群管理器
#========================================================================================== # => ...
- php中局部变量和全局变量
php中局部变量和全局变量 代码1:函数内部使用函数外部变量错误方法 <?php $name = 'fish'; function animal() { echo $name; } animal ...
- C#泛型链表Demo
/// <summary> /// 节点 /// </summary> /// <typeparam name="T"></typepar ...
- jquery ajax中支持哪些返回类型以及js中判断一个类型常用的方法?
1 jquery ajax中支持哪些返回类型在JQuery中,AJAX有三种实现方式:$.ajax() , $.post , $.get(). 预期服务器返回的数据类型.如果不指定,jQuery 将自 ...