当前位置:   article > 正文

如何将项目部署到Linux服务器上_项目部署到服务器怎么操作

项目部署到服务器怎么操作

一. 环境部署

 1. 安装redis

  · 下载所需版本的redis(https://download.redis.io/releases/)

     我这边选的是5.0.14

  · 本机上下载好后上传至服务器,通常上传至/usr/local下面,我这边使用Filezila上传的

   并且在/usr/local目录下建了一个redis目录存放上面的压缩包

 · 解压redis目录下的压缩包

tar -zvxf redis-5.0.14.tar.gz

 ·redis是c语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果

  没有gcc环境,需要安装gcc 需要输入以下命令

yum install gcc

· 以下三行代码用于升级版本

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash

可通过gcc -v 查看版本,如果在后面安装ngnix等需要gcc的时候报错找不到命令可能是环境变量导致的问题,需要上网查一下解决办法

gcc -v

·进入到redis的解压目录下的src目录,执行make

make

·编译成功之后会出现“It's a good idea to run 'make test'”的提示

· make PREFIX=/usr/local/redis install   注意路径是否和自己的一样

make PREFIX=/usr/local/redis install

 

安装成功!

·将redis.config文件从redis目录下的redis-5.0.14中复制一份到redis目录下

  复制redis.config的命令

cp redis.conf /usr/local/redis/

· 可通过在redis目录下执行 ./bin/redis-server& ./redis.conf 启动redis 此启动方式是采取后台进程方式

./bin/redis-server& ./redis.conf

·也可通过在redis目录下执行./bin/redis-server ./redis.conf 启动redis 此方式采取显示启动方式 如在配置文件设置了daemonize属性为yes则跟后台进程方式启动其实一样

./bin/redis-server ./redis.conf

 如想修改redis.config目录下daemonize属性为yes,可按照如下操作

  redis目录下执行vi redis.conf 

vi redis.conf 

shift + : 进入命令行模式 通过 / + name 快速查找 如  / daemonize

将no改为yes 我这边是改过的,所以图片里面是yes 

 · 查看redis运行情况

ps -ef|grep redis

2 .安装MySQL (由于我这边很久以前就装了mysql,先省略)

        略

3. 安装ngnix

  ·下载ngnix安装包

    打开Nginx官网 :nginx: download
    然后我们找到一个版本,把鼠标移动到上面,右键 - 复制链接地址

·也可图省事不选版本直接照着网上人家的来 

   ·安装 wget ,如果有请跳过这步

yum install -y wget

  ·使用weget命令下载nginx安装包 通常放在/usr/local下 ,可自己再建个ngnix目录存放,方便管理

wget -c http://nginx.org/download/nginx-1.23.1.tar.gz

 ·解压安装包

tar -zxvf nginx-1.23.1.tar.gz

 ·在虚拟机中安装相关依赖

  1. 在虚拟机中安装相关依赖:
  2. yum install pcre-devel
  3. yum install zlib zlib-devel
  4. yum install openssl openssl-devel
  5. //也可用一条命令代替
  6. yum install pcre-devel zlib zlib-devel openssl openssl-devel

         分开拿出来以下,方便复制 ,嘿嘿

yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
yum install pcre-devel zlib zlib-devel openssl openssl-devel

·安装好之后,进入nginx目录

cd /usr/local/nginx-1.23.1

· 执行配置脚本

./configure

· 编译安装  (记得配gcc,如果没有的话)

make & make install

· 启动ngnix

  启动前要查看端口是否放行,或者是防火墙是否关闭,否则无法访问

  查看已放行的端口

firewall-cmd --list-all

  放行8080端口,并重载防火墙

  1. firewall-cmd --add-port=80/tcp --permanent
  2. firewall-cmd --reload

(这里nginx默认端口号是80,我们就放行80端口)

  或者直接关闭防火墙

   临时关闭

systemctl stop firewalld.service

 永久关闭

systemctl disable firewalld.service

可设置nginx开机自启动

  1. vim /etc/rc.local
  2. 文本底部追加
  3. /usr/local/nginx/sbin/nginx

  启动ngnix

/usr/local/nginx/sbin/nginx

  查看运行情况

ps -ef | grep nginx

访问 nginx页面

在浏览器中输入 ip + 端口号访问(端口默认80)

这样就算安装成功了

二. 部署项目 

1.后端打包

· 先clean一下如何在package

         

 · 将jar包上传至服务器,可以在服务器上建一个目录专门用来存放

 2.前端打包

 · 到前端项目所在的目录下

 

 · 在此路径下打开命令提示符(注意路径)

 · 打包项目

npm install --unsafe-perm --registry=https://registry.npm.taobao.org
npm run build:prod

  打包好后在前端项目的目录下会出现一个dict文件夹

  

 · 将dict文件上传至服务器上,可以和之前的jar包放一起

3. 配置ngnix

· 修改配置文件

vi /usr/local/nginx/conf/nginx.conf

        防止出现权限相关的问题,将文件开头的user修改为root 

        

        修改前端访问路径以及添加代理

  1. location /prod-api/ {
  2. proxy_set_header Host $http_host;
  3. proxy_set_header X-Real-IP $remote_addr;
  4. proxy_set_header REMOTE-HOST $remote_addr;
  5. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  6. proxy_pass http://127.0.0.1:8080/;
  7. }

重启ngnix 启动redis 以及 后端jar包基本就可以运行了,不过可以添加一个脚本方便我们启动jar包

   脚本名appStart.sh

  1. #!/bin/bash
  2. APP_NAME=/myproject/ruoyi/projectManage/ruoyi-admin.jar
  3. #使用说明,用来提示输入参数
  4. usage() {
  5. echo "Usage: sh app.sh [start|stop|restart|status]"
  6. exit 1
  7. }
  8. #检查程序是否在运行
  9. is_exist(){
  10. pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
  11. #如果不存在返回1,存在返回0
  12. if [ -z "${pid}" ]; then
  13. return 1
  14. else
  15. return 0
  16. fi
  17. }
  18. #启动方法
  19. start(){
  20. is_exist
  21. if [ $? -eq 0 ]; then
  22. echo "${APP_NAME} is already running. pid=${pid}"
  23. else
  24. nohup java -jar ${APP_NAME} >app.out 2>&1 &
  25. fi
  26. }
  27. #停止方法
  28. stop(){
  29. is_exist
  30. if [ $? -eq "0" ]; then
  31. kill -9 $pid
  32. else
  33. echo "${APP_NAME} is not running"
  34. fi
  35. }
  36. #输出运行状态
  37. status(){
  38. is_exist
  39. if [ $? -eq "0" ]; then
  40. echo "${APP_NAME} is running. Pid is ${pid}"
  41. else
  42. echo "${APP_NAME} is NOT running."
  43. fi
  44. }
  45. #重启
  46. restart(){
  47. stop
  48. sleep 5
  49. start
  50. }
  51. #根据输入参数,选择执行对应方法,不输入则执行使用说明
  52. case "$1" in
  53. "start")
  54. start
  55. ;;
  56. "stop")
  57. stop
  58. ;;
  59. "status")
  60. status
  61. ;;
  62. "restart")
  63. restart
  64. ;;
  65. *)
  66. usage
  67. ;;
  68. esac

· 将脚本放到jar包同级目录下,并修改脚本开头APP_NAME 后面的内容为自己jar的路径

vi ./appStart.sh

将路径改成自己jar包在Linux服务器上的路径 

 4. 启动项目

 · 启动redis (已启动请略过)

./bin/redis-server ./redis.conf

· 启动ngnix (已启动请略过)

/usr/local/nginx/sbin/nginx

· 启动项目  (脚本中还有stop、restart等方法,调用方法相同)

./appStart.sh start

· 查看日志  (项目同级目录下有个app.out文件,里面应该就是日志)

tail -f app.out

启动中 

 启动成功后就可以网页访问了

 大功告成! 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/715450
推荐阅读
相关标签
  

闽ICP备14008679号