云主机怎么部署项目?

HCRM技术_小炮 云主机 2026-06-13 6 0

部署云主机(云服务器)项目通常涉及几个关键步骤,虽然不同项目(如 Java、Python、Node.js、PHP 或静态网站)的具体命令不同,但核心流程是一致的。

云主机怎么部署项目

下面是一份通用、从零开始的部署指南,你可以根据自己的项目类型调整具体命令。

第一阶段:准备与连接

1、购买云主机

- 选择一家云服务商(如阿里云、腾讯云、华为云、AWS、Azure)。

- 选择操作系统:推荐Ubuntu 20.04/22.04CentOS 7/8(CentOS 8 已停止维护,Ubuntu 更常用),对于 Windows 项目,选择 Windows Server。

- 选择配置:根据项目规模选择 CPU、内存(如 2核4G 适合小型 Web 应用)。

云主机怎么部署项目

关键操作

- 设置密钥对强密码(建议用密钥对)。

- 在防火墙/安全组中放行需要的端口(见下文)。

2、连接云主机

Windows 用户:使用 Xshell、Putty 或 Windows 自带的 PowerShell。

云主机怎么部署项目

Mac/Linux 用户:直接使用终端。

命令示例(用你的IP替换你的服务器IP):

        ssh root@你的服务器IP

- 如果使用密钥登录,记得先chmod 400 你的密钥.pem,然后ssh -i 你的密钥.pem root@你的服务器IP

第二阶段:环境配置(核心)

根据你的项目类型,安装对应的运行环境。

情况 A:Python/Django/Flask 项目

1. 更新系统包
apt update && apt upgrade -y   # Ubuntu/Debian
yum update -y                # CentOS
2. 安装 Python3 和 pip
apt install python3 python3-pip -y
3. 安装虚拟环境(推荐)
pip3 install virtualenv
4. 安装项目依赖(假设你已经上传了代码,详见第三阶段)
cd /你的项目目录
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
5. 运行项目(测试)
python manage.py runserver 0.0.0.0:8000

情况 B:Node.js/Vue/React 项目

1. 安装 Node.js(使用 nvm 或直接包管理器)
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
apt install -y nodejs
验证
node -v
npm -v
2. 进入项目目录,安装依赖并构建
cd /你的项目目录
npm install
npm run build        # 前端项目会生成 dist 文件夹
对于后端(Express/Koa):npm start

情况 C:Java/Spring Boot 项目

1. 安装 JDK
apt install openjdk-17-jdk -y
java -version
2. 安装 Maven 或 Gradle(可选,或直接上传编译好的 jar/war)
apt install maven -y
3. 运行 jar 包
cd /你的项目目录
nohup java -jar myapp.jar > app.log 2>&1 &

情况 D:PHP 项目(如 WordPress、Laravel)

安装 Nginx/Apache + PHP + MySQL
apt install nginx php-fpm php-mysql php-common -y
配置 Nginx 站点(指向项目目录)
一般需要修改 /etc/nginx/sites-enabled/default

第三阶段:上传项目代码

有几种常见方式:

1、Git 克隆(最推荐)

    # 在云主机上直接 Git clone 你的私有仓库
    # 需要先在服务器上配置 SSH Key 或使用 HTTP 凭据
    git clone 你的仓库地址.git

2、SCP 命令(适合小项目、一次性上传)

本地电脑执行:

    scp -r /本地/项目/文件 root@你的服务器IP:/远程/目标目录/

3、FTP 工具(FileZilla、WinSCP)

图形化界面,直接拖拽上传,需要云主机安装 FTP 服务(如 vsftpd),或直接使用 SFTP(SSH 自带,默认端口22,在 FileZilla 选择 SFTP 协议)。

第四阶段:运行与持久化

直接python app.pynode app.js 运行后,一旦关闭终端程序就会停止,需要用进程管理工具让它后台常驻。

1. 使用screentmux(简单但不够健壮)

