新人 不会玩服务器,求问几个问题

2021-12-29 23:36:53 +08:00
 amiwrong123

买了一个 150 3 年的腾讯云服务器( 1 核 2g ,Ubuntu Server 18.04.1 LTS 64bit ,50g SSD ),但是现在不怎么会用,主要以前用的都是有界面的 Ubuntu 。第一次用服务器,很多都不会,求大佬指点啦

现在通过 ssh 连上服务器了,也能在上面写代码并运行了(现在 powershell 通过 ssh 连上,并且 vscode 也通过 ssh 连上)。现在我写了一个 需要不停运行的 py 爬虫脚本,它每天定时爬虫,并把爬虫信息发送到我的邮件。在 Windows 上已经测试过 这个脚本,是好用的了。

  1. 第一个问题,如果 Ubuntu 是有界面的,那我直接新开一个 terminal ,然后运行我的 py 脚本,并且一直不关闭这个 terminal ,就实现了我的目的。但现在是无界面的,那么如果我现在通过 Windows 自带的 powershell 来 ssh 登录服务器,然后在 powershell 里 运行我的 py 脚本,但我断开 ssh ,这个 terminal 会关闭的吧?(百度了,好像 nohup 能实现)
  2. 就算解决了这个问题,我以后要是运行了多个不同的脚本,得怎么管理呀,我是要通过 ps 命令来看这些进程吗?比如我想停止某个 一直运行的脚本,修改这个脚本的程序后,再重新运行。
  3. 我这个配置,是不是不建议安装图形界面了?不然太卡了( https://cloud.tencent.com/developer/article/1848352?from=15425 ),毕竟如果有界面的话,我就熟悉多了
  4. Ubuntu 安装 py 包,也都是 pip 一个一个地自己安装的吗,还是有更好的解决方案?我现在 Windows 用的 anaconda 很多包都给我下好了。
  5. 如果有其他好的建议,也可以说下,谢谢各位大佬了
6073 次点击
所在节点    程序员
52 条回复
huyujievip
2021-12-29 23:42:56 +08:00
screen 挺好用
了解一下 python 的 virtualenvwrapper
lscho
2021-12-29 23:47:04 +08:00
1.会
2.你需要进程管理,比如 supervisor
3.不建议
4.不懂,但 anaconda 似乎是跨平台的
5.建议使用 linux 的话,多熟悉非图形界面的操作
fanshaohua
2021-12-29 23:49:23 +08:00
定时任务 crontab?
你想要图形界面的话,crontab-ui 可以考虑一下.
https://github.com/alseambusher/crontab-ui
xuxuxu123
2021-12-29 23:50:52 +08:00
4 、做一份 requirement.txt 文件 需要的时候直接 pip install -r requirement.txt 就可以;
当前 windows 环境的依赖可以通过 pip freeze >requirements.txt 生成 requirement.txt 文件
vhui
2021-12-29 23:50:57 +08:00
推荐学一下 docker
eason1874
2021-12-29 23:54:22 +08:00
1 和 2 的问题就是守护进程,可以用 systemd ,给脚本写一个 service 配置文件,可以自动开机启动和 systemctl start/stop/restart 脚本

3 图形界面就免了,肯定卡

4 包管理不太清楚,如果是为了重复配置,可以把命令写到 bash 文件,每次安装就执行它,不用重复输入
indo
2021-12-29 23:55:32 +08:00
如果只是为了运行一些 py 、js 、ts 的脚本,可以了解一下青龙。
github.com/whyour/qinglong
raycool
2021-12-30 00:09:15 +08:00
第一个问题 建议 看下 tmux
imxieke
2021-12-30 00:12:28 +08:00
screen service systemd 这应该是比较常见的吧
imxieke
2021-12-30 00:14:02 +08:00
还有 supervisor screen 简单 另外三个需要写配置文件 但会很省心
Hider5
2021-12-30 01:16:23 +08:00
GitHub Action 了解一下
zictos
2021-12-30 05:53:07 +08:00
Davic1
2021-12-30 09:21:09 +08:00
可以把你的 python 脚本做成 Linux 的服务, 然后用服务的形式启动.
Lockeysama
2021-12-30 09:26:23 +08:00
Docker 比较爽,迟早用的到,不如早点学,本地开发完,build 个 docker image 推到 docker registry ,或者直接拿 Dockerfile 到服务器上 build 一个,再运行就好了,环境都在 docker 里,不影响宿主机,想搞几个版本就搞几个版本
eoo
2021-12-30 09:31:17 +08:00
PM2 ?
RudyS
2021-12-30 09:33:15 +08:00
docker
systemd
tmux
supervisor
chrond
xiaooloong
2021-12-30 09:46:26 +08:00
装个 apache airflow 来做任务管理?本身就是 python 的,装好后有 web 界面可以操作
shateiel
2021-12-30 09:48:09 +08:00
@eoo 正解
Privileges
2021-12-30 09:59:12 +08:00
学一下 Docker ,配置好环境后扔服务器上跑就行了,定几个 Contab 用 Docker stop start 来管理服务定时运行,解决以上所有问题,服务商给的性能本来就很拉,老老实实用命令行吧
7gugu
2021-12-30 10:08:16 +08:00
嫌麻烦直接宝塔解决就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/825178

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX