《Vue + React + Java + PHP 项目部署到服务器完整指南》

前后端项目部署到服务器完整指南(Vue + Java、React + Java、PHP)

一、部署前需要掌握的知识

1. 服务器是什么

服务器本质上是一台长期联网的 Linux 电脑。

常见云服务器:

推荐配置:

类型 推荐
系统 Ubuntu 22.04
CPU 2核
内存 4GB
磁盘 40GB SSD
带宽 5M

二、服务器基础环境安装

推荐系统:

bash 复制代码
Ubuntu 22.04

三、连接服务器

Windows:

推荐工具:

Mac/Linux:

bash 复制代码
ssh root@服务器IP

四、Linux 基础命令

bash 复制代码
pwd
ls
cd
mkdir
rm -rf
cp
mv
vim

五、安装 Nginx

官网:

https://nginx.org/

安装:

bash 复制代码
sudo apt update
sudo apt install nginx -y

启动:

bash 复制代码
systemctl start nginx

开机启动:

bash 复制代码
systemctl enable nginx

查看状态:

bash 复制代码
systemctl status nginx

浏览器访问:

bash 复制代码
http://服务器IP

六、部署 Vue + Java 项目

架构:

text 复制代码
Vue(前端)
 ↓
Nginx
 ↓
Java SpringBoot
 ↓
MySQL

七、Vue 项目部署

1. 打包项目

bash 复制代码
npm run build

生成:

text 复制代码
dist/

2. 上传 dist

上传到:

bash 复制代码
/var/www/vue-project

3. 配置 Nginx

nginx 复制代码
server {
    listen 80;

    server_name 域名;

    location / {
        root /var/www/vue-project;
        index index.html;

        try_files $uri $uri/ /index.html;
    }

    location /api {
        proxy_pass http://127.0.0.1:8080;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

八、Java SpringBoot 部署

官网:

https://spring.io/projects/spring-boot

1. 打包

bash 复制代码
mvn clean package

2. 上传 jar

bash 复制代码
/opt/project/app.jar

3. 安装 Java

bash 复制代码
apt install openjdk-17-jdk -y

查看版本:

bash 复制代码
java -version

启动:

bash 复制代码
nohup java -jar app.jar > app.log 2>&1 &

查看日志:

bash 复制代码
tail -f app.log

九、React + Java 部署

React 和 Vue 部署方式类似。

1. 打包 React

bash 复制代码
npm run build

生成:

text 复制代码
build/

2. Nginx 配置

nginx 复制代码
server {
    listen 80;

    server_name 域名;

    location / {
        root /var/www/react-project;
        index index.html;

        try_files $uri /index.html;
    }

    location /api {
        proxy_pass http://127.0.0.1:8080;
    }
}

十、PHP 项目部署

官网:

安装 PHP

bash 复制代码
apt install php php-fpm php-mysql -y

查看:

bash 复制代码
php -v

配置 Nginx + PHP

nginx 复制代码
server {
    listen 80;

    server_name 域名;

    root /var/www/php-project/public;

    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }
}

十一、MySQL 安装

官网:

https://www.mysql.com/

安装:

bash 复制代码
apt install mysql-server -y

启动:

bash 复制代码
systemctl start mysql

登录:

bash 复制代码
mysql -u root -p

创建数据库:

sql 复制代码
CREATE DATABASE test;

十二、域名解析

购买域名:

解析:

text 复制代码
A记录 → 服务器IP

十三、HTTPS 配置

推荐:

Let's Encrypt

官网:

https://certbot.eff.org/

安装:

bash 复制代码
apt install certbot python3-certbot-nginx -y

生成证书:

bash 复制代码
certbot --nginx

十四、常见问题

1. 页面刷新 404

nginx 复制代码
try_files $uri /index.html;

2. 跨域问题

后端:

java 复制代码
@CrossOrigin

3. 502 错误

原因:

  • Java 没启动
  • 端口错误
  • Nginx 配置错误

十五、企业级推荐架构

text 复制代码
CDN
 ↓
Nginx
 ↓
Vue/React
 ↓
SpringBoot
 ↓
Redis
 ↓
MySQL

十六、推荐学习资源


十七、推荐学习路线

text 复制代码
Linux
 ↓
Nginx
 ↓
MySQL
 ↓
Vue/React 打包
 ↓
Java/PHP 部署
 ↓
Docker
 ↓
CI/CD
 ↓
K8S
相关推荐
凡人叶枫9 分钟前
Effective C++ 条款41:了解隐式接口和编译期多态
java·开发语言·c++·effective c++
凡人叶枫14 分钟前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
AC赳赳老秦23 分钟前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
chushiyunen30 分钟前
java中的路径处理、左右斜杠
java·开发语言·python
java_cj38 分钟前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
yyxx4121231 小时前
上海企业如何选择专业的钉钉服务商
java·大数据·人工智能·钉钉
jay神1 小时前
基于 FastAPI + Vue 的宠物领养管理系统
前端·vue.js·python·毕业设计·fastapi·宠物
一杯奶茶¥1 小时前
水果销售网站 CRM客户信息管理系统 超市管理系 酒店管理系统 健身房管理系统 在线音乐网站 校园招聘系统
java·vue.js·spring boot·mysql·spring·java项目
森G1 小时前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt
重生之后端学习1 小时前
Java入门
java·开发语言·职场和发展