后端接口

环境搭建

Xsheel安装配置

下载

Xshell 下载 - NetSarang Website

根据自身需求选择购买、试用或免费版

下载到自行指定的路径

安装

双击下载好的exe文件

进行安装

选择接受,点击下一步

设置安装路径

点击安装

点击完成,安装成功

运行

运行xsheel,输入名字邮箱,点击提交,或直接点击后来

点击新建

输入主机号

输入用户名和密码,点击连接

点击接受并保存

连接成功

宝塔安装配置

(方便运维,非必须安装,建议安装)需开放端口:888、8888[目前这个端口可能会变是个动态的]、80、443 部署后可以关闭

注册宝塔账户

注册地址:https://www.bt.cn/register.html 且需要实名认证,已经有则忽略

安装

使用xsheel连接服务器

连接成功后在控制台输入:

$ yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

输入y,回车

出现以下信息表示安装成功宝塔。

云服务器安全组和宝塔开通以下端口

运行

使用面板地址,用户名和密码登录宝塔

绑定账号

一键安装部分环境

JDK安装配置

下载

jdk1.8下载

我们提供的代码中带有jdk安装包,路径为laiketui-app\docs\soft

安装

检查当前系统是否已经安装openJDK,如果已经安装进行卸载

检查openJDK是否安装命令:

$ rpm -qa|grep jdk

(如果有安装openJDK 那么除了copy-jdk-configs-3.3-2.el7.noarch文件可以不用删除。其他的openJdk全部要卸载)

$ yum -y remove  xxxx

进入目录

$ cd /usr/local

创建java安装目录:

$ mkdir /usr/local/java

上传jdk安装包到/usr/local/java

解压安装包到 /usr/local/java目录:

$ tar -zxvf  jdk-8u211-linux-x64.tar.gz   /usr/local/java

配置

配置jdk环境变量:

编辑/etc/下的profile文件:

vi /etc/profile在文件末尾添加如下配置:

  #jdk解压路径,根据实际情况配置
  export JAVA_HOME=/usr/local/java/jdk1.8.0_211

  export JRE_HOME=${JAVA_HOME}/jre

  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

  export PATH=${JAVA_HOME}/bin:$PATH

保存配置文件退出(vi编辑器使用自备)

使/etc/profile生效 :source /etc/profile

$ source /etc/profile

验证

测试jdk安装是否成功,输出版本即为成功

$ java -version

redis安装配置

方式一:宝塔安装

在宝塔面板的软件商店

redis配置

重载配置,重启redis

方式二:手动安装redis

准备:https://redis.io/download 下载redis稳定版本

一、安装redis-6.2.5.tar.gz:

上传附件redis资源

   redis-6.2.5.tar.gz

解压

$ tar xzvf redis-6.2.5.tar.gz

安装

$ cd redis-6.2.5

$ make

$ cd src

$ make install PREFIX=/usr/local/redis

移动配置文件到安装目录下

$ cd ../

$ mkdir /usr/local/redis/etc

$ mv redis.conf /usr/local/redis/etc

配置redis

# 将daemonize no 改成daemonize yes
$ vi /usr/local/redis/etc/redis.conf

将redis加入到开机启动

# 在里面添加内容:/usr/local/redis/bin/redis-server                     /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)
$     vi /etc/rc.local

开启redis 服务

# 启动redis
$ ./redis-server /usr/local/redis/etc/redis.conf

MySQL安装配置

lkt.sql 是主库数据库脚本

xxl_job.sql 是分布式数据库脚本

安装完MySQL请分别新建数据库并导入脚本

方式一:宝塔安装mysql【推荐】

直接在宝塔的软件商店中搜索mysql 安装5.6版本。

方式二:手动安装MySQL

8.0/5.7 需要修改配置兼容 ,修改后需要重启mysql服务 (建议使用MySQL 5.5-5.6)。

# 修改my.ini 或者my.conf 修改保存 然后重启mysql 服务 
# 需要试一下其中之一只有一个可以
sql_mode  = NO_ZERO_IN_DATE,NO_ZERO_DATE
# 或
sql_mode = NO_AUTO_VALUE_ON_ZERO

查看CentOS是否自带的MySQL,如果已经安装需要卸载。如果没有找到,则表示没有安装。\

