目录 一、准备工作-服务器1、先准备一个服务器(以阿里云为例子)2、开通服务端口号访问权限 二、准备工作-Xshell登录服务器1、xshell基本登录操作2、xftp基本操作
先准备一个云服务器,比如阿里云服务器新人免费使用3个月 , 或者腾讯云服务器,又或者华为云服务器都可以,但是提醒注意下,新用户的首单资格优惠力度最大,所以最好在一年有活动的时候买,比如618或者双十一,当然免费的话最好月初的时候开始试用
注意注意:可能我是不熟悉,走了一个坑,如果你在一个月的月底开始试用3个月的话,那么那一个月就算用掉了,所以建议在月初的时候开始试用,薅羊毛获得最大时长;因为比如我就是5月22号试用的,到7月31号就到期了,这时候其实已经少试用了20多天了~~ ;所以记得问下客服,如果现在开始试用,云服务器到期的具体时间点
购买服务器后,登录到这里,然后重置密码,然后强制重启
快捷跳到后台-跳到这个控制台也可以选择对应产品跳到过来
可能这个时候大多数小白和我一样没啥概念,反正就先有个认识,这三种服务器的类型分类如下,而我们免费3个月的是云服务器ECS
,所以点击这个进到对应后台
又比如腾讯云服务器,这里也有三种分类服务器,比如我第一次使用的是轻量应用服务器
,所以点这个进到对应后台,没啥概念的小白的我,反正就先这样~
点击实例,如果没有显示你拥有的服务器,则地址位置看下是哪个区域,然后进行选择下
安全组-管理规则-手动添加对应端口,和授权对象ip
; 这里的意思是比如你要在服务器上启动一个服务比如http:0.0.0.1:4000/test , 想要别人能通过你的服务器外网ip访问到的话,你就得把端口权限打开Xshell/Xftp下载地址 ,简言之,Xshell负责环境代码部署,Xftp负责文件或代码的同步与传输,搭配使用更方便
下载安装好后,如下,Xftp和Xshell的区别:我们在Xftp上的操作,在Xshell同样可以,只是Xftp通过可视化界面和点击、拖拽等方式可以实现文件上传/下载/删除/重命名/移动等,而Xshell则需要通过敲击命令的方式来实现;简言之,Xshell负责环境部署,Xftp负责文件或代码的同步与传输
cd /optwget https://nodejs.org/dist/v16.15.0/node-v16.15.0-linux-x64.tar.xztar -vxf node-v16.15.0-linux-x64.tar.xzmv node-v16.15.0-linux-x64 nodejs
文件传输程序
,它能帮助用户安全地在Unix系统和Windows系统上进行快速的文件传输任务
,并且它可对文件列表进行可视化展示,更符合Windows用户的使用习惯git不熟悉的话,部署还需要麻烦些,可以加vsjyjy 备注:CSDN交流群
小白第一次x学习使用推荐这种方式吧
样例代码代码https://github.com/Shirmay1/MoreMoreLearn , 文章所有代码开源在git上,csdn下载资源如果显示收费请到git上开源下
先在xsheel上命令创建一个目录data,专门用来存代码
cd /mkdir data
打开xftp,上传代码到服务器/data目录下
然后在xshell界面操作cd /data目录下,ls查看当前目录下的文件,然后python3运行目标python文件,如下正常运行
如果我们要让他一直持续运行到后台,并且定时启动呢,nohup python3 crawl_news.py >/dev/null 2>&1 &
,开个定时脚本,并logger.add('crawl_news.log', encoding='utf-8')
可以存储日志文件,loguru日志库学习
logger.add('crawl_news.log', encoding='utf-8')scheduler = BlockingScheduler(timezone='Asia/Shanghai')scheduler.add_job(list_main, 'cron', hour=2, minute=30, args=(), max_instances=100, misfire_grace_time=360)scheduler.start()
如图,就成功部署好一个python爬虫脚本了,通过scheduler每天定时启动,ps -ef | grep crawl_news
搜索包含crawl_news的后台进程,如图进程号3562
127.0.0.1
改成对应的外网地址# -*- coding: utf-8 -*- # @Time : 2023/7/2# @Author: sy# @公众号: 逆向OneByOne# @desc: 部署python flask的接口调用测试; vsjyjy 注:CSDN交流from flask import Flask, requestfrom loguru import loggerlogger.add('flask_api.log', encoding='utf-8')app = Flask(__name__)@app.route("/get_ip", methods=['get'])def get_ip(): ip = request.remote_addr logger.info(f"ip is {ip}") return f"your ip is {ip}"if __name__ == '__main__': app.run(host="0.0.0.0", port=8444, debug=True)
nohup python3 flask_api.py >/dev/null 2>&1 &
代码https://github.com/Shirmay1/MoreMoreLearn,express用法 , 先启动express的js服务,然后python尝试调用
# -*- coding: utf-8 -*- # @Time : 2023/7/2# @Author: sy# @公众号: 逆向OneByOne# @desc: express接口调用案例import requestsfrom loguru import loggerlogger.add('express_api.log', encoding='utf-8')lat_lng = { "lng": 120.5811424828, "lat": 31.3010678543, "Se": "inner", "num": 12}url = f"Http://127.0.0.1:8444/lj_enc"resp = requests.post(url, data=lat_lng, timeout=10)logger.success(f"req_response {resp.text}")
xftp上传部署文件
启动服务,我们在xshell上面,先node express_api.js看看有没有报错,测试下报错的话安装相关模块,
打开测试下,服务器正常打印日志,然后python脚本运行下,正常返回数据,说明没接口调通,如果失败,看下服务器端口权限是否打开
正式部署,用PM2部署js , pm2 start express_api.js --max-memory-restart200M
(使用 --max-memory-restart 选项指定内存阈值) pm2
工作区
,通过git add命令是到暂存区
, 通过git commit命令是到本地仓库
,通过git push是到线上远程仓库
安装下载与用户名密码配置, git安装下载
本地点击git bash后输入以下命令,配置用户名/密码,红色部分换成自己对应的
Shirmay
Shirmay@qqqqq.com
在你刚刚新建的远程仓库,克隆线上远程仓库, 建议通过ssh的连接方式登录,参考该文档目录十二ssh登录配置操作 , 按文档将sshkey复制到线上配置即完成第一步
本地新建一个空文件夹,记得GitHub先建一个仓库,然后点击code这里复制ssh命令,然后打开git bash窗口输入命令:git clone git@github.com:Shirmay1/MoreMoreLearn.git
,即可完成远程仓库克隆到本地的操作
git忽略 pycache 和 .pyc文件
在文件目录下新建.gitignore文件, 文件内容添加**/pycache,这样可以把文件夹中的__pycache__文件夹忽略,并且子文件夹中的__pycache__也一并忽略
如果意外的已经通过git上传了那些文件的话,可以本地使用命令删除
rm -rf 文件git rm --cached 文件
常用命令
直接启动运行js : node app2.js
pm2需要全局安装npm install -g pm2 , pm2
启动进程/应用 pm2 start app2.js
重新启动进程/应用 pm2 restart app2
重新启动所有进程/应用 pm2 restart all
列出所有进程/应用 pm2 list
查看某个进程/应用具体情况 pm2 describe app2
结束进程/应用 pm2 stop app2
结束所有进程/应用 pm2 stop all
删除进程/应用 pm2 delete app2
删除所有进程/应用 pm2 delete all
查看pm2的日志 pm2 logs
查看某个进程/应用的日志,使用 pm2 logs www
查看进程/应用的资源消耗情况 pm2 monit
重命名进程/应用 pm2 start app2.js --name aaa
来源地址:https://blog.csdn.net/weixin_43411585/article/details/131494668
--结束END--
本文标题: 爬虫小白入门在服务器上-部署爬虫或者开服务接口并供给他人访问
本文链接: https://lsjlt.com/news/430760.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0