第一部分
我是一名计算机科学与技术专业大三的学生,这是我第一次使用阿里云服务器,因为学校每天都要填体温,所以我在想我可不可以做个脚本来实现每天自动填报体温,然后机缘巧合下发现了这个活动,不得不说,用了服务器之后我就发现了服务器的魅力,虽然一开始我并不知道怎么使用,但是通过查阅资料,和同学讨论,还是成功解决了问题。下面我会介绍一下我在服务器上运行脚本的过程。
第二部分
首先连接服务器(本人使用的Xshell),可以参考b站的视频,视频很多我就不推荐了
1.安装Linux的宝塔页面
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
2.在宝塔的软件商店中搜索python项目管理器,找到后在版本管理中下载你所需要的python版本(因为默认是python2的),所以需要手动下载python3版本。
3.python下载完毕后,需要查找python下载的位置,在宝塔终端连接你的服务器,然后查找python的位置,
find / -name “python”
以我的python位置为例,我刚刚下载的python3.7在/root/.pyenv/versions/3.7.4/bin/ 目录下
4.建立软连接(快捷方式)
在/usr/bin/中建立python3和pip3的快捷方式,分别指向/root/.pyenv/versions/3.7.4/bin/python3.7和/root/.pyenv/versions/3.7.4/bin/pip3.7。
ln -s /root/.pyenv/versions/3.7.4/bin/python3.7 /usr/bin/python3
ln -s /root/.pyenv/versions/3.7.4/bin/pip3.7 /usr/bin/pip3
其实这里应该是建立python的系统环境变量才对,而不是只建立一个软链接。但centos已经默认安装了python2,所以这里只建立一个软链接就行。
5.Selenium安装
pip3 install selenium
6.安装最新的Chrome
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
7.查看Chrome的版本,安装对应的chromedriver驱动
google-chrome –version 可以查看当前的Chrome的版本
chromedriver驱动安装,我建议的是先下载到自己的电脑上,然后上传到服务器,下载地址:
https://chromedriver.storage.googleapis.com/index.html
!!!切记要安装跟chrome版本一致的,而且是Linux系统的,我在这里就吃了一个大亏,后来问了好多同学才知道我下载错系统了。
驱动下载完成后,一般上传到Google所在目录下,/opt/google/chrome
8.接下来就是部署自己的python程序了,在宝塔的计划任务中设置好时间,定时运行自己的程序就可以了。但是这里有一个问题,自己电脑上运行没有问题的程序到服务器就报错了,我查阅了好多资料,最后添加了几条语句,发现可以正常运行了,非常的激动。语句如下:
from selenium.webdriver.chrome.options import Options
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
options.add_argument('--disable-dev-shm-usage')
这里的path是chrome driver所在的位置
path = "/opt/google/chrome/chromedriver"
web = Chrome(executable_path=path, options=options)
第三部分
这次的服务器之旅可以说受益匪浅,在部署python环境的时候我几经崩溃,但是随着问题的解决,我发现我喜欢上了服务器运维中解决问题的感觉,我的心里承受能力也大大增强了,我还学会了团队合作,明白了团队合作的意义,非常感谢阿里云能给我这次体验的机会,我觉得我已经爱上了Linux,虽然没有Windows那种图形化界面方便,但是就是没有理由的喜欢上了Linux,我会不断的学习服务器的知识,继续使用阿里云服务器!