$ rpm -qa | grep mysql

在线获取CentOS7的mysql的rpm的安装文件,直接执行如下命

$ wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

执行安装命令

$ rpm -ivh mysql80-community-release-el7-1.noarch.rpm

得到两个配置文件,在/etc/yum.repos.d目录下

mysql-community.repo用于指定下载哪个版本的安装包

mysql-community-source.repo用于指定下载哪个版本的源码

修改MySQL的下载配置文件

1、进入目录命令:

$ cd  /etc/yum.repos.d

2、编辑配置文件命令:

3、把MySQL8的下载关闭,将enabled设置为0

保存修改退出。

在当前目录/etc/yum.repos.d下执行下面的命令,开始在线下载:客户端,服务器端,开发的工具包。

在线下载安装命令介绍:yum(全称为 Yellow dog Updater, Modified)作用:用于自动从服务器上下载相应的软件包,自动安装,并且自动下载它的依赖包。

1、进行在线下载安装mysql命令

$ yum -y install mysql-community-client mysql-community-server mysql-community-devel

2、使用rpm命令,可以查询到mysql已经安装好的包

$ rpm -qa |grep mysql

启动MySQL服务并登录

1、启动mysql的服务

$ systemctl start mysqld

2、将mysql加到系统服务中并设置开机启动

$ systemctl enable mysqld

3、登录mysql,root用户默认没有密码

$ mysql -uroot

4、在mysql中修改自己的密码

设置远程访问权限、开放端口号

1、开启mysql的远程登录权限,默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启,并且刷新权限缓存。远程登录mysql的权限登录mysql后输入如下命令:

grant all privileges on . to ‘root’@’%’ identified by ‘root’;
flush privileges;

2、开放Linux的对外访问的端口3306

#开放的端口永久保存到防火墙

$ firewall-cmd --zone=public --add-port=3306/tcp --permanent

#重启防火墙

$ systemctl restart firewalld

Nacos 部署安装 【独立版】

目前是用的nacos 配置信息存储在mysql数据库中。

安装

项目docs目录下面的soft文件夹中有Nacos 2.1.1文件夹,上传到服务器,解压target。

配置

1、在mysql数据库中新建 nacos_db 数据库,并导入脚本nacos_db.sql(邮件附带)。

2、修改Nacos配置文件 application.properties,主要修改数据库密码

#**************************************************************#
# 主要是修改这段配置 开始
#**************************************************************#
#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Include message field
server.error.include-message=ON_PARAM
### Default web server port:
server.port=8848
#*************** Network Related Configurations ***************#
#*************** Config Module Related Configurations 配置数据库链接信息 ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://localhost:3306/nacos_db?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=51bbec4bcde2ef40 
#**************************************************************#
# 主要是修改这段配置 结束
#**************************************************************#
nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000 
#*************** Metrics Related Configurations ***************#
### Metrics for prometheus
#management.endpoints.web.exposure.include=*
### Metrics for elastic search
management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200
### Metrics for influx
management.metrics.export.influx.enabled=false 
#*************** Access Log Related Configurations ***************#
### If turn on the access log:
server.tomcat.accesslog.enabled=true
### The access log pattern:
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
### The directory of access log:
server.tomcat.basedir=file:.
#*************** Access Control Related Configurations ***************#
### If enable spring security, this option is deprecated in 1.2.0:
#spring.security.enabled=false
### The ignore urls of auth, is deprecated in 1.2.0:
nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
### The auth system to use, currently only 'nacos' and 'ldap' is supported:
nacos.core.auth.system.type=nacos
### If turn on auth system:
nacos.core.auth.enabled=false
### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
nacos.core.auth.caching.enabled=true
### Since 1.4.1, Turn on/off white auth for user-agent: nacos-server, only for upgrade from old version.
nacos.core.auth.enable.userAgentAuthWhite=false
### Since 1.4.1, worked when nacos.core.auth.enabled=true and nacos.core.auth.enable.userAgentAuthWhite=false.
### The two properties is the white list for auth and used by identity the request from other server.
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
### worked when nacos.core.auth.system.type=nacos
### The token expiration in seconds:
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
### The default token:
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
### worked when nacos.core.auth.system.type=ldap,{0} is Placeholder,replace login username
#*************** Istio Related Configurations ***************#
### If turn on the MCP server:
nacos.istio.mcp.server.enabled=false
#*************** Core Related Configurations ***************#

