项目使用redis和nginx总结以及记录一下知识点

一、后台接口:

     <1>在配置文件里redis的配置信息

       pom文件里导入redis的jar包:

         <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-data-redis</artifactId>

            <exclusions>

                <exclusion>

                    <groupId>redis.clients</groupId>

                    <artifactId>jedis</artifactId>

                </exclusion>

                <exclusion>

                    <groupId>io.lettuce</groupId>

                    <artifactId>lettuce-core</artifactId>

                </exclusion>

            </exclusions>

        </dependency>

        <!-- 添加jedis客户端 -->

        <dependency>

            <groupId>redis.clients</groupId>

            <artifactId>jedis</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-cache</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-data-redis</artifactId>

        </dependency>

    application.properties配置

      spring.redis.database=1

      spring.redis.host=localhost

      spring.redis.port=6379

      spring.redis.password=

      spring.redis.timeout=5000

      spring.redis.jedis.pool.max-active=8

      spring.redis.jedis.pool.max-wait=-1

      spring.redis.jedis.pool.max-idle=5

      spring.redis.jedis.pool.min-idle=0

   <2>在项目里添加redis的配置类、初始化redis以及redis的工具类RedisUtil

   <3>将数据的集合set到redis里边 redisUtils.set(key,value);例如:RedisUtils.set("key",想要放进redis的集合)

   <4>初始化redis的时候把要加入redis的数据都set进去

   eg:

     public void initRedis() {

        //初始化开始结束时间

        VoteActivity voteActivity = voteActivityService.$().getOne(1l);

        if (!ToolStr.isEmpty(voteActivity)) {

            redisUtil.set("createdTime", voteActivity.getCreatedTime().getTime() + "");

            redisUtil.set("endTime", voteActivity.getEndTime().getTime() + "");

        }

        //初始化被投票单位

        //初始化票数

        List<Vote> list = voteDao.findAll();

        JSONObject jsonObject = new JSONObject();

        ;

        for (Vote vote : list) {

            redisUtil.zAdd("dbvoted", vote.getId().toString(), vote.getSum());

            jsonObject.put(vote.getId() + "", vote);

        }

        redisUtil.set("dbbevoted", jsonObject.toJSONString());

    }

   <5>reids的数据库里的数据可以操作。增删改查,

码云上搜索RedisUtils选择java第一个就可以用,里边有对redis五种数据类型增删改查的操作

   <6>在投票这个项目中用的比较多的数据类型是String、zSet.

   <7>获取redis里的数据是用 redisUtils.get(要获取的数据)

   <8>idea打包项目时跳过test点install

  

二、后台管理端:

    <1>上传banner图的时候回显问题:

       用idea自带的tomcat没法直接回显图片的路径,只能在部署服务器的时候放在tomcat下边的时候根据上传图片的接口创建相应的路径。

       eg:投票的banner图获取的路径是:http:localhost:8080/file/banner.png

          在服务器上的tomcat下的webapps下边创建一个file的文件夹,以后图片上传就上传到这个文件夹里边。

          在后台管理的页面上图片的路径就是http:服务器的路径:8080/file/图片名称在外网访问

    <2>vue页面在运行的时候进一个页面首先调用的钩子函数是create。

    <3>vue+element+ui 中的日期时间组件用el-data-picker。

       上传图片用的是el-upload

   根据https://element.faas.ele.me/#/zh-CN找到需要的组件,添加需要的属性

       eg:

   <el-date-picker

          v-model="obj.endTime"

          type="datetime"

          value-format="yyyy-MM-dd HH:mm:ss" //这个属性就是设置传入后台的时间格式是:2019-10-16 13:24:00 若是不设置这个属性传入后台的数据格式类                          //似2019-10-15T13:45:30这种格式的。 

          placeholder="选择结束日期时间">

        </el-date-picker>

     <4>打包vue项目的时候找到package.json找到"build:prod": "vue-cli-service build",点击左侧绿色的小三角运行打包,在dist文件里的文件就是打包好的

三、部署项目:

<1>配置java开发环境

第一步:我们要下载java开发工具包JDK 下载,

第二步:下载完成之后根据提示进行安装

