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;
pip和python3.6的安装
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
sudo python get-pip.py
首先安装这两个 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
虚拟环境安装
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
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;"} } }
设置完后把settings文件同步到服务器中
再运行项目,就可以正常访问了
(4)pycharm远程调试代码
pycharm 的interpreter设置为服务器虚拟环境的python ,这样相当于在服务器上运行项目了
然后就会把服务器虚拟环境中的文件全部拷贝到本地
点“ok”后,还会加载一些东西,耐心等待一会,完成后
设置Host 0.0.0.0 端口 8000
pycharm上运行项目,相当于在服务器上运行项目了