修改启动脚本

Linux、MacOS 修改startup.sh 152行:集群模式 154行:单机模式

#!/bin/bash

# Copyright 1999-2018 Alibaba Group Holding Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

cygwin=false
darwin=false
os400=false
case "`uname`" in
CYGWIN*) cygwin=true;;
Darwin*) darwin=true;;
OS400*) os400=true;;
esac
error_exit ()
{
    echo "ERROR: $1 !!"
    exit 1
}
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
[ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME

if [ -z "$JAVA_HOME" ]; then
  if $darwin; then

    if [ -x '/usr/libexec/java_home' ] ; then
      export JAVA_HOME=`/usr/libexec/java_home`

    elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then
      export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home"
    fi
  else
    JAVA_PATH=`dirname $(readlink -f $(which javac))`
    if [ "x$JAVA_PATH" != "x" ]; then
      export JAVA_HOME=`dirname $JAVA_PATH 2>/dev/null`
    fi
  fi
  if [ -z "$JAVA_HOME" ]; then
        error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better!"
  fi
fi

export SERVER="nacos-server"
# 集群模式
# export MODE="cluster"
# 独立模式
export MODE="standalone"
export FUNCTION_MODE="all"
export MEMBER_LIST=""
export EMBEDDED_STORAGE=""
while getopts ":m:f:s:c:p:" opt
do
    case $opt in
        m)
            MODE=$OPTARG;;
        f)
            FUNCTION_MODE=$OPTARG;;
        s)
            SERVER=$OPTARG;;
        c)
            MEMBER_LIST=$OPTARG;;
        p)
            EMBEDDED_STORAGE=$OPTARG;;
        ?)
        echo "Unknown parameter"
        exit 1;;
    esac
done

export JAVA_HOME
export JAVA="$JAVA_HOME/bin/java"
export BASE_DIR=`cd $(dirname $0)/..; pwd`
export CUSTOM_SEARCH_LOCATIONS=file:${BASE_DIR}/conf/

#===========================================================================================
# JVM Configuration
#===========================================================================================
if [[ "${MODE}" == "standalone" ]]; then
    JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"
    JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
    if [[ "${EMBEDDED_STORAGE}" == "embedded" ]]; then
        JAVA_OPT="${JAVA_OPT} -DembeddedStorage=true"
    fi
    JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
    JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"

fi

if [[ "${FUNCTION_MODE}" == "config" ]]; then
    JAVA_OPT="${JAVA_OPT} -Dnacos.functionMode=config"
elif [[ "${FUNCTION_MODE}" == "naming" ]]; then
    JAVA_OPT="${JAVA_OPT} -Dnacos.functionMode=naming"
fi

JAVA_OPT="${JAVA_OPT} -Dnacos.member.list=${MEMBER_LIST}"

JAVA_MAJOR_VERSION=$($JAVA -version 2>&1 | sed -E -n 's/.* version "([0-9]*).*$/\1/p')
if [[ "$JAVA_MAJOR_VERSION" -ge "9" ]] ; then
  JAVA_OPT="${JAVA_OPT} -Xlog:gc*:file=${BASE_DIR}/logs/nacos_gc.log:time,tags:filecount=10,filesize=102400"
else
  JAVA_OPT_EXT_FIX="-Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext"
  JAVA_OPT="${JAVA_OPT} -Xloggc:${BASE_DIR}/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M"
fi

JAVA_OPT="${JAVA_OPT} -Dloader.path=${BASE_DIR}/plugins/health,${BASE_DIR}/plugins/cmdb,${BASE_DIR}/plugins/selector"
JAVA_OPT="${JAVA_OPT} -Dnacos.home=${BASE_DIR}"
JAVA_OPT="${JAVA_OPT} -jar ${BASE_DIR}/target/${SERVER}.jar"
JAVA_OPT="${JAVA_OPT} ${JAVA_OPT_EXT}"
JAVA_OPT="${JAVA_OPT} --spring.config.additional-location=${CUSTOM_SEARCH_LOCATIONS}"
JAVA_OPT="${JAVA_OPT} --logging.config=${BASE_DIR}/conf/nacos-logback.xml"
JAVA_OPT="${JAVA_OPT} --server.max-http-header-size=524288"

