
主 题
原因
270元三年的4G腾讯服务器2025年1月13日就到期,续费太贵了,又接着薅台便宜的轻量服务器,2G的79元一年可以续费一年功能两年。
步骤
- 重装系统为ubuntu24,打开WinSCP使用用户名ubuntu连接服务器;
- 安装以下环境和工具:
JavaScript
// 更新apt
sudo apt update && sudo apt upgrade -y
// 安装NVM
// 按照文档安装nvm https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-upwehpwe
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
// nvm安装报错就执行下面命令
// git config --global --unset http.proxy
// git config --global --unset https.proxy
// 找不到命令执行 source ~/.bashrc
// 安装使用NODE和NPM
nvm install 22.17.0
nvm use 22.17.0
// 安装PM2
npm install pm2 --global
// 安装MySQL
sudo apt install mysql-server
// 安装NGINX
sudo apt install nginx
// 安装REDIS
sudo apt install redis-server -y
- sudo mysql 进入mysql 然后设置账号和密码,远程连接上数据库之后,执行
SQL
CREATE USER 'xiaoming'@'localhost' IDENTIFIED BY 'xiaoming2048!@#';
-- 全部权限
GRANT ALL PRIVILEGES ON dbname.* TO 'xiaoming'@'localhost';
-- 部分权限
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER ON dbname.* TO 'xiaoming'@'localhost';
FLUSH PRIVILEGES;
-- 远程连接需要修改 /etc/mysql/mysql.conf.d/mysqld.cnf的bind-address = 0.0.0.0
-- 修改当前数据库用户密码 root
SELECT CURRENT_USER();
ALTER USER USER() IDENTIFIED BY 'root123456!@#';
-- systemctl restart mysql.service
-- systemctl status mysql.service
- 在ubuntu服务器有下面的目录,没有使用mkdir新建;
bash
sudo mkdir /opt/jxapp
# 存放系统配置
sudo mkdir /opt/jxapp/config
# 部署前端
sudo mkdir /opt/jxapp/front && cd /opt/jxapp/front
sudo mkdir blog-admin zone-admin zone test-front
# 部署后端
sudo mkdir /opt/jxapp/server && cd /opt/jxapp/server
sudo mkdir blog-server zone-server/logs blog-home-nuxt blog-home-nuxt/output
# 给ubuntu用户权限
sudo chown -R ubuntu:ubuntu /opt/jxapp
# 上传静态资源、代码包、配置文件,然后解压
tar -xvf dist.tar
- 根据目录配置nginx
bash
# 配置防火墙
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
cd /etc/nginx
sudo vim /etc/nginx/nginx.conf # 创建主配置文件
sudo vim /etc/nginx/conf.d/main.conf # 通用配置文件
sudo vim /etc/nginx/conf.d/jiang-xia.top.conf # server块为独立文件
sudo vim /etc/nginx/conf.d/admin.jiang-xia.top.conf # server块为独立文件
# 删除进入 粘贴模式 :%d | set paste | startinsert :wq保存退出
# 设置自动证书 文档 https://certbot.eff.org/instructions?ws=nginx&os=snap
- 运行服务的准备与配置
- zone-server
chmod +x ./main
pm2 start ./main --name zone-server
sql
-- 建立本地连接账号
CREATE USER 'jxzone'@'127.0.0.1' IDENTIFIED BY 'jxzone2048!@#';
GRANT ALL PRIVILEGES ON zone_db.* TO 'jxzone'@'127.0.0.1';
FLUSH PRIVILEGES;
- blog-server
pm2 start ecosystem.config.js --env production
sql
CREATE USER 'jxblog'@'127.0.0.1' IDENTIFIED BY 'jxblog2048!@#';
GRANT ALL PRIVILEGES ON myblog.* TO 'jxblog'@'127.0.0.1';
FLUSH PRIVILEGES;
数据库中没有18888888888会自动生成roleId为3的账号,密码为super,需要手动关联表中改为1才是超级管理员;
- blog-home-nuxt
pm2 start ecosystem.config.js --env production

全部评论(1)