• Django REST framework+Vue 打造生鲜电商项目(笔记八)


    (form:http://www.cnblogs.com/derek1184405959/p/8862569.html)

    十一、pycharm 远程代码调试

    第三方登录和支付,都需要有服务器才行(回调url),我们可以用pycharm去远程调试服务器代码

    服务器环境搭建

    以全新阿里云centos7系统为例:

    11.1.阿里云安全组配置

    快速创建规则,选好常用端口,授权对象,确定就可以了

    还要添加一个安全组规则,设置端口范围,授权对象,点确定

    ssh连接

    复制代码
     yum install openssh-server -y
    
    service sshd restart
    
    #xshell连不上,SSH服务端不允许密码验证。
    #服务端开启密码验证的方法:
    
    vim /etc/ssh/sshd_config
    
    把PasswordAuthentication项为yes
    
    重启服务
    
    service sshd restart
    复制代码

    11.2.mysql安装

    复制代码
    #1.安装
    wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    rpm -ivh mysql-community-release-el7-5.noarch.rpm
    yum install mysql-community-server
    
    #2.重启服务
    service mysqld restart
    
    #3. 设置bind-ip
    
        vim /etc/my.cnf
        在 [mysqld]:
            下面加一行
            bind-address = 0.0.0.0
    
    #4.登录mysql
    mysql -u root
    
    #5. 设置外部ip可以访问
    #mysql中输入命令:
    #后面用navicat连接远程服务器mysql的用户名和密码
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    
    FLUSH PRIVILEGES;
    
    #6.设置mysql密码
    进入mysql:
    set password =password('123456');     #密码123456
    flush privileges;
    复制代码

    11.3.pip和python3.6的安装

    复制代码
    #安装pip

    wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate sudo python get-pip.py
    复制代码
    复制代码
    #安装python3.6
    首先安装这两个
    
    yum -y install zlib*
    
    yum install openssl-devel -y
    
    
    1. 获取
    
    wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
    tar -xzvf Python-3.6.2.tgz -C  /tmp
    cd  /tmp/Python-3.6.2/
    
    2. 把Python3.6安装到 /usr/local 目录
    
    ./configure --prefix=/usr/local
    make
    make altinstall
    
    3. 更改/usr/bin/python链接
    
    ln -s /usr/local/bin/python3.6 /usr/bin/python3
    复制代码

    11.4.虚拟环境安装

    复制代码
    yum install python-setuptools python-devel
    pip install virtualenvwrapper
    
    #编辑.bashrc文件
    vim ~/.bashrc
    
    #添加进去
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/bin/virtualenvwrapper.sh
    
    #sudo find / -name virtualenvwrapper.sh      查看你的virtualenvwrapper.sh在什么地方
    
    #重新加载.bashrc文件
    source ~/.bashrc
    
    #虚拟环境保存的路径
    cd ~/.virtualenvs/      (创建的虚拟环境都会保存在这个目录,前面设置的)
    
    #创建指定python版本的虚拟环境方法
    mkvirtualenv MxShop --python=python3.6
    
    workon MxShop
    #进虚拟环境安装依赖包

    首先 pip freeze > requirements.txt
    将本地的虚拟环境安装包导出来,上传到服务器
    pip install -r requirements.txt #安装mysqlclient出问题 centos 7: yum install python-devel mariadb-devel -y ubuntu: sudo apt-get install libmysqlclient-dev 然后: pip install mysqlclient
    复制代码

    11.5.navicat远程连接传输数据

    用navicat远程连接到数据库

    • ip:你的服务器ip
    • 用户名:root
    • passwd:123456

    然后新建数据库

     数据库建好后开始把本地数据库中的数据传到远程服务器

     

    11.6.pycharm远程调试代码

    (1)Tools-->>Deployment-->>Configuration

    (2)Connect和Mappings设置

     

     设置好后点“Test SFTP connection”,连接到数据库,然后把项目代码上次到远程数据库

    Tools-->>Deployment-->>Configuration-->>Upload to MxShop

    (3)服务器运行项目

    python manage.py runserver 0.0.0.0:8000

    发现报错

     settings里面必须设置允许的HOST,数据库里面HOST也要设置为服务器的ip

    ALLOWED_HOSTS = ['*']
    复制代码
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'mxshop',        #数据库名字
            'USER': 'root',          #账号
            'PASSWORD': '123456',    #密码
            'HOST': '47.93.198.159',     #IP
            'PORT': '3306',          #端口
            #这里引擎用innodb(默认myisam)
            #因为后面第三方登录时,要求引擎为INNODB
            # 'OPTIONS':{'init_command': 'SET storage_engine=INNODB'},    #按照课程会报错,改为
            "OPTIONS":{"init_command":"SET default_storage_engine=INNODB;"}
        }
    }
    复制代码

    设置完后把settings文件同步到服务器中

    再运行项目,就可以正常访问了

     (4)pycharm远程调试代码

    pycharm 的interpreter设置为服务器虚拟环境的python ,这样相当于在服务器上运行项目了

    然后就会把服务器虚拟环境中的文件全部拷贝到本地

     

    点“ok”后,还会加载一些东西,耐心等待一会,完成后

     设置Host 0.0.0.0   端口  8000

     

     pycharm上运行项目,相当于在服务器上运行项目了

  • 相关阅读:
    强化学习——Q-learning算法
    嵌入(embedding)层的理解
    福昕PDF电子文档处理套装软件中文企业版9.01
    奇异值分解(SVD)原理与在降维中的应用
    C++ Primer 笔记——迭代器
    Windows Internals 笔记——线程局部存储区
    C/C++中二进制与文本方式打开文件的区别
    C++ Primer 笔记——固有的不可移植的特性
    C++ Primer 笔记——union
    C++ Primer 笔记——嵌套类 局部类
  • 原文地址:https://www.cnblogs.com/linyuhong/p/9948409.html
Copyright © 2020-2023  润新知