第一次连接腾讯云服务器的记录与经验

目录

    • 租借服务器
      • [1. 阿里云服务器](#1. 阿里云服务器)
      • [2. 腾讯云服务器](#2. 腾讯云服务器)
    • 远程连接
      • [1. 踩坑](#1. 踩坑)
      • [2. 解决](#2. 解决)
      • [3. 项目执行](#3. 项目执行)
    • 外部访问
      • [1. 允许外部访问](#1. 允许外部访问)
      • [2. 挂载](#2. 挂载)

有一个比赛需要演示一下我的前后端程序,因此需要保持程序处于运行状态,且用cpolar的话需要保证电脑处于联网状态,然而我并没有买宿舍的校园网,因此需要租用一个服务器来运行

租借服务器

比较热门的有阿里云云服务器ECS和腾讯云服务器CVM。

这种小项目用云服务器ECS或轻量应用服务器。我这里用的是轻量应用服务器

1. 阿里云服务器

  1. 打开阿里云云服务器ECS,点击免费试用,可以选择试用的产品,这里可以选云服务器ECS和轻量应用服务器
  2. 我发现这里的云服务器ECS试用额度是3个月,但是我只要用一个下午,感觉好浪费。至于为什么不选轻量应用服务器,我也不知道为什么当时没有选

2. 腾讯云服务器

  1. 打开轻量应用服务器,应该会有免费试用的选项,我已经用过了,找不到在哪里了
  2. 我直接按默认创建了实例,因为我是Windows程序,所以选择了宝塔Windows
  3. 用户名和密码是在站内信里,我找半天

远程连接

1. 踩坑

  1. 我想用vscode连接,但是我不知道Windows原来不支持ssh(应该吧),白搞半天一直失败

  2. 重装成Ubuntu,但是第二天忘记了,在设置装了可选应用的OpenSSH想再试试Windows,发现已经改成Linux,就有给卸载了,结果ssh用不了了,又重新下回来搞半天

  3. 用公钥创建了ssh密钥,绑定了实例,然后进行VSCode的ssh连接,但还是连接失败了

2. 解决

  1. 试了一下登录免密连接(TAT),不用改用户名就能连上

  2. 本来想摆烂,但是强迫症犯了,想解决这个问题。

  3. 尝试在腾讯云控制界面直接登录,选择登录,连接协议选择终端连接(SSH)------密码连接还是失败,重置密码还是不行。后来又重置了下,又可以了,可能是密码输入错了...

  4. 选择密钥连接,当时不懂,选择的是.pub后缀的公钥,连接失败,应该选择没有后缀的私有密钥

  5. 注意免密连接和终端连接的用户名是不一样的,推荐使用用户名ubuntu,而非root

  6. 在配置一下config文件就可以在VSCode用 SSH 连接了

  7. 重装系统后如果VSCode连接失败,就把C:\Users\用户名\.ssh文件夹的known_hosts和·known_hosts.old`删掉,再重新连接

3. 项目执行

  1. 安装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
  2. 创建项目环境

    bash 复制代码
    conda create -n testenv python=3.11

    要输入两次accept接受条款

  3. 配置 SSH 密钥

    步骤1:确保已配置 SSH 密钥

    bash 复制代码
    # 检查是否有 SSH 密钥
    ls -la ~/.ssh/id_rsa*
    
    # 如果没有,生成新的
    ssh-keygen -t rsa -b 4096 -C "邮箱"

    步骤2:添加公钥到 GitHub

    复制下面的输出结果

    bash 复制代码
    cat ~/.ssh/id_rsa.pub
    
    # 然后:
    # 1. 登录 GitHub → Settings → SSH and GPG keys
    # 2. 点击 "New SSH key"
    # 3. 粘贴公钥

    步骤3:克隆项目

    HTTPS 或 SSH 都可以

    bash 复制代码
    git 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是一个终端复用器,它可以创建一个独立的会话,这个会话不会因为终端关闭而消失

  1. 安装tmux

    bash 复制代码
    sudo apt update && sudo apt install tmux
  2. tmux常用命令

    创建会话

    bash 复制代码
    # 创建一个名为"my_flask"的新会话
    tmux new -s my_flask
    
    # 在这个新会话中启动你的程序
    python app.py         

    临时退出会话与恢复会话。退出后程序依然会运行

    bash 复制代码
    # 临时退出会话
    Ctrl + B,松开两个按键再按 D
    
    # 恢复会话
    tmux attach -t my_flask

    查看现有会话

    bash 复制代码
    tmux ls

    删除会话

    bash 复制代码
    # 删除指定的会话
    tmux kill-session -t my_flask
    
    # 删除所有会话
    tmux kill-server

相关推荐
senijusene2 小时前
用C语言制作一个简易HTTP服务器:实现手机商城用户认证与搜索
服务器·c语言·http
papaofdoudou3 小时前
QEMU和KVMTOOL在GPA(IOVA)和HVA映射方面的异同
linux·运维·服务器
Xzq2105093 小时前
部分重要协议或技术(DNS,ICMP,NAT,代理服务器)
运维·服务器·网络
xier_ran4 小时前
【第二周】RAG与Agent实战12:LangChain访问阿里云嵌入模型
阿里云·自然语言处理·langchain·云计算·agent·rag
艾莉丝努力练剑4 小时前
文件描述符fd:跨进程共享机制
java·linux·运维·服务器·开发语言·c++
工藤新一¹4 小时前
《操作系统》第一章(1)
java·服务器·前端
勇闯逆流河4 小时前
【Linux】linux进程概念(冯洛伊曼体系、操作系统、进程详解)
linux·运维·服务器
小杰帅气4 小时前
网络层IP理解
服务器·网络·tcp/ip
Felven5 小时前
麒麟信安系统忘记root密码解决说明
linux·运维·服务器