<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          聊聊 Python 自動(dòng)化腳本部署服務(wù)器全流程(詳細(xì))

          共 2984字,需瀏覽 6分鐘

           ·

          2021-03-16 12:19


          點(diǎn)擊上方“AirPython”,選擇“加為星標(biāo)

          第一時(shí)間關(guān)注 Python 原創(chuàng)干貨!


          1. 前言

          大家好,我是安果!

          日常編寫的 Python 自動(dòng)化程序,如果在本地運(yùn)行穩(wěn)定后,就可以考慮將它部署到服務(wù)器,結(jié)合定時(shí)任務(wù)完全解放雙手

          但是,由于自動(dòng)化程序與平臺(tái)兼容性有關(guān)聯(lián),有一些依賴庫(kù)在服務(wù)器運(yùn)行需要做特殊處理

          本篇文章以一段 Selenium 編寫的 Python 自動(dòng)化程序,聊聊腳本部署服務(wù)器的詳細(xì)過程

          2. 操作步驟

          以 CentOS 服務(wù)器為例

          2-1  安裝桌面環(huán)境

          PS:如果已經(jīng)安裝,可以跳到下一步

          我們需要先安裝一個(gè)桌面環(huán)境「  GNOME 為例 」,設(shè)置以圖形模式啟動(dòng),并開啟圖形界面

          # 安裝 GNOME 桌面環(huán)境
          yum groupinstall -y "GNOME Desktop"

          # 設(shè)置以圖形模式啟動(dòng)
          systemctl set-default graphical.target  

          # 開啟圖形界面
          startx

          2-2  安裝配置遠(yuǎn)程桌面

          以最常見的 VNC 為例

          首先,在服務(wù)器上安裝 VNC Server,并設(shè)置登錄密碼

          # 安裝vnc server
          yum install tigervnc-server -y

          # 設(shè)置登錄密碼,用于vnc viewer登錄密碼
          vncpasswd

          然后,啟動(dòng) VNC Server,并開啟對(duì)應(yīng)的端口號(hào)

          # 開啟VNC服務(wù)
          systemctl start vncserver@:1
          # 設(shè)置開機(jī)自啟
          systemctl enable vncserver@:1    

          # 查看VNC服務(wù)的端口
          netstat -lnpt|grep Xvnc

          # 開啟端口號(hào)
          firewall-cmd --add-port=5901/tcp --permanent
          firewall-cmd --reload

          最后,下載 VNC Viewer,使用「 IP 地址 + 端口號(hào) + 登錄密碼 」遠(yuǎn)程連接服務(wù)器

          下載地址:

          https://www.realvnc.com/en/connect/download/viewer/

          PS:VNC Server 顯式指定 IP 地址 + 端口號(hào)

          2-3  安裝 Chrome 瀏覽器

          服務(wù)器默認(rèn)安裝的瀏覽器為 FireFox,Chrome 瀏覽器需要自己手動(dòng)安裝

          # 下載最新的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 用戶啟動(dòng) Chrome 瀏覽器失敗PS:服務(wù)器 Chrome 瀏覽器不支持直接使用,需要以 --no-sandbox 參數(shù)啟動(dòng)

          # 以--no-sandbox方式啟動(dòng)Chrome瀏覽器
          # 方式一:命令行啟動(dòng)
          /usr/bin/google-chrome-stable --no-sandbox

          # 方式二:修改Chrome瀏覽器快捷圖標(biāo)的啟動(dòng)方式
          # 啟動(dòng)方式:--no-sandbox

          2-4  配置 Chrome Driver 及授權(quán)

          在官網(wǎng)下載 Chrome 瀏覽器對(duì)應(yīng)版本的 Chrome Driver

          下載地址:

          http://chromedriver.storage.googleapis.com/index.html

          解壓后,上傳到服務(wù)器的「 usr/bin 」目錄下

          最后,對(duì) chromedriver 文件授予可執(zhí)行的權(quán)限

          [root@localhost xh]# cd /usr/bin

          # 授予可執(zhí)行的權(quán)限
          [root@localhost bin]# sudo chmod +x chromedriver 

          2-5  可視化運(yùn)行測(cè)試

          將自動(dòng)化腳本上傳到服務(wù)器,設(shè)置以有頭模式運(yùn)行

          注意:由于服務(wù)器的 Chrome 需要配置以 no-sandbox 模式啟動(dòng),因此自動(dòng)化腳本需要添加設(shè)置屬性

          option = webdriver.ChromeOptions()

          # 以無頭模式運(yùn)行
          #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)

          「 有頭模式 」測(cè)試運(yùn)行正常后,就可以開啟「 無頭模式 」,編寫定時(shí)任務(wù),將自動(dòng)化腳本與定時(shí)任務(wù)關(guān)聯(lián)上

          3. 最后

          文中以 Selenium 自動(dòng)化腳本部署服務(wù)器的步驟流程進(jìn)行了闡述

          需要指出的是,服務(wù)器上的可視化調(diào)試測(cè)試確實(shí)很有必要,它可以幫助我們提前定位兼容性問題

          如果你覺得文章還不錯(cuò),請(qǐng)大家 點(diǎn)贊、分享、留言 下,因?yàn)檫@將是我持續(xù)輸出更多優(yōu)質(zhì)文章的最強(qiáng)動(dòng)力!


          留言送書

          本周贈(zèng)書:《Django開發(fā)入門與項(xiàng)目實(shí)戰(zhàn)
          介紹:本書重點(diǎn)闡述了Python Web開發(fā)框架Django在企業(yè)開發(fā)中的應(yīng)用,從Web基礎(chǔ)知識(shí)的鋪墊,到Django框架的基本使用,以及與Web相關(guān)的各種功能組件的使用,都進(jìn)行了全面的講解,再配合項(xiàng)目實(shí)戰(zhàn),讓讀者全面學(xué)習(xí)并掌握Django框架各個(gè)方面的細(xì)節(jié)操作,并能在第一時(shí)間上手企業(yè)項(xiàng)目開發(fā)


          PS:中獎(jiǎng)名單將在交流群公布,可以掃描上面二維碼,備注【交流群】,加入技術(shù)交流群!



          ??分享、點(diǎn)贊、在看,給個(gè)三連擊唄!
          瀏覽 70
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久人妻熟女中文字幕av蜜芽 | 男女啪啪18秘 免费网站 | 天天日天天综合 | 99*精品全部 | 日韩视频高清无码 |