返回顶部

08 | Django REST framework+Vue 生鲜超市 ——pycharm 远程代码调试

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

服务器环境搭建

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

阿里云安全组配置

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

ssh连接

 

yum install openssh-server -y

service sshd restart

#xshell连不上,SSH服务端不允许密码验证。
#服务端开启密码验证的方法:

vim /etc/ssh/sshd_config

把PasswordAuthentication项为yes

重启服务

service sshd restart

  

 

mysql安装

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 'mysql' WITH GRANT OPTION;

FLUSH PRIVILEGES;

#6.设置mysql密码
进入mysql:
set password =password('mysql');     #密码mysql
flush privileges;
View Code

 

pip和python3.6的安装

 

wget https://bootstrap.pypa.io/get-pip.py  --no-check-certificate

sudo python get-pip.py
安装pip
首先安装这两个

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
安装python3.6

 

   

 

虚拟环境安装

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
View Code

navicat远程连接传输数据

 

用navicat远程连接到数据库

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

然后新建数据库

 

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

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

发现报错

 

 

tings里面必须设置允许的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;"}
    }
}
View Code

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

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

 

(4)pycharm远程调试代码

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

 

 

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

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

 设置Host 0.0.0.0   端口  8000

 

 

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

 

 

posted @ 2018-10-28 16:51  Crazymagic  阅读(481)  评论(0编辑  收藏  举报