screen -S myapp
然后启动你的项目
按 Ctrl+A 然后按 D 脱离会话
screen -r myapp  # 重新连接

2. 使用systemd(推荐,专业)

创建一个服务文件,让项目随系统启动自动运行。

示例:Node.js 项目的 systemd 服务

    vim /etc/systemd/system/myapp.service

写入:

    [Unit]
    Description=My Node.js App
    After=network.target
    [Service]
    ExecStart=/usr/bin/node /你的项目目录/app.js
    WorkingDirectory=/你的项目目录
    Restart=always
    User=root
    # Environment=NODE_ENV=production
    [Install]
    WantedBy=multi-user.target

    systemctl daemon-reload
    systemctl enable myapp   # 设置开机自启
    systemctl start myapp    # 启动
    systemctl status myapp   # 查看状态

3. 使用pm2(专为 Node.js 设计,GitHub 开源)

npm install -g pm2
pm2 start app.js --name myapp
pm2 save
pm2 startup   # 配置开机自启

第五阶段:配置域名、反向代理与HTTPS(必做)

项目默认运行在非标准端口(如 3000、8000、8080),我们需要用Nginx 作为反向代理,将来自 80(HTTP)和 443(HTTPS)的请求转发到你的应用端口,Nginx 可以处理静态文件(如图片、CSS、JS),大幅提升性能。

1、安装 Nginx

    apt install nginx -y

2、配置反向代理

    vim /etc/nginx/sites-available/你的域名.conf

写入(假设你的应用跑在127.0.0.1:8000):

    server {
        listen 80;
        server_name 你的域名.com www.你的域名.com;
        location / {
            proxy_pass http://127.0.0.1:8000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
        # 可选:如果项目有静态文件目录,让 Nginx 直接响应
        location /static/ {
            alias /你的项目目录/static/;
        }
    }

启用站点:

    ln -s /etc/nginx/sites-available/你的域名.conf /etc/nginx/sites-enabled/
    nginx -t     # 测试配置是否正确
    systemctl restart nginx

3、申请 SSL 证书(HTTPS)

强烈建议使用Let‘s Encrypt 的免费证书,使用certbot 一键配置。

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

按照提示输入邮箱,同意协议,Certbot 会自动修改 Nginx 配置并启用 HTTPS。

第六阶段:防火墙与安全

非常重要:不要只开放端口,要最小权限。

1、安全组规则(云服务商控制台)

必须放行22(SSH,建议只允许你当前 IP)、80(HTTP)、443(HTTPS)。

不需要放行:应用的业务端口(如3000800080803306),这些只允许 Nginx 通过127.0.0.1(本地回环)访问,外部不应直接访问。

2、云主机内部防火墙(如 UFW)

    apt install ufw -y
    ufw allow 22/tcp
    ufw allow 80/tcp
    ufw allow 443/tcp
    ufw enable

常见问题与调试技巧

502 Bad Gateway:说明 Nginx 连接不上你的应用,请检查应用是否启动、监听端口是否正确、日志里有无报错。

Connection Refused:应用没启动或防火墙阻止。

查看日志文件

- 应用日志:tail -f /你的项目目录/app.log

- Nginx 日志:tail -f /var/log/nginx/error.log

- 系统日志:journalctl -u myapp.service

端口被占用lsof -i :端口号netstat -tulpn | grep 端口号

购买云主机 -> SSH 连接 -> 安装环境(Python/Node/Java/PHP) 
-> 上传代码(Git/SCP/FTP) -> 创建服务(systemd/pm2/screen) 
-> 安装 Nginx 并配置反向代理 -> 配置 HTTPS(certbot) 
-> 配置安全组(仅开22,80,443) -> 测试访问!

如果你能告诉我你的项目具体是什么语言/框架(Django、Vue、Spring Boot、WordPress),我可以给你更精确、可直接复制粘贴的命令行。

文章摘自:https://idc.huochengrm.cn/zj/26525.html

评论