在轻量服务器上运行自己编写的程序,通常包括以下几个步骤。这里以常见的 Linux 系统(如 Ubuntu、CentOS)为例,介绍通用流程:
一、准备工作
-
购买并登录轻量服务器
- 购买阿里云、腾讯云、华为云等平台的轻量应用服务器(Lighthouse)。
- 获取公网 IP、用户名(通常是
root或ubuntu)、密码或 SSH 密钥。 - 使用 SSH 登录:
ssh root@你的服务器IP(如果是 Ubuntu 系统,可能是
ssh ubuntu@IP)
-
更新系统
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian # 或 sudo yum update -y # CentOS/RHEL
二、上传你的程序代码
有几种方式可以将你本地编写的程序传到服务器:
方法 1:使用 scp 命令上传文件
scp 本地文件路径 用户名@服务器IP:远程路径
例如:
scp myapp.py root@123.45.67.89:/root/
方法 2:使用 git 克隆代码仓库
如果你把代码托管在 GitHub/Gitee 等平台:
git clone https://github.com/yourname/yourproject.git
方法 3:直接在服务器编辑(适合小脚本)
使用 nano、vim 等编辑器直接编写:
nano myapp.py
三、安装运行环境
根据你编写的程序语言,安装对应环境。
示例 1:Python 程序
# 安装 Python3 和 pip
sudo apt install python3 python3-pip -y
# 安装依赖(如果有 requirements.txt)
pip3 install -r requirements.txt
# 运行程序
python3 myapp.py
示例 2:Node.js 程序
# 安装 Node.js(推荐使用 nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 18
# 安装依赖并运行
npm install
node app.js
示例 3:Java 程序
sudo apt install openjdk-17-jdk -y
javac HelloWorld.java
java HelloWorld
示例 4:Go 程序
# 下载并安装 Go
wget https://go.dev/dl/go1.22.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
# 编译并运行
go build myapp.go
./myapp
四、让程序后台持续运行
默认情况下,关闭终端会导致程序终止。要让它一直运行,可使用以下方法:
方法 1:使用 nohup
nohup python3 myapp.py &
日志会保存在 nohup.out 中。
方法 2:使用 screen 或 tmux
# 安装 screen
sudo apt install screen -y
# 创建会话
screen -S myapp
python3 myapp.py
# 按 Ctrl+A, 再按 D 键脱离会话
# 恢复会话:screen -r myapp
方法 3:使用 systemd(推荐用于生产)
创建服务文件 /etc/systemd/system/myapp.service:
[Unit]
Description=My Custom App
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/myapp
ExecStart=/usr/bin/python3 myapp.py
Restart=always
[Install]
WantedBy=multi-user.target
然后启用服务:
sudo systemctl daemon-reexec
sudo systemctl enable myapp
sudo systemctl start myapp
sudo systemctl status myapp
五、开放端口(如需网络访问)
如果程序监听某个端口(如 5000、3000、8080),需要:
- 在服务器控制台配置 安全组,放行对应端口。
- 确保防火墙允许该端口:
sudo ufw allow 5000 # Ubuntu # 或 sudo firewall-cmd --add-port=5000/tcp --permanent # CentOS sudo firewall-cmd --reload
六、查看日志和调试
# 查看程序输出
tail -f nohup.out
# 或查看 systemd 日志
journalctl -u myapp.service -f
总结步骤
| 步骤 | 操作 |
|---|---|
| 1 | SSH 登录服务器 |
| 2 | 上传代码(scp/git) |
| 3 | 安装运行环境(Python/Node.js/Java/Go) |
| 4 | 安装依赖(pip/npm/maven/go mod) |
| 5 | 后台运行(nohup/screen/systemd) |
| 6 | 配置安全组放行端口 |
| 7 | 查看日志确保正常运行 |
✅ 小贴士:
- 推荐使用
systemd管理长期运行的服务。 - 使用
.env文件管理敏感信息(不要上传到代码中)。 - 定期备份重要数据。
如果你告诉我你用的是什么语言写的程序(比如 Python、Node.js 等),我可以给你更具体的命令示例。
CLOUD云知道