竞赛项目部署记录

后端部署

方法流程

  1. 使用maven打jar包,jar包生成在项目目录/target中

    shell 复制代码
    mvn package
  2. 进入目录,运行jar包。

    shell 复制代码
    java -jar <jar包名>.jar

    不过考虑到后端需要保持运行,推荐用这个,可以在后台运行,并将日志输出到output.log

    shell 复制代码
    nohup java -jar /path/to/spring-boot-application.jar > output.log 2>&1 &

遇到的问题

$ java jar chatRecommendation-0.0.1-SNAPSHOT.jar Error: Could not find or load main class jar Caused by: java.lang.ClassNotFoundException: jar

命令中的 jar 是参数,加连字符-jar

net::ERR_CONNECTION_REFUSED

服务器防火墙没打开端口

服务器同时运行前后端项目,前端也不能将请求地址写为localhost

因为请求是用户在主机发送的,所以还要将项目中使用了回环地址的部分重写。因此应该在写代码时就提出一个全局变量baseUrl,保存IP地址。

*************************** APPLICATION FAILED TO START ***************************

Description: Web server failed to start. Port 8080 was already in use.

端口已经被其他进程占用:

  1. 查找占用端口(port)的进程

    shell 复制代码
    sudo lsof -i :<port>
  2. 停止占用端口的进程:找到占用端口 8080 的进程 ID(PID)

    shell 复制代码
    sudo kill -9 <PID>
  3. 重启应用

前端部署

方法流程

  1. npm构建静态文件

    shell 复制代码
    npm install
    npm run build
  2. 将静态文件放在Nginx目录下(在主页运行)

    shell 复制代码
    cd
    sudo cp -r WorkSpace/{{fileName}}/dist/ /usr/share/nginx/WorkSpace/{{fileName}}/
  3. 配置Nginx服务

    shell 复制代码
    sudo vim /etc/nginx/sites-available/default
    js 复制代码
    server {
    	listen 81;
    	server_name _;
    	location / {
    		root  /usr/share/nginx/WorkSpace/chao-xing-front-end/dist;
    		index index.html index.htm index.nginx-debian.html;
    	}
    }
    shell 复制代码
    nginx -t
    sudo service nginx restart
  4. 更改文件夹权限使Nginx可以访问

    shell 复制代码
    sudo chown -R www-data:www-data /usr/share/nginx/WorkSpace/{{fileName}}/dist/
    sudo chmod -R 755 /usr/share/nginx/WorkSpace/{{fileName}}/dist/

遇到的问题

defult文件默认内容:

js 复制代码
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    
    root /var/www/html;
    
    index index.html index.htm index.nginx-debian.html;
    
    server_name _;
    
    location / {
        try_files $uri $uri/ =404;
	}  
}

已经正确配置了 Nginx 并且使用了上面的配置片段,但仍然无法打开 Vue 项目

服务器防火墙没打开前端端口

后端在公网ip为 42.193.xxx.xxx/ 的服务器上启动,为什么仍然 GET 42.193.xxx.xxx:8080/student/rad... net::ERR_CONNECTION_TIMED_OUT

  1. 端口没开放
  2. 没启动后端
相关推荐
我星期八休息16 分钟前
C++智能指针全面解析:原理、使用场景与最佳实践
java·大数据·开发语言·jvm·c++·人工智能·python
摇滚侠17 分钟前
Spring Boot 3零基础教程,WEB 开发 整合 Thymeleaf 笔记36
java·spring boot·笔记
大猫会长21 分钟前
docker安装php+apache
java·开发语言
野生技术架构师24 分钟前
JAVA 架构师面试题含答案:JVM+spring+ 分布式 + 并发编程
java·jvm·spring
瑞士卷@35 分钟前
MyBatis入门到精通(Mybatis学习笔记)
java·数据库·后端·mybatis
梵得儿SHI1 小时前
Java 反射机制深度剖析:性能与安全性的那些坑
java·开发语言·安全·反射·动态代理·性能·反射机制
虫小宝1 小时前
Java分布式架构下的电商返利APP技术选型与架构设计实践
java·分布式·架构
007php0071 小时前
百度面试题解析:Zookeeper、ArrayList、生产者消费者模型及多线程(二)
java·分布式·zookeeper·云原生·职场和发展·eureka·java-zookeeper
4Forsee1 小时前
【Android】浅析 Android 的 IPC 跨进程通信机制
android·java
来旺2 小时前
互联网大厂Java面试全解析及三轮问答专项
java·数据库·spring boot·安全·缓存·微服务·面试