if [ ! -d "${BASE_DIR}/logs" ]; then
  mkdir ${BASE_DIR}/logs
fi

echo "$JAVA $JAVA_OPT_EXT_FIX ${JAVA_OPT}"

if [[ "${MODE}" == "standalone" ]]; then
    echo "nacos is starting with standalone"
else
    echo "nacos is starting with cluster"
fi

# check the start.out log output file
if [ ! -f "${BASE_DIR}/logs/start.out" ]; then
  touch "${BASE_DIR}/logs/start.out"
fi
# start
echo "$JAVA $JAVA_OPT_EXT_FIX ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 &

if [[ "$JAVA_OPT_EXT_FIX" == "" ]]; then
  nohup "$JAVA" ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
else
  nohup "$JAVA" "$JAVA_OPT_EXT_FIX" ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
fi

echo "nacos is starting,you can check the ${BASE_DIR}/logs/start.out"

启动

Linux/MacOS

# 进入nacos的bin目录
cd {nacos_home}/bin
./startup.sh

# 可以查看nacos 启动日志

tail -f {nacos_home}/logs/start.out

访问

打开浏览器输入,http://localhost:8848/nacos/ 默认账户密码:nacos/laike

Seata安装部署

目前是用的nacos 配置信息存储在mysql数据库中。

安装

项目docs目录下面的soft文件夹中有seata1.6.1文件夹,上传到服务器,解压target。

配置

1、在mysql数据库中新建 seata_db 数据库,并导入脚本 seata_db.sql(邮件附带)。

2、修改Seata配置文件 application.yml.

在Nacos中配置SeataServer的配置信息 data-id名称要和{seata_home}/conf/application.yml中的一致

在nacos的public命名空间加入 配置 seataServer-dev.properties 文件如下配置 需要修改数据库配置

#For details about configuration items, see https://seata.io/zh-cn/docs/user/configurations.html
#Transport configuration, for client and server
transport.type=TCP
transport.server=NIO
transport.heartbeat=true
transport.enableTmClientBatchSendRequest=false
transport.enableRmClientBatchSendRequest=true
transport.enableTcServerBatchSendResponse=false
transport.rpcRmRequestTimeout=30000
transport.rpcTmRequestTimeout=30000
transport.rpcTcRequestTimeout=30000
transport.threadFactory.bossThreadPrefix=NettyBoss
transport.threadFactory.workerThreadPrefix=NettyServerNIOWorker
transport.threadFactory.serverExecutorThreadPrefix=NettyServerBizHandler
transport.threadFactory.shareBossWorker=false
transport.threadFactory.clientSelectorThreadPrefix=NettyClientSelector
transport.threadFactory.clientSelectorThreadSize=1
transport.threadFactory.clientWorkerThreadPrefix=NettyClientWorkerThread
transport.threadFactory.bossThreadSize=1
transport.threadFactory.workerThreadSize=default
transport.shutdown.wait=3
transport.serialization=seata
transport.compressor=none
#Transaction routing rules configuration, only for the client
# 此处的mygroup名字可以自定义,只修改这个值即可
service.vgroupMapping.mygroup=default
#If you use a registry, you can ignore it
#service.default.grouplist=127.0.0.1:8091
#service.enableDegrade=false
#service.disableGlobalTransaction=false
#Transaction rule configuration, only for the client
client.rm.asyncCommitBufferLimit=10000
client.rm.lock.retryInterval=10
client.rm.lock.retryTimes=30
client.rm.lock.retryPolicyBranchRollbackOnConflict=true
client.rm.reportRetryCount=5
client.rm.tableMetaCheckEnable=true
client.rm.tableMetaCheckerInterval=60000
client.rm.sqlParserType=druid
client.rm.reportSuccessEnable=false
client.rm.sagaBranchRegisterEnable=false
client.rm.sagaJsonParser=fastjson
client.rm.tccActionInterceptorOrder=-2147482648
client.tm.commitRetryCount=5
client.tm.rollbackRetryCount=5
client.tm.defaultGlobalTransactionTimeout=60000
client.tm.degradeCheck=false
client.tm.degradeCheckAllowTimes=10
client.tm.degradeCheckPeriod=2000
client.tm.interceptorOrder=-2147482648
client.undo.dataValidation=true
client.undo.logSerialization=jackson
client.undo.onlyCareUpdateColumns=true
server.undo.logSaveDays=7
server.undo.logDeletePeriod=86400000
client.undo.logTable=undo_log
client.undo.compress.enable=true
client.undo.compress.type=zip
client.undo.compress.threshold=64k
#For TCC transaction mode
tcc.fence.logTableName=tcc_fence_log
tcc.fence.cleanPeriod=1h
#Log rule configuration, for client and server
log.exceptionRate=100
#Transaction storage configuration, only for the server. The file, db, and redis configuration values are optional.
# 默认为file,一定要改为db,我们自己的服务启动会连接不到seata
store.mode=db
store.lock.mode=db
store.session.mode=db
#Used for password encryption
#These configurations are required if the `store mode` is `db`. If `store.mode,store.lock.mode,store.session.mode` are not equal to `db`, you can remove the configuration block.
# 修改mysql的配置
store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.cj.jdbc.Driver
# 指定seata的数据库,下面会提
store.db.url=jdbc:mysql://localhost:3306/seata_db?useUnicode=true&rewriteBatchedStatements=true
store.db.user=root
store.db.password=root
store.db.minConn=5
store.db.maxConn=30
store.db.globalTable=global_table
store.db.branchTable=branch_table
store.db.distributedLockTable=distributed_lock
store.db.queryLimit=100
store.db.lockTable=lock_table
store.db.maxWait=50000
#Transaction rule configuration, only for the server
server.recovery.committingRetryPeriod=600000
server.recovery.asynCommittingRetryPeriod=600000
server.recovery.rollbackingRetryPeriod=600000
server.recovery.timeoutRetryPeriod=600000
server.maxCommitRetryTimeout=-1
server.maxRollbackRetryTimeout=-1
server.rollbackRetryTimeoutUnlockEnable=false
server.distributedLockExpireTime=600000
server.xaerNotaRetryTimeout=600000
server.session.branchAsyncQueueSize=50000
server.session.enableBranchAsyncRemove=false
server.enableParallelRequestHandle=false
#Metrics configuration, only for the server
metrics.enabled=false
metrics.registryType=compact
metrics.exporterList=prometheus
metrics.exporterPrometheusPort=9898

