如何将项目部署到Linux服务器上

本文详细描述了在Linux服务器上环境部署的过程,包括Redis的安装、MySQL的安装(略)、Nginx的安装与配置,以及前端和后端项目的打包和部署。还提供了启动和管理项目的脚本appStart.sh。
摘要由CSDN通过智能技术生成

一. 环境部署

 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

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

在虚拟机中安装相关依赖:
yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel

//也可用一条命令代替
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端口,并重载防火墙

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

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

  或者直接关闭防火墙

   临时关闭

systemctl stop firewalld.service

 永久关闭

systemctl disable firewalld.service

可设置nginx开机自启动

vim /etc/rc.local
文本底部追加
/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 

        

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

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://127.0.0.1:8080/;
        }

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

   脚本名appStart.sh

#!/bin/bash

APP_NAME=/myproject/ruoyi/projectManage/ruoyi-admin.jar
#使用说明,用来提示输入参数
usage() {
    echo "Usage: sh app.sh [start|stop|restart|status]"
    exit 1
}

#检查程序是否在运行
is_exist(){
  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
  #如果不存在返回1,存在返回0     
  if [ -z "${pid}" ]; then
   return 1
  else
    return 0
  fi
}

#启动方法
start(){
  is_exist
  if [ $? -eq 0 ]; then
    echo "${APP_NAME} is already running. pid=${pid}"
  else
    nohup java -jar ${APP_NAME}  >app.out 2>&1 &
  fi
}

#停止方法
stop(){
  is_exist
  if [ $? -eq "0" ]; then
    kill -9 $pid
  else
    echo "${APP_NAME} is not running"
  fi  
}

#输出运行状态
status(){
  is_exist
  if [ $? -eq "0" ]; then
    echo "${APP_NAME} is running. Pid is ${pid}"
  else
    echo "${APP_NAME} is NOT running."
  fi
}

#重启
restart(){
  stop
  sleep 5
  start
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
  "start")
    start
    ;;
  "stop")
    stop
    ;;
  "status")
    status
    ;;
  "restart")
    restart
    ;;
  *)
    usage
    ;;
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

启动中 

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

 大功告成! 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值