tornado--02开发环境搭建

开发环境

ubuntu16.04.2

  1. 开机命令行启动:
  1. 在图形桌面打开虚拟终端:sudo systemctl set-default multi-user.target
  2. 启动到桌面:sudo systemctl start lightdm
  3. 恢复桌面启动: systemctl set-default graphical.target
  1. 命令行修改默认语言:sudo vi /etc/default/locale ,改后重启主机。
 LANG="en_US.UTF-8"
 LANGUAGE="en_US:en"
  1. 改变IP地址为静态:(我在VM中使用nat网络,所以网关和DNS为同一个)
  1. 通过 ifconfigroute -n 命令,查看本机网卡接口,地址,和网关。

  2. sudo vi /etc/network/interfaces, 追加以下代码:

    auto ens33
    iface ens33 inet static
    address 192.168.128.140        #分配的地址
    gageway 192.168.128.2        #查询到的网关
    netmask 255.255.255.0
    dns-nameservers 192.168.128.2 #DNS 解析
    
  3. 重启网络服务:sudo /etc/init.d/networking restart

  1. SSH连接:
  1. 更新软件:sudo apt-get update
  2. 安装ssh: sudo apt-get install openssh-server
  3. 开启服务:sudo service ssh start ,查看 服务状态:sudo service ssh status

python服务器环境

  • 安装步骤: python2.7 --> python 2.7 包管理工具 --> python 隔离运行环境。
  • python 版本:2.7

    which python
    python -V #确认处理是2.7.12,否则安装:
    #sudo apt-get install python2.7
    #ln -s /usr/bin/python2.7 /usr/bin/python
    
  • 安装包管理工具 setuptools。作用:简单的创建和分发Python包,特别是拥有依赖关系。

    sudo apt-get install -y python-setuptools

  • 安装包管理工具pip

    wget https://bootstrap.pypa.io/get-pip.py  --no-check-certificate  #pip,python安装脚本
    sudo python get-pip.py
    
  • 通过配置文件,更改pip源地址为国内镜像

    配置文件需要手动建议,存放位置:~/.pip/pip.conf,或 ~/.config/pip/pip.conf,或/etc/pip.conf

    [list]
    format = columns
    [global]
    trusted-host = mirrors.aliyun.com
    index-url = http://mirrors.aliyun.com/pypi/simple
    # 或是豆瓣源。
    #trusted-host = pypi.douban.com
    #index-url = http://pypi.douban.com/simple
    
  • 安装virtualenv 和 virtualenvwrapper, 用来创建一套“隔离”的Python运行环境.

    • 安装命令:sudo apt-get install python-virtualenv ,和 sudo easy_install virtualenvwrapper

    • 配置系统环境变量,调用命令来操作python虚拟运行环境

      1. 创建 虚拟环境存放 的目录: mkdir $HOME/.virtualenv

      2. 创建全局变量 WORKON_HOME,执行扩展包脚本,让操作虚拟环境更加便捷。

        # ~/.bashrc 追加:
        export WORKON_HOME=$HOME/.virtualenv
        source /usr/local/bin/virtualenvwrapper.sh
        # 添加后, source ~/.bashrc
        
      3. 生成虚拟环境:mkvirtualenv [环境名字] ,可选参数: -p python_version 指定环境使用python版本。

      4. 切换虚拟环境:workon [环境名字],如不跟环境名字,查看当前环境。

      5. 退出虚拟环境:deactivate

      6. 删除虚拟环境:rmvirtualenv [环境名字]

    • 最大打开文件数,epoll模式性能参数之一,cat /proc/sys/fs/file-max

安装Tornado

  • sudo pip install tornado

安装mysql

  • 需要安装服务端,客户端,客户端开发包

    sudo apt-get install mysql-server #安装时,需要创建数据库根帐号root的密码。这里我设 sincethen
    sudo apt-get install mysql-client
    sudo apt-get install libmysqlclient-dev
    
  • 查看mysql开机启动服务,

    sudo apt-get install sysv-rc-conf #sysv-rc-conf 开机服务管理
    sudo sysv-rc-conf  #连接ubuntu的窗口要大。查找mysql
    sudo /etc/init.d/mysql status #查看mysql 运行状态,start, stop ,restart
    sudo netstat -apn |grep mysql #查看mysql 是否在监听着端口
    
  • 修改mysql 存储的编码

    • 编辑mysql配置文件:/etc/mysql/my.cnf

      [client]         #客户端字符编码
      default-character-set=utf8
      
      [mysqld]        #服务端字符编码
      character-set-server=utf8
      collation-server=utf8_general_ci
      
  • 查看mysql 字符编码

    • 连接 mysql 服务端: mysql -u root -p ,输入之前创建时,设置的 root密码。

    • 查看字符编码。配置修改后,需要重启服务读取配置文件。sudo /etc/init.d/mysql restart

      mysql> show variables like '%char%';
      +--------------------------+----------------------------+
      | Variable_name            | Value                      |
      +--------------------------+----------------------------+
      | character_set_client     | utf8                       |
      | character_set_connection | utf8                       |
      | character_set_database   | utf8                       |
      | character_set_filesystem | binary                     |
      | character_set_results    | utf8                       |
      | character_set_server     | utf8                       |
      | character_set_system     | utf8                       |
      | character_sets_dir       | /usr/share/mysql/charsets/ |
      +--------------------------+----------------------------+
      8 rows in set (0.02 sec)
      
      mysql> show variables like '%colla%';
      +----------------------+-----------------+
      | Variable_name        | Value           |
      +----------------------+-----------------+
      | collation_connection | utf8_general_ci |
      | collation_database   | utf8_general_ci |
      | collation_server     | utf8_general_ci |
      +----------------------+-----------------+
      3 rows in set (0.00 sec)
      
    • 创建数据库时,指定默认字符。create database DATABASE_NAME default character set utf8

  • redis数据库

    • 安装:sudo apt-get install redis-server
    • 启动服务端: redis-server
    • 启用客户端:redis-cli

