竞赛项目部署记录

后端部署

方法流程

  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. 没启动后端
相关推荐
C++业余爱好者14 小时前
.NET线程池ThreadPool.QueueUserWorkItem
java·数据库·.net
.豆鲨包14 小时前
【Android】Android内存缓存LruCache与DiskLruCache的使用及实现原理
android·java·缓存
superlls14 小时前
(Java基础)集合框架继承体系
java·开发语言
宋哈哈14 小时前
页面水印sdk源码
java·前端·javascript
你不是我我14 小时前
【Java 开发日记】我们来说一下 Mybatis 的缓存机制
java·spring·mybatis
咪咪渝粮14 小时前
112.路径总和
java·数据结构·算法
WKP941814 小时前
原型设计模式
java·设计模式
笃行客从不躺平14 小时前
SQL 注入复习
java·数据库·sql
小毅&Nora15 小时前
【后端】使用 Easy Rules 构建灵活的业务规则引擎 — Spring Boot 集成实践
java·spring boot·后端
多喝开水少熬夜15 小时前
算法-哈希表和相关练习-java
java·算法·散列表