不安装宝塔怎么部署项目?

服务器

不安装宝塔面板,你仍然可以手动部署项目。以下是常见的 Linux 服务器环境下(以 CentOS、Ubuntu 为例)手动部署 Web 项目的通用方法,适用于前后端分离项目(如 Vue + Spring Boot、React + Node.js 等)或 PHP 项目。


🧱 一、准备环境

1. 安装操作系统

推荐使用:

  • CentOS 7/8
  • Ubuntu 20.04 / 22.04

🔧 二、安装基础运行环境

1. 安装 Nginx(反向X_X & 静态资源服务)

# Ubuntu:
sudo apt update
sudo apt install nginx

# CentOS:
sudo yum install epel-release
sudo yum install nginx

启动并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

2. 安装数据库(MySQL 或 MariaDB)

MySQL 示例:

# Ubuntu:
sudo apt install mysql-server
sudo mysql_secure_installation

# CentOS:
sudo yum install mariadb-server mariadb
sudo systemctl start mariadb
sudo mysql_secure_installation

3. 安装后端语言环境

Java(Spring Boot 项目):

sudo apt install openjdk-11-jdk   # Ubuntu
sudo yum install java-11-openjdk  # CentOS

Node.js(Node.js 项目):

# 使用 nvm 安装多个版本更方便
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 18

Python(Flask/Django):

sudo apt install python3-pip      # Ubuntu
sudo yum install python3          # CentOS

PHP(PHP 项目):

# Ubuntu:
sudo apt install php php-fpm php-mysql

# CentOS:
sudo yum install php php-fpm php-mysqlnd

📁 三、上传和部署项目

1. 前端项目(Vue/React/Angular)

构建为静态文件(如 dist/),上传到服务器,例如:

scp -r dist user@your_server_ip:/var/www/html/myapp

配置 Nginx 指向该目录:

server {
    listen 80;
    server_name your_domain;

    location / {
        root /var/www/html/myapp;
        index index.html;
        try_files $uri $uri/ =404;
    }
}

重启 Nginx:

sudo systemctl restart nginx

2. 后端项目(Java/Spring Boot)

打包为 jar 包,上传到服务器:

nohup java -jar your-app.jar > app.log 2>&1 &

可使用 systemd 创建守护进程。


3. 后端项目(Node.js)

上传代码后:

npm install
npm run start   # 或 pm2 start app.js

建议使用 PM2 管理 Node.js 进程。


4. 后端项目(Python Flask/Django)

使用 Gunicorn + Nginx 反代:

pip install gunicorn
gunicorn myapp:app

Nginx 配置反向X_X:

location / {
    proxy_pass http://127.0.0.1:8000;
}

5. 后端项目(PHP)

上传代码到 /var/www/html/project,配置 Nginx:

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}

🔐 四、配置防火墙和域名绑定

开放端口:

sudo ufw allow 80,443/tcp     # Ubuntu
sudo firewall-cmd --add-port=80/tcp --permanent && firewall-cmd --reload  # CentOS

绑定域名:

在域名服务商添加 A 记录指向服务器 IP。


🔄 五、配置 HTTPS(可选)

使用 Let’s Encrypt 免费证书:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

✅ 总结:手动部署优势

优点 说明
更轻量 不依赖面板工具
更灵活 可自由定制服务配置
更安全 减少第三方软件漏洞风险
提升技能 学习 Linux 和 Web 架构

如果你告诉我你要部署的项目类型(如 Vue + Spring Boot、Django、WordPress 等),我可以给出更具体的步骤!

是否需要我为你写一个完整的部署脚本或教程?

未经允许不得转载:CDNK博客 » 不安装宝塔怎么部署项目?