新聞中心
本文轉(zhuǎn)載自微信公眾號「AirPython」,作者星安果。轉(zhuǎn)載本文請聯(lián)系A(chǔ)irPython公眾號。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比七里河網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式七里河網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務覆蓋七里河地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。
1. 前言
大家好,我是安果!
日常編寫的 Python 自動化程序,如果在本地運行穩(wěn)定后,就可以考慮將它部署到服務器,結(jié)合定時任務完全解放雙手
但是,由于自動化程序與平臺兼容性有關(guān)聯(lián),有一些依賴庫在服務器運行需要做特殊處理
本篇文章以一段 Selenium 編寫的 Python 自動化程序,聊聊腳本部署服務器的詳細過程
2. 操作步驟
以 CentOS 服務器為例
2-1 安裝桌面環(huán)境
PS:如果已經(jīng)安裝,可以跳到下一步
我們需要先安裝一個桌面環(huán)境「 以 GNOME 為例 」,設(shè)置以圖形模式啟動,并開啟圖形界面
- # 安裝 GNOME 桌面環(huán)境
- yum groupinstall -y "GNOME Desktop"
- # 設(shè)置以圖形模式啟動
- systemctl set-default graphical.target
- # 開啟圖形界面
- startx
2-2 安裝配置遠程桌面
以最常見的 VNC 為例
首先,在服務器上安裝 VNC Server,并設(shè)置登錄密碼
- # 安裝vnc server
- yum install tigervnc-server -y
- # 設(shè)置登錄密碼,用于vnc viewer登錄密碼
- vncpasswd
然后,啟動 VNC Server,并開啟對應的端口號
- # 開啟VNC服務
- systemctl start vncserver@:1
- # 設(shè)置開機自啟
- systemctl enable vncserver@:1
- # 查看VNC服務的端口
- netstat -lnpt|grep Xvnc
- # 開啟端口號
- firewall-cmd --add-port=5901/tcp --permanent
- firewall-cmd --reload
最后,下載 VNC Viewer,使用「 IP 地址 + 端口號 + 登錄密碼 」遠程連接服務器
下載地址:
https://www.realvnc.com/en/connect/download/viewer/
PS:VNC Server 顯式指定 IP 地址 + 端口號
2-3 安裝 Chrome 瀏覽器
服務器默認安裝的瀏覽器為 FireFox,Chrome 瀏覽器需要自己手動安裝
- # 下載最新的Chrome瀏覽器
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
- # 安裝瀏覽器
- yum install google-chrome-stable_current_x86_64.rpm
- # 檢查Chrome瀏覽器的版本
- google-chrome -version
安裝完成之后,發(fā)現(xiàn)使用 Root 用戶啟動 Chrome 瀏覽器失敗PS:服務器 Chrome 瀏覽器不支持直接使用,需要以 --no-sandbox 參數(shù)啟動
- # 以--no-sandbox方式啟動Chrome瀏覽器
- # 方式一:命令行啟動
- /usr/bin/google-chrome-stable --no-sandbox
- # 方式二:修改Chrome瀏覽器快捷圖標的啟動方式
- # 啟動方式:--no-sandbox
2-4 配置 Chrome Driver 及授權(quán)
在官網(wǎng)下載 Chrome 瀏覽器對應版本的 Chrome Driver
下載地址:
http://chromedriver.storage.googleapis.com/index.html
解壓后,上傳到服務器的「 usr/bin 」目錄下
最后,對 chromedriver 文件授予可執(zhí)行的權(quán)限
- [root@localhost xh]# cd /usr/bin
- # 授予可執(zhí)行的權(quán)限
- [root@localhost bin]# sudo chmod +x chromedriver
2-5 可視化運行測試
將自動化腳本上傳到服務器,設(shè)置以有頭模式運行
注意:由于服務器的 Chrome 需要配置以 no-sandbox 模式啟動,因此自動化腳本需要添加設(shè)置屬性
- option = webdriver.ChromeOptions()
- # 以無頭模式運行
- #option.add_argument('headless')
- option.add_argument('no-sandbox')
- option.add_argument('disable-dev-shm-usage')
- option.add_experimental_option('useAutomationExtension', False)
- option.add_experimental_option('excludeSwitches', ['enable-automation'])
- browser = webdriver.Chrome(chrome_options=option)
「 有頭模式 」測試運行正常后,就可以開啟「 無頭模式 」,編寫定時任務,將自動化腳本與定時任務關(guān)聯(lián)上
3. 最后
文中以 Selenium 自動化腳本部署服務器的步驟流程進行了闡述
需要指出的是,服務器上的可視化調(diào)試測試確實很有必要,它可以幫助我們提前定位兼容性問題
網(wǎng)站名稱:聊聊 Python 自動化腳本部署服務器全流程
路徑分享:http://fisionsoft.com.cn/article/dhoeodc.html


咨詢
建站咨詢
