社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

聊聊 Python 自动化脚本部署服务器全流程(详细)

Python程序员 • 4 年前 • 307 次点击  

1. 前言

日常编写的 Python 自动化程序,如果在本地运行稳定后,就可以考虑将它部署到服务器,结合定时任务完全解放双手

但是,由于自动化程序与平台兼容性有关联,有一些依赖库在服务器运行需要做特殊处理

本篇文章以一段 Selenium 编写的 Python 自动化程序,聊聊脚本部署服务器的详细过程

2. 操作步骤

以 CentOS 服务器为例

2-1  安装桌面环境

PS:如果已经安装,可以跳到下一步

我们需要先安装一个桌面环境「 以 GNOME 为例 」,设置以图形模式启动,并开启图形界面

# 安装 GNOME 桌面环境
yum groupinstall -y "GNOME Desktop"

# 设置以图形模式启动
systemctl set-default graphical.target  

# 开启图形界面
startx

2-2  安装配置远程桌面

以最常见的 VNC 为例

首先,在服务器上安装 VNC Server,并设置登录密码

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

# 设置登录密码,用于vnc viewer登录密码
vncpasswd

然后,启动 VNC Server,并开启对应的端口号

# 开启VNC服务
systemctl start vncserver@:1
# 设置开机自启
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

安装完成之后,发现使用 Root 用户启动 Chrome 浏览器失败PS:服务器 Chrome 浏览器不支持直接使用,需要以 --no-sandbox 参数启动

# 以--no-sandbox方式启动Chrome浏览器
# 方式一:命令行启动
/usr/bin/google-chrome-stable --no-sandbox

# 方式二:修改Chrome浏览器快捷图标的启动方式
# 启动方式:--no-sandbox

2-4  配置 Chrome Driver 及授权

在官网下载 Chrome 浏览器对应版本的 Chrome Driver

下载地址:

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

解压后,上传到服务器的「 usr/bin 」目录下

最后,对 chromedriver 文件授予可执行的权限

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

# 授予可执行的权限
[root@localhost bin]# sudo chmod +x chromedriver 

2-5  可视化运行测试

将自动化脚本上传到服务器,设置以有头模式运行

注意:由于服务器的 Chrome 需要配置以 no-sandbox 模式启动,因此自动化脚本需要添加设置属性

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)

「 有头模式 」测试运行正常后,就可以开启「 无头模式 」,编写定时任务,将自动化脚本与定时任务关联上

3. 最后

文中以 Selenium 自动化脚本部署服务器的步骤流程进行了阐述

需要指出的是,服务器上的可视化调试测试确实很有必要,它可以帮助我们提前定位兼容性问题



微软于年初推出了自己的Python教程,我们将其汉化提供给大家,欢迎大家收藏关注哦~(已经汉化完成的20集,我们日更1集,未完成部分我们尽快更新


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/110651