{seata_home}/conf/application.yml 中的 注册中心 配置中心 和seata的数据存储配置

server:
  # 访问端口 可以修改
  port: 7091

spring:
  application:
    # 应用名称  可以修改
    name: seata-server

logging:
  config: classpath:logback-spring.xml
  file:
    path: ${user.home}/logs/seata
  extend:
    logstash-appender:
      destination: 127.0.0.1:4560
    kafka-appender:
      bootstrap-servers: 127.0.0.1:9092
      topic: logback_to_logstash

## 修改配置文件开始 
# 控制台 
console:
  user:
    username: seata
    password: seata

seata:
  # 配置中心 
  config:
    type: nacos
    nacos:
      # nacos 访问地址 [可修改]
      server-addr: localhost:8848
      # nacos 命名空间 [可修改]
      namespace: da8f7d37-960a-4c94-9691-9c77711d995c
      # nacos 分组 [可修改]
      group: DEFAULT_GROUP
      # nacos 账户密码 [可修改]
      username: nacos
      password: laike
      # seata配置 先配好nacos 把seataServer-dev.properties 复制到nacos里面 
      # 这个可以直接放在nacos的public 命令空间里面  [可修改,一定要跟上面的seata-server.properties文件名一致]
      data-id: seataServer-dev.properties
  # 注册中心
  registry:
    type: nacos
    nacos:
      # 应用名
      application: seata-server
      # nacos 访问地址
      server-addr: localhost:8848
      # nacos 分组
      group: DEFAULT_GROUP
      # nacos 命名空间
      namespace: da8f7d37-960a-4c94-9691-9c77711d995c
      cluster: default
      # 账户密码
      username: nacos
      password: laike
  ## 修改配置文件结束

  security:
    secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017
    tokenValidityInMilliseconds: 1800000
    ignore:
      urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/api/v1/auth/login

启动

Linux、MacOS 启动

# 切换到seata的bin目录
cd {seata_home}/bin/
./seata-server.sh 
# 查看日志
tail -f ../logs/start.out

