一、準(zhǔn)備工作-服務(wù)器
1、先準(zhǔn)備一個服務(wù)器(以阿里云為例子)
-
1、先準(zhǔn)備一個云服務(wù)器,比如阿里云服務(wù)器新人免費(fèi)使用3個月 , 或者騰訊云服務(wù)器,又或者華為云服務(wù)器都可以,
但是提醒注意下,新用戶的首單資格優(yōu)惠力度最大,所以最好在一年有活動的時候買,比如618或者雙十一,當(dāng)然免費(fèi)的話最好月初的時候開始試用
-
2、注意注意:可能我是不熟悉,走了一個坑,如果你在一個月的月底開始試用3個月的話,那么那一個月就算用掉了,所以建議在月初的時候開始試用,薅羊毛獲得最大時長;因?yàn)楸热缥揖褪?月22號試用的,到7月31號就到期了,這時候其實(shí)已經(jīng)少試用了20多天了~~ ;
所以記得問下客服,如果現(xiàn)在開始試用,云服務(wù)器到期的具體時間點(diǎn)
-
3、購買服務(wù)器后,登錄到這里,然后重置密碼,然后強(qiáng)制重啟
-
4、快捷跳到后臺-跳到這個控制臺也可以選擇對應(yīng)產(chǎn)品跳到過來
-
可能這個時候大多數(shù)小白和我一樣沒啥概念,反正就先有個認(rèn)識,這三種服務(wù)器的類型分類如下,而我們
免費(fèi)3個月的是云服務(wù)器ECS
,所以點(diǎn)擊這個進(jìn)到對應(yīng)后臺 -
又比如騰訊云服務(wù)器,這里也有三種分類服務(wù)器,比如我第一次使用的是
輕量應(yīng)用服務(wù)器
,所以點(diǎn)這個進(jìn)到對應(yīng)后臺,沒啥概念的小白的我,反正就先這樣~ -
5、點(diǎn)擊實(shí)例,如果沒有顯示你擁有的服務(wù)器,則地址位置看下是哪個區(qū)域,然后進(jìn)行選擇下
2、開通服務(wù)端口號訪問權(quán)限
- 1、開通可以訪問的端口號,只有開通了端口號,才能正常連接;在
安全組-管理規(guī)則-手動添加對應(yīng)端口,和授權(quán)對象ip
; 這里的意思是比如你要在服務(wù)器上啟動一個服務(wù)比如http:0.0.0.1:4000/test , 想要別人能通過你的服務(wù)器外網(wǎng)ip訪問到的話,你就得把端口權(quán)限打開
2、如下開端口、到https://www.ip138.com/可以看到你的IP - 手動添加規(guī)則,注意指定的端口,和授權(quán)可以訪問的ip即可,然后保存
- 那騰訊云輕量應(yīng)用服務(wù)器也是在添加規(guī)則的位置,設(shè)定端口和授權(quán)ip
二、準(zhǔn)備工作-Xshell登錄服務(wù)器
-
1、Xshell/Xftp下載地址 ,簡言之,
Xshell負(fù)責(zé)環(huán)境代碼部署,Xftp負(fù)責(zé)文件或代碼的同步與傳輸,搭配使用更方便
-
2、下載安裝好后,如下,Xftp和Xshell的區(qū)別:我們在Xftp上的操作,在Xshell同樣可以,只是Xftp通過可視化界面和點(diǎn)擊、拖拽等方式可以實(shí)現(xiàn)文件上傳/下載/刪除/重命名/移動等,而Xshell則需要通過敲擊命令的方式來實(shí)現(xiàn);簡言之,
Xshell負(fù)責(zé)環(huán)境部署,Xftp負(fù)責(zé)文件或代碼的同步與傳輸
1、xshell基本登錄操作
- 1、雙擊打開xshell,登錄linux系統(tǒng)等服務(wù)器操作的軟件,文件>新建會話>如下連接對應(yīng)服務(wù)器>按提示即可連上
- 2、登錄上xshell服務(wù)器后,試著輸入python3,可以發(fā)現(xiàn)服務(wù)器自帶python3,ctrl+d退出python;接著你可以cd /opt 目錄下,去下載一些常用的解壓安裝部署
- 3、比如在linux服務(wù)器上安裝node環(huán)境
cd /opt wget https://nodejs.org/dist/v16.15.0/node-v16.15.0-linux-x64.tar.xz tar -vxf node-v16.15.0-linux-x64.tar.xz mv node-v16.15.0-linux-x64 nodejs
2、xftp基本操作
- 1、Xftp是一個用于Windows系統(tǒng)平臺上的FTP、STFP協(xié)議
文件傳輸程序
,它能幫助用戶安全地在Unix系統(tǒng)和Windows系統(tǒng)上進(jìn)行快速的文件傳輸任務(wù)
,并且它可對文件列表進(jìn)行可視化展示,更符合Windows用戶的使用習(xí)慣 - 2、雙擊打開后,依然是新建會話連上服務(wù)器
- 3、連上登錄好后,就可以實(shí)現(xiàn)windows系統(tǒng)和服務(wù)器Unix系統(tǒng)的文件傳輸了,只需要選中指定文件進(jìn)行拖拽即可
三、部署代碼到服務(wù)器上
- 1、當(dāng)然可以通過git的方式部署同步 ,如果你覺得xftp的方法麻煩的話,就用這個git的方法同步更新,
git不熟悉的話,部署還需要麻煩些,可以加vsjyjy 備注:CSDN交流群
- 2、但今天就簡單介紹下臨時幾個文件的部署,以及常用命令等,所以就用xftp同步上線傳文件即可,
小白第一次x學(xué)習(xí)使用推薦這種方式吧
- 3、當(dāng)然還有其它方式部署爬蟲,比如Scrapy等
1、部署一個python爬蟲腳本在服務(wù)器上定時運(yùn)行等
-
1、樣例代碼代碼https://github.com/Shirmay1/MoreMoreLearn , 文章所有代碼開源在git上,
csdn下載資源如果顯示收費(fèi)請到git上開源下
-
2、先在xsheel上命令創(chuàng)建一個目錄data,專門用來存代碼
cd / mkdir data
-
3、打開xftp,上傳代碼到服務(wù)器/data目錄下
-
4、然后在xshell界面操作cd /data目錄下,ls查看當(dāng)前目錄下的文件,然后python3運(yùn)行目標(biāo)python文件,如下正常運(yùn)行
-
5、如果我們要讓他一直持續(xù)運(yùn)行到后臺,并且定時啟動呢,
nohup python3 crawl_news.py >/dev/null 2>&1 &
,開個定時腳本,并logger.add('crawl_news.log', encoding='utf-8')
可以存儲日志文件,loguru日志庫學(xué)習(xí)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()
-
6、如圖,就成功部署好一個python爬蟲腳本了,通過scheduler每天定時啟動,
ps -ef | grep crawl_news
搜索包含crawl_news的后臺進(jìn)程,如圖進(jìn)程號3562
2、部署一個python服務(wù)接口他人調(diào)用訪問等
- 1、樣例代碼 ,本地直接運(yùn)行打開http://127.0.0.1:8444/get_ip , 服務(wù)器上運(yùn)行,則把對應(yīng)的
127.0.0.1
改成對應(yīng)的外網(wǎng)地址# -*- coding: utf-8 -*- # @Time : 2023/7/2 # @Author: sy # @公眾號: 逆向OneByOne # @desc: 部署python flask的接口調(diào)用測試; vsjyjy 注:CSDN交流 from flask import Flask, request from loguru import logger logger.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)
- 2、xftp拖文件到對應(yīng)服務(wù)器上
- 3、將文件部署到服務(wù)器上,然后后臺持續(xù)運(yùn)行,
nohup python3 flask_api.py >/dev/null 2>&1 &
- 4、然后如下,打開服務(wù)器公網(wǎng)的接口如下訪問,此時已經(jīng)返回正常數(shù)據(jù),說明部署成功 ; 如果你的訪問不起來的話,可能你服務(wù)器安全組-規(guī)則端口沒有打開權(quán)限
3、部署一個js服務(wù)接口他人調(diào)用訪問等
-
1、代碼https://github.com/Shirmay1/MoreMoreLearn,express用法 , 先啟動express的js服務(wù),然后python嘗試調(diào)用
# -*- coding: utf-8 -*- # @Time : 2023/7/2 # @Author: sy # @公眾號: 逆向OneByOne # @desc: express接口調(diào)用案例 import requests from loguru import logger logger.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}")
-
2、xftp上傳部署文件
-
3、啟動服務(wù),我們在xshell上面,先node express_api.js看看有沒有報錯,測試下報錯的話安裝相關(guān)模塊,
-
4、打開測試下,服務(wù)器正常打印日志,然后python腳本運(yùn)行下,正常返回?cái)?shù)據(jù),說明沒接口調(diào)通,如果失敗,看下服務(wù)器端口權(quán)限是否打開
-
5、正式部署,用PM2部署js ,
pm2 start express_api.js --max-memory-restart200M
(使用 --max-memory-restart 選項(xiàng)指定內(nèi)存閾值) pm2
4、啟動一個企業(yè)微信群告警的方式
- 1、企業(yè)微信建一個群聊,然后添加一個群機(jī)器人
- 2、代碼https://github.com/Shirmay1/MoreMoreLearn
5、通過git的方式部署
- 1、GitHub/Gitee/Gitlab平臺:都可以,選擇一個注冊賬號即可,平常寫的代碼是在
工作區(qū)
,通過git add命令是到暫存區(qū)
, 通過git commit命令是到本地倉庫
,通過git push是到線上遠(yuǎn)程倉庫
-
2、安裝下載與用戶名密碼配置, git安裝下載
-
3、本地點(diǎn)擊git bash后輸入以下命令,配置用戶名/密碼,紅色部分換成自己對應(yīng)的
- 顯示當(dāng)前的配置:git config --list
- 設(shè)置用戶名: git config --global user.name
Shirmay
- 設(shè)置用戶名郵箱: git config --global user.email
Shirmay@qqqqq.com
- 系統(tǒng)用戶級別設(shè)置:git config --global
-
4、在你剛剛新建的遠(yuǎn)程倉庫,克隆線上遠(yuǎn)程倉庫, 建議通過ssh的連接方式登錄,參考該文檔目錄十二ssh登錄配置操作 , 按文檔將sshkey復(fù)制到線上配置即完成第一步
-
5、本地新建一個空文件夾,記得github先建一個倉庫,然后點(diǎn)擊code這里復(fù)制ssh命令,然后打開git bash窗口輸入命令:
git clone git@github.com:Shirmay1/MoreMoreLearn.git
,即可完成遠(yuǎn)程倉庫克隆到本地的操作 -
6、git忽略 pycache 和 .pyc文件
-
在文件目錄下新建.gitignore文件, 文件內(nèi)容添加**/pycache,這樣可以把文件夾中的__pycache__文件夾忽略,并且子文件夾中的__pycache__也一并忽略
-
如果意外的已經(jīng)通過git上傳了那些文件的話,可以本地使用命令刪除
rm -rf 文件 git rm --cached 文件
-
-
7、常用命令
- git status:查看本地工作區(qū)與本地倉庫代碼的差別
- git diff 文件名: 比較本地與線上倉庫代碼差異點(diǎn)
- git restore 文件名: 將本地文件還原成本地倉庫的文件
- git add 文件名:將本地文件上傳到暫存區(qū),git add xx命令可以將xx文件添加到暫存區(qū),如果有很多改動可以通過 git add -A .來一次添加所有改變的文件。注意 -A 選項(xiàng)后面還有一個句點(diǎn)。 git add -A表示添加所有內(nèi)容, git add . 表示添加新文件和編輯過的文件不包括刪除的文件; git add -u 表示添加編輯或者刪除的文件,不包括新添加的文件
- git commit -m ‘說明’:將暫存區(qū)代碼提交到本地倉庫
- git push -u origin:將本地倉庫提交到線上倉庫
- git remote -v:查看本地分支情況
- git reset --hard: 回退到上一個版本
- git pull origin master:從線上倉庫拉取最新代碼
- git push origin master:將本地倉庫的代碼推到線上
- 如下是本地常用的操作命令步驟,一般先git pull origin master , 然后再git push
四、常用操作命令
1、linux常用命令:
- pwd:查看當(dāng)前目錄
- ls : 查看目錄下的文件 , 或者 ll 或者 la
- ps -ef | grep .js : 搜索包含.js的進(jìn)程
- ps -ef | grep python : 搜索包含python的進(jìn)程
- ps aux|grep python |awk ‘{print $2}’|xargs kill -9 : 殺掉包含python的進(jìn)程
- nohup python epub_add.py >/dev/null 2>&1 & : 后臺啟python文件進(jìn)程
- mv: 移動文件/文件重命名
- mkdir : 創(chuàng)建一個目錄,-p用戶創(chuàng)建多層目錄
- rm -rf:強(qiáng)制刪除文件夾
- df -h :查看磁盤空間
- free -h : 查看內(nèi)存使用
- lsof -i:1110 查看1110端口占用 (yum install lsof -y)
2、windows常用命令
- wmic process where name=“python.exe” list brief : 查看使用python的進(jìn)程
- netstat -ano |findstr “9110” : 看到端口占用
- taskkill -f /pid 110108 : 殺掉進(jìn)程
3、node常用命令
-
直接啟動運(yùn)行js : node app2.js
-
pm2需要全局安裝npm install -g pm2 , pm2
-
啟動進(jìn)程/應(yīng)用 pm2 start app2.js
-
重新啟動進(jìn)程/應(yīng)用 pm2 restart app2
-
重新啟動所有進(jìn)程/應(yīng)用 pm2 restart all
-
列出所有進(jìn)程/應(yīng)用 pm2 list
-
查看某個進(jìn)程/應(yīng)用具體情況 pm2 describe app2
-
結(jié)束進(jìn)程/應(yīng)用 pm2 stop app2
-
結(jié)束所有進(jìn)程/應(yīng)用 pm2 stop all
-
刪除進(jìn)程/應(yīng)用 pm2 delete app2
-
刪除所有進(jìn)程/應(yīng)用 pm2 delete all
-
查看pm2的日志 pm2 logs
-
查看某個進(jìn)程/應(yīng)用的日志,使用 pm2 logs www
-
查看進(jìn)程/應(yīng)用的資源消耗情況 pm2 monit文章來源:http://www.zghlxwxcb.cn/news/detail-583799.html
-
重命名進(jìn)程/應(yīng)用 pm2 start app2.js --name aaa文章來源地址http://www.zghlxwxcb.cn/news/detail-583799.html
到了這里,關(guān)于爬蟲小白入門在服務(wù)器上-部署爬蟲或者開服務(wù)接口并供給他人訪問的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!