ecs相关问题汇总

1.解决阿里云ecs(linux ubuntu)的中文乱码问题
编辑.vimrc

vi ~/.vimrc

输入如下代码:

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8

保存退出后,输入source ~/.vimrc即可解决问题

2.停止linux 进程
1)查找进程

ps -aux 显示所有进程
ps -aux | grep python 显示与python相关的进程

2)停止进程

kill

对于以上命令杀不掉的进程,可以使用

kill -9

3.解决locale相关问题的方法
直接在命令行输入:

export LC_ALL=C.UTF-8
export LANG=C.UTF-8

可解决类似出现RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment. Either switch to Python 2 or consult http://click.pocoo.org/python3/ for mitigation steps.或者less查看中文乱码的问题。此问题为大问题,困扰了与python3编码相关,与中文编码相关的大部分问题.

4.安装mysql5.7
阿里云ECS上apt-get install mysql-server默认安装的是mysql5.5,与我在本地部署的mysql版本不符,必须升级更新为5.7。网上一番搜寻后,找到解决方案,亲测成功。具体步骤如下:
1)下载apt-get的mysql官方源包
网址为:http://dev.mysql.com/downloads/repo/apt/
内有最新的官方源包。下载方法为:

(sudo) wget http://dev.mysql.com/get/mysql-apt-config_0.7.3-1_all.deb

下载后,即可在当前文件夹看到mysql-apt-config_0.7.3-1_all.deb的下载文件
2)安装源包

(sudo) dpkg -i mysql-apt-config_0.7.3-1_all.deb

安装过程中会弹出对话框,让你选择版本、组件等。此处我选择的版本是mysql5.7
3)更新源包

(sudo) apt-get update

4)安装mysql5.7

(sudo) apt-get install mysql-server

简单的4步,即可安装成功,比网上某些方法简单多了。

5.nginx解决域名绑定端口
简单方法为:删除/etc/nginx/sites-enabled/文件夹下面的default超链接。将项目文件夹下面的mysite_nginx.conf文件中的listen改为80。
后续应该学习更加深入的方法,如反向代理,多域名配置等。

6.nginx解决无权限打开静态文件的问题
查询/var/log/nginx文件夹下面的error.log文件时,发现显示为open()...failed(13,permission denied)。简单的解决方法为:修改/etc/nginx文件夹下的nginx.conf文件首行user www-data;user root;

7.创建软连接(ln -s)必须使用绝对路径,前后都是。

8.解决ssh断开连接后,某些网站页面出现IOERROR的问题
简单的解决方法为:nohup <相关命令> &
作用为使该命令在后台执行。
例如:

nohup uwsgi mysite_uwigi.ini &

9.查看crontab运行日志
ecs默认的/var/log下没有cron日志,这里记录一下如何查看crontab日志。
1)修改rsyslog
[sudo] vim /etc/rsyslog.d/50-default.conf
cron.* /var/log/cron.log #将cron前面的注释符去掉
2)重启rsyslog
[sudo] service rsyslog restart
[sudo] service cron restart
3)查看crontab日志
less /var/log/cron.log

10.文件的上传与下载
简单的方式为使用sftp,参考:
http://www.cnblogs.com/chen1987lei/archive/2010/11/26/1888391.html

11.解决缓存
使用视图缓存的方式较简单有效

from django.views.decorators.cache import cache_page

@cache_page(60 ***** 15)
def my_view(request):
...

参考http://python.usyiyi.cn/django/topics/cache.html

12.django model对象的复杂查询
通常的filter查询默认为AND的关系,若想要获得OR的查询关系,可以使用Q对象查询。参考
http://python.usyiyi.cn/documents/django_182/topics/db/queries.html#complex-lookups-with-q-objects

你可能感兴趣的:(ecs相关问题汇总)