个人项目上线全记录——从代码到公网可访问

前言

代码写完了,怎么让别人能在浏览器里打开?
作为一个没有运维经验的独立开发者,我把一台99元的 ECS 变成了线上可访问的产品。
今天不吹概念,全程实操:买服务器、配域名、部署代码、配HTTPS、搞定备案。

一、先看最终架构

用户浏览器
     ↓
 你的域名(https://xxx.com)
     ↓
 Nginx(反向代理 + SSL)
     ↓
 后端(端口 8000)
     ↓
 数据库

就四层,没有微服务,没有K8s,一个人做产品根本用不上那些。

二、买服务器:99元够不够

够。

我用的某云 ECS(通用算力型,2核2G),活动价 99元/年

配置 我的选择 够用吗?
CPU 2核 ✅ 单用户绰绰有余
内存 2G ✅ 跑一个后端+MySQL没问题
硬盘 40G ✅ 存代码+数据库够了
带宽 3M ✅ 个人项目够用
系统 Ubuntu 24.04 ✅ 最省心的选择

注意点:

  • 买的时候选 Ubuntu,别选 Windows Server(贵且慢)
  • 数据盘不用额外买,系统盘 40G 足够
  • 安全组要开放 80(HTTP)和 443(HTTPS)端口,很多人卡在这一步

三、买域名 + DNS 解析

买域名

某云上买域名,首年几块钱到二十几块:

后缀 首年价格 推荐度
.cn ≈ ¥29 ⭐⭐⭐ 国内首选,但要实名
.com ≈ ¥55 ⭐⭐⭐ 国际通用
.top ≈ ¥8 ⭐⭐ 便宜

DNS 解析

买好域名后,去控制台把域名解析到服务器公网IP:

记录类型:A
主机记录:@
记录值:你的服务器公网IP
TTL:默认10分钟

再配一个 www 的 A 记录指向同一个IP。

解析生效:快的几分钟,慢的半小时。

四、部署代码到服务器

方法1:SCP 上传(最简单)

scp -i 你的密钥.pem -r dist/* root@你的IP:/opt/myapp/

方法2:Git 拉取(推荐)

# 服务器上
apt install git -y
git clone https://github.com/你的仓库.git /opt/myapp/

# 之后更新
cd /opt/myapp && git pull

安装依赖

# Python 项目
pip install -r requirements.txt

# Node.js 项目
npm install --production

用 Supervisor 管理进程

不要直接用 python app.py 跑——SSH断开进程就死了。

apt install supervisor -y

# 配置
cat > /etc/supervisor/conf.d/myapp.conf << 'EOF'
[program:myapp]
command=python /opt/myapp/main.py
directory=/opt/myapp
user=root
autostart=true
autorestart=true
stderr_logfile=/var/log/myapp.err.log
stdout_logfile=/var/log/myapp.out.log
EOF

supervisorctl reload
supervisorctl status

看到 RUNNING 就说明服务在跑了,关掉终端也不会死。

五、Nginx 反代 + HTTPS

安装 Nginx

apt install nginx -y

配置反向代理

server {
    listen 80;
    server_name 你的域名.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

搞定 HTTPS(免费)

用 Let’s Encrypt,不要买付费证书:

apt install certbot python3-certbot-nginx -y
certbot --nginx -d 你的域名.com -d www.你的域名.com

全程交互式,跟着提示走就行。成功后:

  • 证书自动续期
  • 访问 https:// 就有小锁了

六、ICP 备案:最坑的一步

国内服务器必须有备案。

流程:

买域名 → 实名认证(1天)
     ↓
提交备案申请(某云控制台)
     ↓
管局审核(5-20天)
     ↓
备案成功

踩坑记录:

  • ❌ 个人备案不能放论坛、评论、支付类功能
  • ❌ 备案期间域名不能访问
  • ✅ 备案通过后要在网站底部放备案号
  • ⏱️ 我自己等了7天,快的话3天

如果不想备案:可以用香港服务器(不用备案)。

七、算笔总账

项目 费用 说明
服务器(某云 ECS) ¥99/年 2核2G
域名 ¥8-29/年 首年价格
HTTPS 证书 ¥0 Let’s Encrypt 免费
Nginx / Supervisor ¥0 开源免费
第一年总计 ≈ ¥107-128

从第二年起,只需要续服务器+域名 ≈ ¥120/年。

一个月不到10块钱,你的代码就从本地跑到了公网。

八、写在最后

一个人做产品,上线其实没那么难:

  1. 买服务器:99元 ECS 足够入门
  2. 买域名:几块钱到二十几块
  3. 部署代码:git pull 和 scp 二选一
  4. 配 Nginx + HTTPS:Let’s Encrypt 免费
  5. 备案:最麻烦但绕不过去

别被"上线"两个字吓到,说到底就是配几个配置文件的事。


点击「云深不知处」查看我的独立开发笔记

更多独立开发实战经验,欢迎关注我。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