Skip to content

服务器部署指南 ​

购买服务器实例 ​

网上教程很多,这里就不介绍了。

环境安装 ​

Node.js 安装 ​

bash
yum install nodejs

Nginx 安装与配置 ​

安装 Nginx ​

bash
yum install nginx

启动 Nginx 服务 ​

bash
systemctl start nginx.service

Nginx 常用命令 ​

bash
# 停止 Nginx 服务
systemctl stop nginx.service

# 重启 Nginx 服务
systemctl restart nginx.service

# 重新加载 Nginx 配置文件,然后重启 Nginx
systemctl reload nginx.service

# 查看服务状态
systemctl status nginx.service

# 设置开机自启动
systemctl enable nginx.service

# 停止开机自启动
systemctl disable nginx.service

MySQL 安装与配置(CentOS 7.x) ​

安装步骤 ​

bash
# 安装 MySQL 客户端(可选,如已安装可跳过)
yum install mysql

# 安装 MySQL 开发库(可选,如已安装可跳过)
yum install mysql-devel

# 下载 MySQL 官方源
wget http://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

# 安装官方源
rpm -ivh mysql80-community-release-el7-5.noarch.rpm

# 安装 MySQL 社区版服务器
yum install mysql-community-server

注意: 如果已经安装了 MySQL 客户端和开发库,前两个命令可以省略。如果已经添加了 MySQL 官方源,第三个命令也可以省略。

启动和配置 MySQL 服务 ​

bash
# 启动 MySQL 后台服务
systemctl start mysqld

# 设置随系统启动
systemctl enable mysqld

查看 MySQL 服务状态 ​

bash
# 方式一:查看服务状态(active (running) 表示启动成功)
systemctl status mysqld

# 方式二:查看进程
ps -ef | grep mysql

MySQL 8 初始配置 ​

获取初始密码 ​
bash
cat /var/log/mysqld.log | grep password
修改 root 密码 ​
sql
alter user 'root'@'localhost' identified by '这里填你要的密码';

配置远程连接 ​

在远程服务器上执行以下命令,以便在本地使用 Navicat 等工具连接:

sql
use mysql;

-- 查看当前连接权限(默认 root 用户只能 localhost 连接)
select host, user from user;

-- 修改 root 用户权限,允许远程连接
update user set host = '%' where user = 'root';

-- 刷新权限配置
FLUSH PRIVILEGES;

重要: 修改完成后还需要在服务器安全组中配置 3306 端口的访问权限。

Nginx 服务配置 ​

编辑 /etc/nginx/nginx.conf 文件,添加以下服务配置:

nginx
server {
    listen       8080;
    listen       [::]:8080;
    server_name  _;
    root         /usr/share/nginx/html;

    # 加载默认服务器块的配置文件
    include /etc/nginx/default.d/*.conf;

    # 错误页面配置
    error_page 404 /404.html;
    location = /404.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }

    # 静态文件服务配置
    location / {
        root   /home/vue3-cloud-music;
        try_files $uri $uri/ /index.html;
        index  index.html;
    }
}

数据库迁移 ​

准备工作 ​

  1. 确保网络连通性
    确认本地能够正常连接到服务器 MySQL

  2. 权限检查
    确认服务器 MySQL 用户具有创建数据库和导入数据的权限

  3. 备份现有数据(如果服务器已有数据)

    bash
    mysqldump -u root -p --databases 数据库名 > backup_$(date +%Y%m%d_%H%M%S).sql

迁移方式 ​

方式一:使用 Navicat(推荐) ​

  1. 创建目标数据库
    在服务器 MySQL 中创建和本地同名的数据库

    sql
    CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  2. 导出本地数据

    • 在 Navicat 中选择本地数据库
    • 右键选择"转储 SQL 文件" → "数据和结构"
    • 保存为 .sql 文件
  3. 导入到服务器

    • 在 Navicat 中连接服务器 MySQL
    • 选择目标数据库
    • 右键选择"运行 SQL 文件"
    • 选择之前导出的文件

方式二:使用命令行 ​

  1. 导出本地数据库

    bash
    # 导出结构和数据
    mysqldump -u username -p database_name > database_backup.sql
    
    # 仅导出结构
    mysqldump -u username -p --no-data database_name > database_structure.sql
    
    # 仅导出数据
    mysqldump -u username -p --no-create-info database_name > database_data.sql
  2. 上传到服务器

    bash
    scp database_backup.sql username@server_ip:/tmp/
  3. 在服务器上创建数据库并导入

    bash
    # 登录服务器 MySQL
    mysql -u root -p
    
    # 创建数据库
    CREATE DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
    # 退出 MySQL,导入数据
    exit
    mysql -u root -p database_name < /tmp/database_backup.sql

常见问题处理 ​

  1. 字符编码问题
    确保导出时指定正确的字符集:

    bash
    mysqldump -u username -p --default-character-set=utf8mb4 database_name > backup.sql
  2. 大文件导入超时
    修改 MySQL 配置或分批导入:

    sql
    SET global net_buffer_length=1000000;
    SET global max_allowed_packet=1000000000;
  3. 权限不足错误
    确保用户具有足够权限:

    sql
    GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%';
    FLUSH PRIVILEGES;
  4. Navicat 多查询问题
    如果在 Navicat 中导入时出现错误,可以尝试:

    • 取消"在每个运行中运行多个查询"选项
    • 或者将大的 SQL 文件拆分成小文件分批执行

验证迁移结果 ​

  1. 检查数据完整性

    sql
    -- 检查表数量
    SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'database_name';
    
    -- 检查数据行数
    SELECT table_name, table_rows FROM information_schema.tables 
    WHERE table_schema = 'database_name';
  2. 测试应用连接
    确保应用程序能够正常连接并操作数据库