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