1. 程式人生 > >十一、pycharm 遠程代碼調試

十一、pycharm 遠程代碼調試

export 存在 安全組 三方登錄 需要 ssh服務 本地數據庫 cer python3

---恢復內容開始---

十一、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
技術分享圖片

卸載某個虛擬環境

deactivate vue_shop   # 先關閉虛擬環境

rmvirtualenv vue_shop

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上運行項目,相當於在服務器上運行項目了

技術分享圖片

+

十一、pycharm 遠程代碼調試