Pycharm遠程調試

動機

  1. 一些bug因爲本地環境和線上環境的不一致可能致使本地沒法復現
  2. 本地依賴和線上依賴版本不一致也能夠致使一些問題
  3. 有時一些bug跟數據相關,本地數據沒法和線上數據一致
  4. 有些三方平臺會驗證服務器的合法性或者異步回調結果,如微信支付,這時候本地沒法測試

如上所訴,要是有一個很方便調試遠程服務器的方法,豈不美哉。經過PyCharm咱們能夠很方便地實現遠程調試,下面詳細介紹下PyCharm這個牛叉的功能。html

添加遠程部署

  1. 打開pycharm,tools-->Deployment-->Configuration

  1. 點擊左邊「+」添加遠程服務器,隨便起個名字,選擇SFTP

  1. 配置connection

  1. 配置Mappingsnginx

  2. 配置Excluded Paths(可選)shell

最後點擊OK便可api

再次打開部署選項,能夠發現如今能夠直接部署代碼到服務器了,也能夠直接下載帶代碼到本地,同時自動上傳(Automatic Upload)是默認勾選的,我通常會把它去掉,防止一些本地測試代碼上傳上去安全

新增一個文件,查看deployment 選項,這時候就能夠上傳到遠程服務器了服務器

添加遠程解釋器

遠程部署僅僅只是同步和拷貝文件,要真正實現遠程調試還須要配置遠程解釋器微信

  1. 設置頁面找到「Project Interpreter」 --> 設置-->Add

  1. 選擇「SSH Interpreter」 --> "Existing server configuration" --> 選擇剛纔建立的部署配置,使用‘’Create「或者」Move「 都OK

  1. 點擊下一步,這時會進行鏈接遠程服務器,稍等一會,會出現如下界面,稍微配置下,點擊「Finish」便可

最後使用遠程解釋器,點擊「OK」,返回到項目界面,等待同步完成便可app

遠程調試

這裏根據本身的具體項目狀況而定,我這裏是Flask+阿里雲+nginx+運行腳本的一個例子異步

  1. 新增一個 run configuration

  1. 運行腳本代碼以下,這裏使用了8000的端口

Host要配置爲0.0.0.0測試

  1. 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 {
        }
    }
複製代碼
  1. 要是使用阿里雲,還須要安全組開放8000 端口
  2. 斷點運行

  1. 出現上圖所示的時候,恭喜你,你已經能夠斷點調試遠程服務器了

咱們打一個斷點,而後試着訪問一個API服務:xx.xx.xx.xx:8000/api/pages/b…

完美斷上

補充說明

不建議在正式服務器使用這個功能,能夠在測試服務器使用

相關文章
相關標籤/搜索