Linux上Django环境配置


背景介绍

本机windows上写了django项目,并写了5个接口用作将来的接口自动化。jenkins运行在linux上。当通过git-dev push代码自动触发jenkins执行接口测试用例的时候,

因为django运行在本机上,权限受限,无法触发脚本执行。所以需要把本机的django项目移行到linux上。

准备内容

本机一直使用的putty访问linux,但是在用文件上传时出现错误。所以改用secureCRT。

secureCRT为付费软件,本机为日文系统,需要找日文或者英文的破解版。scrt834.rar

secureCRT使用

安装rz,sz命令

yum list installed | grep lrzsz  查询lrzsz是否az

yum list | grep lrzsz  列出lrzsz安装包

yum install lrzsz.x86_64  安装lrzsz

文件上传与下载

右键选择session options>X/Y/Zmodem设置upload和download路径

rz回车,弹出设置的upload路径,选择要上传的文件add即可

sz filename,即将指定文件下载到如上download路径下了

注意

有时,文件上传不成功提示Zmodem transfer canceled by remote side。加上-be参数。rz -be file

-b:以二进制方式传输(binary)

-e: 对控制字符转移(escape),这可以保证文件传输正确

-a:以文本格式传输(如果能确定传输文件为文本格式的,加此参数)

django项目从windows上迁移至linux上

  1. 将windows上django项目(Guest)打包上传至linux,linux上解压到指定文件夹
  2. cd到django项目目录下,pip install django pymysql django-bootstrap3 msgpack
  3. django settings.py中的database环境修改, 'PASSWORD':改成linux访问mysql的密码, HOST改为'localhost'
  4. 在做python manage.py makemigrations
  5. python manage.py migrate
  6. python manage.py runserver linux_host:8080
  7. windows上用浏览器打开 linux_host:8080 此时会报错DisallowedHostxxx。
    需要在linux的django settings.py中将ALLOWED_HOSTS处加*使所有host均可访问的设定(ALLOWED_HOSTS = ['*'])
    哇咔咔,然后终于大功告成啦~~~~~~~~~~~~~~~~~~~~~~~~~

mysql从windows到linux的迁移

  1. windows上cd到mysql的bin目录,mysqldump -u root -p database_name > file_name.txt
  2. 将上述导出的txt备份文件上传到linux
  3. 打开linux,进入mysql,创建与windows同名的数据库
  4. 查看字符集是否与windows一致,不一致则进行修改 show create database guest; alter database guest character set utf8; show create database guest;
  5. 导入数据 use guest; source file_name.txt

一个大坑

linux上默认安装的mysql版本是5.1,但windows上安装的版本是5.7.因为版本差距很大,导致导表的时候出现错误。

所以导表之前需要先将linux默认的sql卸载掉,重新安装5.7版本的sql。具体步骤如下:

  1. rpm -qa | grep -i mysql  查看是否已经安装了mysql
  2. find / -name mysql 查找mysql文件路径
  3. service mysqld stop  停止mysql服务
  4. yum remove mysql mysql-*  删除旧版mysql
  5. rm -rf /etc/my.cnf  删除配置文件
  6. rpm -qa | grep mysql  再次查看是否有mysql存在
  7. 下载yum安装包到本地https://dev.mysql.com/downloads/file/?id=479058,选出common,libs,client,server四个包上传至linux
  8. rpm -ivh xxxcommonxxx.rpm xxxlibsxxx.rpm xxxclientxxx.rpm xxxserverxxx.rpm  使用rpm命令依次安装这四个包
  9. service mysqld start  启动mysql
  10. service mysqld status  查看mysql启动状态
  11. cat /var/log/mysqld.log | grep password  查看日志找到临时密码并复制该临时密码
  12. mysql -u root -p 登录mysql,粘贴临时密码
  13. alter user 'root'@'localhost' identified by 'new_password'  修改root密码(新密码规则要求8位以上,并有大小写和特殊字符组合)
  14. exit退出mysql,chkconfig --list 显示服务列表,查看mysql是否设定成了自动开机(mysql的3,4,5项目是否为on)
  15. chkconfig mysqld on  设置开机启动项(chkconfig mysqld off 开闭开机启动)

 

关于防火墙:/etc/init.d/iptables status  查看防火墙状态; /etc/init.d/iptables stop  关闭防火墙服务

遗留问题

参照Linux文件上传下载

putty上传文件为什么报connection error time out

关于文件上传下载:putty不好用,可以试试下面这些工具

    • 传文件用scp(公司内gateway原因此方法一直报access denied)
    • python开个webserver
    • xshell


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM