阿里云 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 ...
随机推荐
- Ubuntu 环境下的mysql 远程访问,redis 远程访问和设置密码 ,mongo 安装 ,设置用户密码,开启远程访问
MySQL远程访问 1.编辑mysql配置文件,把其中bind-address = 127.0.0.1注释了 vi /etc/mysql/mysql.conf.d/mysqld.cnf 2.使用roo ...
- 【Educational Codeforces Round 37 E】Connected Components?
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] bfs. 用一个链表来记录哪些点已经确定在某一个联通快里了. 一开始每个点都能用. 然后从第一个点开始进行bfs. 然后对于它的所有 ...
- WIN10远程桌面连接--“出现身份验证错误。要求的函数不支持”
最近WIN10升级补丁后发现远程桌面无法连接了,报“出现身份验证错误.要求的函数不支持”的错误: 解决办法: 第一种,配置本地自己的电脑,开始菜单->搜索gpedit.msc并打开 打开配置 ...
- Java.Lang.NoSuchMethod 错误
项目开发.调用webservice,方法调用报了 Java.Lang.NoSucheMethod..........,印象中记得是jar包冲突,maven项目,一看,这一堆jar包...用eclips ...
- android数据储存之存储方式
能够将数据储存在内置或可移动存储,数据库,网络.sharedpreference. android能够使用Content provider来使你的私有数据暴漏给其它应用程序. 一.sharedpref ...
- 从Linux系统内存逐步认识Android应用内存
总述 Android应用程序被限制了内存使用上限,一般为16M或24M(具体看系统设置),当应用的使用内存超过这个上限时,就会被系统认为内存泄漏,被kill掉.所以在Android开发时,管理好内存的 ...
- [BZOJ4026]dC Loves Number Theory 欧拉函数+线段树
链接 题意:给定长度为 \(n\) 的序列 A,每次求区间 \([l,r]\) 的乘积的欧拉函数 题解 考虑离线怎么搞,将询问按右端点排序,然后按顺序扫这个序列 对于每个 \(A_i\) ,枚举它的质 ...
- aui-dialog改造,支持关闭
1.打开aui-dialog.js 添加关闭html代码 var headerHtml = params.title ? '<div class="aui-dialog-header ...
- thinkphp跨模块调用
thinkphp跨模块调用 跨模块调用模板 return $view->fetch('admin@user/add'); 全路径模板调用: return $view->fetch(APP_ ...
- springboot 统一管理异常信息
新建ResponseEntityExceptionHandler的继承类:(依然,需要入口类扫描) /** * @author sky * @version 1.0 */ @ControllerAdv ...