云服务器从零到可运行项目完整流程备忘

13 阅读2分钟

以下流程用于从创建云服务器实例开始,到 MySQL 数据库可用、数据与代码上传并成功运行程序的完整操作备忘,适合你后期重新启用云服务器时快速复现环境。


一、创建云服务器实例(ECS / CVM / EC2)

1. 基本配置

  • 操作系统

    • 推荐:Ubuntu 20.04 / 22.04 LTSCentOS 7
  • 实例规格

    • 开发 / 轻量任务:1核2G / 2核4G
  • 存储

    • 系统盘:40–50GB(SSD)
  • 网络

    • 分配公网 IP(后续远程连接必需)
  • 安全组

    • 放行端口:

      • 22(SSH)
      • 3306(MySQL,如需远程连接)
      • 你程序使用的端口(如 8000 / 8080)

2. 登录服务器

ssh root@<公网IP>

二、服务器基础环境初始化(只需一次)

1. 系统更新

apt update && apt upgrade -y   # Ubuntu
# 或
yum update -y                 # CentOS

2. 安装常用工具

apt install -y git wget unzip vim

3. 安装 Python(如未自带)

apt install -y python3 python3-pip
python3 --version

三、安装与配置 MySQL

1. 安装 MySQL

apt install -y mysql-server
systemctl start mysql
systemctl enable mysql

2. 初始化安全配置(建议执行)

mysql_secure_installation
  • 设置 root 密码
  • 禁用匿名用户
  • 禁止远程 root 登录(可选)

3. 登录 MySQL

mysql -u root -p

四、创建数据库与用户

-- 创建数据库
CREATE DATABASE mydb DEFAULT CHARSET utf8mb4;

-- 创建用户
CREATE USER 'myuser'@'%' IDENTIFIED BY 'strong_password';

-- 授权
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%';
FLUSH PRIVILEGES;

如需远程访问 MySQL:

  • 修改 /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 0.0.0.0
  • 重启 MySQL:
systemctl restart mysql

五、本地数据上传到云数据库

方式 1:SQL 文件导入(推荐)

本地导出

mysqldump -u root -p mydb > mydb.sql

上传到服务器

scp mydb.sql root@<公网IP>:/root/

云端导入

mysql -u myuser -p mydb < mydb.sql

方式 2:CSV 文件导入

LOAD DATA LOCAL INFILE '/path/data.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ','
IGNORE 1 LINES;

六、上传本地代码到云服务器

方式 1:SCP(最常用)

scp -r ./project root@<公网IP>:/root/project

方式 2:Git(推荐长期维护)

git clone <repo_url>

七、配置并运行代码

1. 安装 Python 依赖

cd /root/project
pip3 install -r requirements.txt

2. 配置数据库连接(示例)

DB_HOST = '127.0.0.1'
DB_PORT = 3306
DB_USER = 'myuser'
DB_PASSWORD = 'strong_password'
DB_NAME = 'mydb'

3. 运行程序

python3 app.py

八、后台运行程序(防止 SSH 断开)

方式 1:nohup

nohup python3 app.py > app.log 2>&1 &

方式 2:screen(推荐)

screen -S myapp
python3 app.py
# Ctrl+A+D 退出但不中断

九、常见检查清单(出问题优先看)

  • MySQL 是否运行:
systemctl status mysql
  • 端口是否监听:
netstat -tlnp
  • 防火墙是否放行:
ufw status
  • 程序日志:
tail -f app.log

十、下次重新使用云服务器的最小步骤

  1. 启动实例
  2. SSH 登录
  3. 启动 MySQL
  4. 启动程序(screen / nohup)

建议

  • 把本流程保存为 Markdown 或笔记
  • 关键账号密码放在 .env 或密码管理器
  • 定期对数据库做 mysqldump 备份