目录
有一个比赛需要演示一下我的前后端程序,因此需要保持程序处于运行状态,且用cpolar的话需要保证电脑处于联网状态,然而我并没有买宿舍的校园网,因此需要租用一个服务器来运行
租借服务器
比较热门的有阿里云云服务器ECS和腾讯云服务器CVM。
这种小项目用云服务器ECS或轻量应用服务器。我这里用的是轻量应用服务器
1. 阿里云服务器
- 打开阿里云云服务器ECS,点击
免费试用,可以选择试用的产品,这里可以选云服务器ECS和轻量应用服务器 - 我发现这里的云服务器ECS试用额度是3个月,但是我只要用一个下午,感觉好浪费。至于为什么不选轻量应用服务器,我也不知道为什么当时没有选
2. 腾讯云服务器
- 打开轻量应用服务器,应该会有免费试用的选项,我已经用过了,找不到在哪里了
- 我直接按默认创建了实例,因为我是Windows程序,所以选择了宝塔Windows
- 用户名和密码是在站内信里,我找半天
远程连接
1. 踩坑
-
我想用vscode连接,但是我不知道Windows原来不支持ssh(应该吧),白搞半天一直失败
-
重装成Ubuntu,但是第二天忘记了,在设置装了可选应用的OpenSSH想再试试Windows,发现已经改成Linux,就有给卸载了,结果ssh用不了了,又重新下回来搞半天
-
用公钥创建了ssh密钥,绑定了实例,然后进行VSCode的ssh连接,但还是连接失败了
2. 解决
-
试了一下
登录的免密连接(TAT),不用改用户名就能连上 -
本来想摆烂,但是强迫症犯了,想解决这个问题。
-
尝试在腾讯云控制界面直接登录,选择
登录,连接协议选择终端连接(SSH)------密码连接还是失败,重置密码还是不行。后来又重置了下,又可以了,可能是密码输入错了... -
选择密钥连接,当时不懂,选择的是
.pub后缀的公钥,连接失败,应该选择没有后缀的私有密钥 -
注意免密连接和终端连接的用户名是不一样的,推荐使用用户名ubuntu,而非root
-
在配置一下config文件就可以在VSCode用 SSH 连接了
-
重装系统后如果VSCode连接失败,就把
C:\Users\用户名\.ssh文件夹的known_hosts和·known_hosts.old`删掉,再重新连接
3. 项目执行
-
安装Miniconda(轻量)
步骤1:下载安装脚本bash# 使用 wget 下载(国内推荐清华源) wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh步骤2:运行安装
bash# 给予执行权限 chmod +x Miniconda3-latest-Linux-x86_64.sh # 运行安装脚本 ./Miniconda3-latest-Linux-x86_64.sh步骤3:安装过程
安装时会询问:
阅读协议:按回车浏览,输入 yes接受
安装位置:默认 ~/miniconda3,直接回车
初始化:询问是否初始化,输入 yes
步骤4:生效配置
bash# 重新加载配置文件 source ~/.bashrc # 验证安装 conda --version -
创建项目环境
bashconda create -n testenv python=3.11要输入两次
accept接受条款 -
配置 SSH 密钥
步骤1:确保已配置 SSH 密钥
bash# 检查是否有 SSH 密钥 ls -la ~/.ssh/id_rsa* # 如果没有,生成新的 ssh-keygen -t rsa -b 4096 -C "邮箱"步骤2:添加公钥到 GitHub
复制下面的输出结果
bashcat ~/.ssh/id_rsa.pub # 然后: # 1. 登录 GitHub → Settings → SSH and GPG keys # 2. 点击 "New SSH key" # 3. 粘贴公钥步骤3:克隆项目
HTTPS 或 SSH 都可以
bashgit clone ...
接下来就可以正常使用了
外部访问
1. 允许外部访问
步骤一:配置端口
bash
# 在app.py加上这样一句
if __name__ == '__main__':
app.run(host='0.0.0.0', port=端口号(一般是5000), debug=True)
步骤二:配置防火墙规则
找到实例(服务器),点击防火墙 -> 添加规则
应用类型:自定义
来源:全部IPv4和IPv6地址
协议:TCP
端口:5000
策略:允许
步骤三:访问
访问地址:你的服务器公网IP:5000
2. 挂载
我直接在VScode终端运行,退出后程序也终止了,把这事给忘了
tmux是一个终端复用器,它可以创建一个独立的会话,这个会话不会因为终端关闭而消失
-
安装tmux
bashsudo apt update && sudo apt install tmux -
tmux常用命令
创建会话
bash# 创建一个名为"my_flask"的新会话 tmux new -s my_flask # 在这个新会话中启动你的程序 python app.py临时退出会话与恢复会话。退出后程序依然会运行
bash# 临时退出会话 Ctrl + B,松开两个按键再按 D # 恢复会话 tmux attach -t my_flask查看现有会话
bashtmux ls删除会话
bash# 删除指定的会话 tmux kill-session -t my_flask # 删除所有会话 tmux kill-server