帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
项目部署到服务器
发布时间:2024-03-08 20:43:10   分类:帮助文档
项目部署到服务器 本文使用若依前后端分离项目作为发布项目,详细说明项目部署的步骤,保姆级教程! 代码地址:RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本 (gitee.com) 数据库 首先在服务器上安装 mysql,此文不赘述。如果连接数据库有问题,可以见我专门写的文章:MySQL:连接服务器MySQL遇到的问题 创建一个和若依项目配置文件中一样的数据库,然后把 application-druid.yml 中数据库配置信息修改成服务器 mysql 的连接信息。 然后执行项目中 sql 文件夹下面的两个 sql 文件进行表的导入。 redis         首先把项目中的 application.yml 里面 redis 的 host 和 password 配置成服务器上 redis 的信息。如果启动项目时出现 redis 报错,可以看我专门写的文章:redis:Unable to connect to xxx.xx.xx.xx:6379 查看及修改 redis 密码         通过配置文件 redis.conf 查看和修改密码。         配置文件中 requirepass 对应的值就是密码。 # 查看redis位置 whereis redis # 进入redis配置文件夹 cd /usr/local/redis/etc # 编辑redis配置文件 vim redis.conf 日志         在服务器下创建一个 log 文件夹,用户存放项目产生的日志。 然后修改一下项目中 logback.xml 的日志输出路径。 避免日志乱码,追加字符集编码设置。 注意:所有 encoder 里面追加 charset 设置,本次项目是 4 个位置需要追加。 打包 前端         在终端进入到前端代码 ruoyi-ui 文件夹,执行下面的命令进行依赖下载: npm install --unsafe-perm --registry=https://registry.npm.taobao.org         下载完依赖后,执行命令进行代码打包: npm run build:prod          执行成功后,会在 ruoyi-ui 文件夹下生成一个 dist 文件夹;前端到这里就是打包完了。 后端         在终端进入到 RuoYi-Vue 文件夹中,执行下面的命令进行后端打包: # 后端代码执行打包命令时,会自动进行依赖下载 mvn package         执行成功后,会在 /ruoyi-admin/target 文件夹下生成一个 ruoyi-admin.jar; 部署         将前端的 dist 文件夹和后端的 jar 包放置到服务器上。         创建一个 app 文件夹(项目位置可以自己选择),app 下创建 lib 文件夹存放 jar 包,app 下创建 web 文件夹存放 dist 文件夹。         此处我使用的是 Xftp 7 工具      nginx 配置前端         修改 /usr/local/nginx/ 下的 nginx.conf 配置文件,追加内容如下: location / { # root 指定前端 dist 所在位置 root /app/web/dist/; index index.html index.htm; }         然后进入到 /usr/local/nginx/sbin 文件夹下,执行 ./nginx;          如果修改之前已经启动了 nginx,那么执行下面的命令重新加载 nginx 配置文件; /usr/local/nginx/sbin/nginx -s reload         此时使用服务器 ip 地址就可以访问前端了,如果出现了登录页面说明前端已经部署成功了。 启动后端         使用命令 nohup java -jar jar包名.jar &         也可以直接使用 java -jar jar包名.jar;但是一旦终端关闭,服务就会停止。         此时虽然前端和后端都已经启动了,但是前端的请求还没有和后端关联。 nginx 后端请求转发         在前端页面点击登录按钮,找到请求的后台接口;其中 192.168.17.128 是地址,prod-api 是请求的固定接口;         修改 /usr/local/nginx/ 下的 nginx.conf 配置文件,追加内容如下:         前几行是固定写法,防止请求信息有丢失; location /prod-api/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 根据自己后台请求的地址和端口号配置 proxy_pass http://192.168.17.128:8080/; }         保存后,加载 nginx 配置文件; /usr/local/nginx/sbin/nginx -s reload          刷新页面,发现已经有了验证码,输入后可以登录系统了。 查看日志         进入到 log 文件夹,发现已经生成了日志。 至此,若依项目已经成功的部署到服务器上了!!~~~ 额外  后端war包发布 war打包         上面说了直接打 jar 包发布的方式,下面介绍一下 war 包发布。         打 war 需要修改后台的一些配置: jar 修改为 war 把 springboot 内嵌 tomcat 去除,所以在 spring-boot-starter-web 下面追加 org.springframework.boot spring-boot-starter-tomcat provided 追加启动类         修改好后,执行下面的打包命令: mvn clean mvn package war发布         先看看服务器有没有 jar 包在启动 ps -ef | grep java kill -9 java的PID         本次以 apache-tomcat-8.5.55 为例         1、进到 tomcat 文件夹,把 war 包复制到 apache-tomcat-8.5.55/webapps 下面。 # 根据自己的tomcat路径 cd /usr/local/tomcat ll # 结合自己的tomcat版本 cd apache-tomcat-8.5.55/webapps # 将war拷贝到tomcat下的webapps文件夹 cp /app/lib/ruoyi.war ./         2、启动 tomcat 服务,启动后会发现 tomcat 自动把 war 解压出来了。 service tomcat start         但是现在会有一个问题,如果访问 192.168.17.128:8080 默认进入到 Tomcat 页面;如果是 192.168.17.128:8080/ruoyi 才会访问到后台服务;所以需要进行 tomcat 配置。         3、tomcat 配置         进到 tomcat/apache-tomcat-8.5.55/conf,编辑 server.xml 配置文件。         在 标签里面追加下面的配置:         4、重启 tomcat service tomcat stop service tomcat start 因为 Nginx 之前已经配置过后台转发了,所以到这一步就可以访问了。 集群(多个服务器负载均衡)         如果一个前端对应多个后端服务(为了负载均衡,不一定是使用那台服务响应请求),那么 nginx 配置需要发生变化。         修改 /usr/local/nginx/ 下的 nginx.conf 配置文件,追加内容如下: upstream ruoyi { # 可以在服务后面追加权重,代表多使用某个服务 # server 192.168.17.128:8080 weight=5 # 也可以在此处声明使用策略,此处不赘述 server 192.168.17.128:8080; server 192.168.17.129:8080; } server { location / { root /app/web/dist/; index index.html index.htm; } location /prod-api/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 此处是上面 upstream 里定义的名字 proxy_pass http://ruoyi/; } }         如果启动了 nginx 使用下面的命令重新加载: /usr/local/nginx/sbin/nginx -s reload         如果没有启动,使用下面的命令启动: cd /usr/local/nginx/sbin ./nginx         然后在前端请求的时候,通过打开两台服务的日志发现,不一定是哪一台服务器相应请求。 502 Bad Gateway         如果出现这个问题,先把浏览器缓存清楚看看是否有效。
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价