動機
如上所訴,要是有一個很方便調試遠程服務器的方法,豈不美哉。通過PyCharm我們可以很方便地實現遠程調試,下面詳細介紹下PyCharm這個牛叉的功能。
使用遠程解釋器
默認情況下我們在本地開發Python程序時,使用的是本地的Python解釋器,如果你安裝了virtualenv或者pyenv的話,還可以選擇這些虛擬環境。而使用Pycharm的專業版,則還可以選擇使用遠程Linux機器上的解釋器。下面就來介紹下使用遠程解釋器的步驟。
添加遠程部署
打開pycharm,tools-->Deployment-->Configuration
點擊左邊“+”添加遠程服務器,隨便起個名字,選擇SFTP
配置connection
配置Mappings
配置Excluded Paths(可選)
最后點擊OK即可
再次打開部署選項,可以發現現在可以直接部署代碼到服務器了,也可以直接下載帶代碼到本地,同時自動上傳(Automatic Upload)是默認勾選的,我一般會把它去掉,防止一些本地測試代碼上傳上去
新增一個文件,查看deployment 選項,這時候就可以上傳到遠程服務器了
添加遠程解釋器
遠程部署僅僅只是同步和拷貝文件,要真正實現遠程調試還需要配置遠程解釋器
設置頁面找到“Project Interpreter” --> 設置-->Add
選擇“SSH Interpreter” --> "Existing server configuration" --> 選擇剛才創建的部署配置,使用‘'Create“或者”Move“ 都OK
點擊下一步,這時會進行連接遠程服務器,稍等一會,會出現以下界面,稍微配置下,點擊“Finish”即可
最后使用遠程解釋器,點擊“OK”,返回到項目界面,等待同步完成即可
遠程調試
這里根據自己的具體項目情況而定,我這里是 Flask+阿里云+nginx+運行腳本 的一個例子
新增一個 run configuration
運行腳本代碼如下,這里使用了8000的端口
Host要配置為0.0.0.0
nginx 配置8000 端口
server { listen 8000 ; listen [::]:8000 ; server_name _; root /usr/share/nginx/html; access_log /var/log/nginx/access_8000.log main; error_log /var/log/nginx/error_8000.log; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }要是使用阿里云,還需要安全組開放8000 端口 斷點運行
出現上圖所示的時候,恭喜你,你已經可以斷點調試遠程服務器了
我們打一個斷點,然后試著訪問一個API服務: xx.xx.xx.xx:8000/api/pages/b…
完美斷上
補充說明
不建議在正式服務器使用這個功能,可以在測試服務器使用
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答