Django REST framework+Vue 打造生鲜超市(十)

十一、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上运行项目,相当于在服务器上运行项目

posted @ 2021-02-25 00:29  公众号海哥python  阅读(71)  评论(0编辑  收藏  举报