访问

打开浏览器输入,访问地址:http://localhost:7091/#/ 账户密码:seata/seata

Nginx配置

安装

在软件商店搜索安装nginx

配置

nginx配置文件所在路径,建议收藏

/www/server/panel/vhost/nginx

打开站点配置文件

删除红框部分

添加如下配置,根据实际情况调整

    # websocket 配置 
    location /wss/  {
        #通过配置端口指向部署websocker的项目
        proxy_pass http://localhost:18180/;        
        proxy_http_version 1.1;    
        proxy_set_header Upgrade $http_upgrade;    
        proxy_set_header Connection "Upgrade";    
        proxy_set_header X-real-ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
    }

    #网关1 
    location /gw {
        proxy_pass http://localhost:18001/gw;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    #图片配置开始
    location /pic {
        alias    /usr/local/imgs;
        add_header Access-Control-Allow-Origin https://h5.think.laiketui.net;

    }
    location /app {
        alias    /usr/local/imgs/;
    }

    #图片分享-店铺目录
    location /share/mch {
        alias    /usr/local/imgs/share/mch;
    }

    #静态资源库
    location /images {
        alias    /usr/local/imgs/;
        add_header Access-Control-Allow-Origin https://h5.think.laiketui.net;
    }

    #验证码
    location /pc_images {
        alias    /usr/local/imgs/;
    }

    # 分享路径
    location /image/share {
        alias    /usr/local/imgs/image/share;
    }
    #图片配置结束

    #微信回调
    location /wx_notify {
        proxy_pass http://localhost:18001/payment/v2/weChatNotify; 
        proxy_set_header host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    #支付宝回调
    location /zfb_notify {
        proxy_pass http://localhost:18001/payment/alipayNotify;        
        proxy_set_header host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    #minio配置
        #绑定域名
    location /minio {
        proxy_pass http://localhost:9090/;  
        proxy_http_version 1.1;    
        proxy_set_header Upgrade $http_upgrade;    
        proxy_set_header Connection "Upgrade";    
        proxy_set_header X-real-ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr; 
        proxy_set_header Origin '';
        chunked_transfer_encoding off;
    }

    #域名图片访问
    location /laikeds {
        proxy_pass http://localhost:9018/laikeds;  
        proxy_http_version 1.1;    
        proxy_set_header Upgrade $http_upgrade;    
        proxy_set_header Connection "Upgrade";    
        proxy_set_header X-real-ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;

    }  
    #minio配置结束

验证

使用网址+/gw,出现如下信息表示nginx配置成功

项目部署

jar包部署

使用idea导入项目,设置jdk版本使用1.8

设置maven版本为3.6.3

手动导入依赖到本地仓库

修改每个模块的pom文件,改war为jar,开放注释代码

使用maven打包

上传jar包到服务器

启动

方式一:使用nacos配置节点,在nacos中配置每个模块的IP和端口号(不支持多节点部署)

使用启动命令运行

 nohup java -jar ./file.jar

方式二:启动脚本传参

注释掉nacos的IP和端口配置

使用启动命令指定端口和IP

同ip不同端口:
nohup java -jar ./file.jar --server.port=18001 --server.address=localhost &
nohup java -jar ./file.jar --server.port=18002 --server.address=localhost &
nohup java -jar ./file.jar --server.port=18003 --server.address=localhost &
nohup java -jar ./file.jar --server.port=18004 --server.address=localhost &

同端口不同ip:
nohup java -jar ./file.jar --server.port=18001 --server.address=192.168.0.3 &
nohup java -jar ./file.jar --server.port=18001--server.address=192.168.0.4 &
nohup java -jar ./file.jar --server.port=18001 --server.address=192.168.0.5 &

举例:

使用方法一启动gateway.jar

nohup java -jar gateway.jar

查看启动日志

tail -f nohup.out

测试启动是否成功

curl http://localhost:18001/gw

新建网站ssl证书配置

创建新站点

ssl配置

开启强制HTTPS并保存

图片资源上传

新建/usr/local/imgs文件夹,权限设置为777

上传图片资源

解压到当前文件夹

Copyright © www.laiketui.com all right reserved,powered by Gitbook该文件修订时间: 2024-07-09 15:15:42

results matching ""

    No results matching ""