前端项目与node项目部署记录

23 阅读2分钟

nginx部署

  • tar -zxvf 文件.tar.gz 解压压缩文件(张雪v峰)
  • unzip a.zip -d b 解压文件重命名为b 解压zip压缩文件
  • 安装最新的nginx依赖 nginx.org/packages/ce… 这个地址上选择
  • sudo yum install -y nginx.org/packages/ce… 安装官方仓库
  • yum install nginx安装
  • nginx -v 查看版本
  • /etc/nginx/nginx.conf 配置信息
  • sudo nginx -t 检查配置文件是否有问题
  • sudo systemctl restart nginx 重启nginx
  • sudo systemctl reload nginx 重新加载nginx

配置相关信息

  • /var/www/project 打包的项目上传的/var/www文件夹下,也可以上传到/usr/name文件夹下
  • 下面是server配置相关
    server {
		listen 8080;
	  listen [::]:8080;
    server_name _;
    
    
		root /var/www/omp; 
		index index.html;

		location / {
        try_files $uri $uri/ /index.html;
    }
     error_page 404 /404.html;
          location = /40x.html {
      }

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

也可以在/etc/nginx/conf.d配置对应项目的配置文件

server{
  listen 8080; //端口
  server_name _; // 配置域名 _会匹配所有的域名或IP地址
  
  root /var/www/vite/dist;
  index index.html;
  
  location / {
    try_files $uri $uri/ /index.html; //这个很重要找不到网页返回这个地址
  }
}
  • 也可以在/etc/nginx/conf.d目录下分别配置各个项目的nginx,因为在/etc/nginx/nginx.conf下面配置的已经有加载conf.d目录下的所有文件
    include /etc/nginx/conf.d/*.conf;

安装node

后端部署

  • 上传整个后端的项目,不要node_modules文件和dist文件夹
  • 上传到服务器
  • npm i 安装依赖
  • npm run build 打包
  • npm i pm2 -g 全局安装pm2用来管理后台项目的运行

pm2 start "cross-env NODE_ENV=PRODUCTION node dist/main.js" --name nest 运行项目

pm2 list 查看项目列表

pm2 delete nest 删除nest的后台运行

pm2 logs nest 查看nest项目的日志

  • 配置前端项目转发到后台
server{
  listen 8080;
  server_name _;
  
  root /var/www/vite/dist;
  index index.html;
  
  client_max_body_size 20M; //设置上传请求体的最大限制
  
  location / {
    try_files $uri $uri/ /index.html;
  }
  
 location /api {
      proxy_pass http://localhost:5000/api;  # 代理到后端服务
      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;
  }
}

scp命令

scp ./hand_written.zip root@189.1.238.155:/var/www/ 将这个压缩包上传到/var/www/目录下

scp -r ./hand_written root@189.1.238.155:/var/www/ 将hand_written目录下所有内容上传到服务器/var/www/hand_written 目录下,前提是服务器上hand_written目录已经存在

linux常用命令

tar -zxvf 文件.tar.gz 解压压缩文件(张雪v峰)
unzip a.zip -d b 解压文件重命名为b 解压zip压缩文件
rm -rf 目录名 递归删除目录以及目录下所有文件
mkdir 目录名 创建目录
mv <原文件路径> <新文件路径> 文件重命名
mv <文件路径> <目标目录> 移动文件