第三步:安装完成之后,我们需要配置一下环境变量,右击”我的电脑”,点击”属性”,选择”高级系统设置”;

  1. 选择”高级”选项卡,点击”环境变量”
  2. 在”系统变量”中设置三项属性,如果属性已经存在则选择编辑,不存在则选择新建
  3. 第一个属性是JAVA_HOME(不区分大小写),参数是:D:\java\jdk_1.8.0    //  这里填写的是你自己的实际安装路径
  4. 第二项属性是CLASSPATH(同样不区分大小写),参数是:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
  5. 第三项属性是Path,参数,参数是:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
  6. 测试运行:开始” -> “运行”,键入”cmd”,回车,在命令框输入命令java –version。若是出现java version的信息说明配置

 

<2>Mysql安装

<3>Navicat安装

<4>Redis安装

<5>Tomcat

第一步:把打包好的项目解压放在webapp的文件夹下边,

第二部:打开bin目录,找到startup

Tomcat启动成功

存放图片的目录也在项目的同目录下创建field的文件

<6>Nginx配置config文件

nginx服务器的配置信息主要集中在nginx.conf这个配置文件中,主要是由6部分组成:

  1. main:用于进行nginx全局信息的配置
  2. events:用于nginx工作模式的配置
  3. http:用于进行http协议信息的一些配置
  4. server:用于进行服务器访问信息的配置
  5. location:用于进行访问路由的配置
  6. upstream:用于进行负载均衡的配置

  • 其中,http模块nginx最核心的一个模块,配置项也是比较多的,项目中会设置到很多的实际业务场景,需要根据硬件信息进行适当的配置,常规情况下,使用默认配置即可!server:一个虚拟主机的配置,一个http中可以配置多个server
  • server_name:用于指定ip地址或者域名,多个配置之间用空格分隔
  • root:表示整个server虚拟主机内的根目录,所有当前主机中web项目的根目录
  • index:用户访问web网站时的全局首页
  • charset:用于设置www/路径中配置的网页的默认编码格式
  • access_log:用于指定该虚拟主机服务器中的访问记录日志存放路径
  • error_log:用于指定该虚拟主机服务器中访问错误日志的存放路径

location模块是nginx配置主要用于配置路由访问信息

location /:表示匹配访问根目录

root:用于指定访问根目录时,访问虚拟主机的web目录

index:在不指定访问具体资源时,默认展示的资源文件列表

反向代理配置方式

通过反向代理代理服务器访问模式,通过proxy_set配置让客户端访问透明化

 如果是多台服务器的话,则在此配置,并修改 location 节点下面的 proxy_pass

upstream flask {

        server 127.0.0.1:5000;//服务器的ip+端口号

        server 127.0.0.1:5001;

}

server {

        # 监听80端口

        listen 80 default_server;

        listen [::]:80 default_server;

 

        root /var/www/html;

 

        index index.html index.htm index.nginx-debian.html;

 

        server_name _;

 

        location / {

                # 请求转发到gunicorn服务器

                proxy_pass http://127.0.0.1:5000;

                # 请求转发到多个gunicorn服务器

                # proxy_pass http://flask;

                # 设置请求头,并将头信息传递给服务器端

                proxy_set_header Host $host;

                # 设置请求头,传递原始请求ip给 gunicorn 服务器

                proxy_set_header X-Real-IP $remote_addr;

        }

}

<7>Nginx命令

启动nginx  (1)双击nginx.exe

nginx -s reload|reopen|stop|quit  #重新加载配置|重启|停止|退出 nginx

nginx -t   #测试配置是否有语法错误

nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

 -?,-h           : 打开帮助信息

-v              : 显示版本信息并退出

-V              : 显示版本和配置选项信息,然后退出

-t              : 检测配置文件是否有语法错误,然后退出

-q              : 在检测配置文件期间屏蔽非错误信息

-s signal       : 给一个 nginx 主进程发送信号:stop(停止), quit(退出), reopen(重启), reload(重新加载配置文件)

-p prefix       : 设置前缀路径(默认是:/usr/local/Cellar/nginx/1.2.6/)

-c filename     : 设置配置文件(默认是:/usr/local/etc/nginx/nginx.conf)

-g directives   : 设置配置文件外的全局指令

 

 

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值