pycharm,连接服务器开发环境

  • 安装pycharm ,这里不多做介绍。

  • 创建python项目pytndo 。(file-->new project) ,存放路径为本地:E:/pytndo

  • 本地所有项目编码默认设置,设置为utf-8。

    路径:File文件 --> Setting设置-->Editor编辑器-->File Encoding文件编码 下的IDE Encoding 和 Project Encoding 值 改为utf-8.

  • 代码同步。将本地项目与远程服务器项目关连,更新文件后自动上传。

    1. 配置路径:File-->Settings --> Build,Execution,Deployment--> Deployment 。选项:Connection,Mappings.
    2. 在关连前,我们需要确认条件:本地项目目录(E:/pytndo) 和 服务器项目同步目录 (假设为:/home/cpdl/pytndo).
    3. 在配置路径下,点击“+” 号,创建连接名称,类型为SFTP.
    4. Connection配置:填写服务器远程SSH连接设置,包括 地址 登陆用户名和密码。注意选中保存密码,并测试 SFTP连接 正常(“Test SFTP connection...”)。
    5. Mappings 配置,同步目录设置。 本地项目目录 (E:/pytndo), 远程项目同步目录(/home/cpdl/pytndo).
    6. 设置 本地项目文件 保存时,自动同步到服务器目录。配置路径 :Tools-->Deployment-->Options 下的Upload changed files automatically to the default server 文件修改后对服务器文件操作:On explicit save action(Ctrl+s).
    7. 至此,使用pycharm 编辑项目时,代码会自动同步到服务项目中。但是,由于编程环境和语言使用的版本可能不一致,下面同步使用服务器编程环境。
pycharm同步.png
  • 编程环境同步。让本地编程工具调用服务器语言编程环境。

    1. 在服务器中创建虚拟python 运行环境。

    2. 获取虚拟环境运行python命令执行的程序文件。

      mkvitrualenv tnd_1  #创建环境tnd_1
      workon tnd_1        #使用环境
      which python        #获取此环境下python命令执行的程序文件。
      /home/cpdl/.virtualenvs/tnd_1/bin/python
      
    3. 在pycharm中配置:File-->Settings-->Project:pytndo-->Project Interpreter ,添加 项目使用的远程环境。在左侧显示的齿轮上,选择Add Remote 。弹出窗口中,添加 SSH Credentials连接,其中 Python interpreter path: 要填上步获取到的python执行文件。

环境同步.png
  • 使用pycharm编程工具 调用SSH 命令 ,来远程连接服务器。

    配置路径:tools-->start ssh session..-->Edit credentials.. ,添加SSH连接,或使用之前建立的SSH连接。

服务器虚拟环境包管理

  • 查看虚拟python环境包安装情况:

    workon tnd_1                #进入tnd_1
    pip install --upgrade pip    #更新pip管理软件
    pip list                    #查看安装的python软件包
    #大致上,可能需要安装:tornado, SQLAlchemy ,redis, PyMySQL,Pillow 等。
    pip install tornado            #安装tornado
    

附加浏览器知识

  • 服务器curl : sudo apt-get install curl

  • chrome缓存处理:

    Ctrl+Shift+Del  清除Google浏览器缓存的快捷键
    Ctrl+Shift+R  重新加载当前网页而不使用缓存内容
    

这一节,没多少要记的知识,主要是开发环境的搭建,跟着步骤建,即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,198评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,663评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,985评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,673评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,994评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,399评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,717评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,407评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,112评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,371评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,891评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,255评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,881评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,010评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,764评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,412评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,299评论 2 260

推荐阅读更多精彩内容

  • 背景 CTFd是时下比较流行的CTF平台,其安装和部署也是比较容易。虽然facebookCTF界面够炫够酷...
    我就看看不想写阅读 2,615评论 1 1
  • 一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls...
    会飞的鱼Coo阅读 4,373评论 1 23
  • 一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件)ls -a 列出当前目录文件(包括隐含文件)l...
    路痴千行阅读 2,325评论 0 5
  • 回想 自己一本书都没读 又会后悔 又会想怎样 问题都是在实践中产生的
    Ace_策阅读 70评论 0 0
  • 有时候,我们很容易掉进一根筋的陷阱,从而钻了牛角尖。人们常说思维要灵活,就是说尽量不要固执己见。 我就经常受到这样...
    福尔摩星阅读 825评论 0 1