当前位置: 首页 > news >正文

Nignx服务器,项目部署和Yapi,Swagger工具

目录

Nginx概述

安装过程

nginx基本命令

配置文件

部署静态资源

代理

 负载均衡

 前后端分离

简介

开发流程示例图

前端技术栈

开发工具

技术框架

 YAPI(定制接口)

简介

Swagger

开发流程

 常用注解 

项目部署

项目架构

 服务器

 部署前端(后端maven打包,前端webpack打包)

后端部署


Nginx概述

安装过程

Nginx——centos7通过yum方式快速安装Nginx并测试是否安装成功(图解版)_小志的博客的博客-CSDN博客_验证nginx部署成功
参考这个即可,我的服务器是centos7。

下面是nginx的安装重点目录结构。

nginx基本命令

查看版本

nginx -v
检查配置文件是否有错

nginx -t

我的html目录在
/usr/share/nginx/html;
我的配置文件在
/etc/nginx/conf.d/default.conf


如果出现xftp传输文件失败
我们点击传输失败的文件右键点击状态
如果是permission is not allowed
我们需要给要传输到的文件赋予777权限。
sudo chmod 777 文件夹名
然后再试一遍就成功了。

启动

 nginx 

停止

nginx -s stop

重新加载

nginx -s reload

查看进程状态

ps -ef | grep nginx

设置开机自启
systemctl enable nginx.service

进程状态:

下面我们就可以用ip在局域网直接访问一下了,会出现这个页面。(例:192.168.131.125)

配置文件

部署静态资源

报403的打开html的权限,chomd 777 hello.html

代理

正向代理

反向代理

 和正向代理不同,反向代理相当于是为目标服务器工作的,当你去访问某个网站时,你以为你访问问的是目标服务器,其实不然,当你访问时,其实是由一个代理服务器去接收你的请求。

 负载均衡

 按权重分发的例子(默认算法为轮询 )

分发算法策略

 前后端分离

简介

开发流程示例图

前端技术栈

开发工具

Visual Studio Code

hbuilder

技术框架

nodejs :简单的说 Node.js 就是运行在服务端的 JavaScript。

VUE:

  1. VUE是一套前端框架,免除了原生JavaScript中的DOM操作,简化书写 
  2. VUE基于MVVM(Model-View_ViewModel)思想,实现数据双向绑定

ElementUI:

它是由饿了么前端团队推出的基于 Vue 封装的 UI 组件库,提供PC 端组件,简化了常用组件的封装,降低开发难度。

mock: 一个前端测试工具

webpack:

webpack 是代码编译工具,有入口、出口、loader 和插件。webpack 是一个用于现代JavaScript应用程序的静态模块打包工具。

 YAPI(定制接口)

简介

下面是这个工具的可视化页面。

还有一个工具APIFOX好像也不错。这个部署好像有点麻烦。

百度直接搜索即可。

Swagger

开发流程

1.导入maven坐标。

<!--        swagger-->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>3.0.2</version>
        </dependency>

2.导入相关配置类和设置静态资源映射

@Slf4j
@Configuration
@EnableSwagger2//swagger配置
@EnableKnife4j//swagger配置
public class WebMvcConfig extends WebMvcConfigurationSupport {

    /**
     * 设置静态资源映射
     * @param registry
     */
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("开始进行静态资源映射...");
        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
        registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/");
        registry.addResourceHandler("/front/**").addResourceLocations("classpath:/front/");
    }

    /**
     * 扩展mvc框架的消息转换器
     * @param converters
     */
    @Override
    protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
        log.info("扩展消息转换器...");
        //创建消息转换器对象
        MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();
        //设置对象转换器,底层使用Jackson将Java对象转为json
        messageConverter.setObjectMapper(new JacksonObjectMapper());
        //将上面的消息转换器对象追加到mvc框架的转换器集合中
        converters.add(0,messageConverter);
    }

    //swagger配置
    @Bean
    public Docket createRestApi() {
        // 文档类型
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.ys.reggie.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("瑞吉外卖")
                .version("1.0")
                .description("瑞吉外卖接口文档")
                .build();
    }
}

4.在过滤器中开放访问路径。

       "/doc.html",
       "/webjars/**",
       "/swagger-resources",
       "/v2/api-docs"

然后启动项目,访问loaclhost:8080/doc.html,我们就可以看到以下界面。

 常用注解 

项目部署

项目架构

 服务器

 部署前端(后端maven打包,前端webpack打包)

我的html目录在
/usr/share/nginx/html;
我的配置文件在
/etc/nginx/conf.d/default.conf


如果出现xftp传输文件失败
我们点击传输失败的文件右键点击状态
如果是permission is not allowed
我们需要给要传输到的文件赋予777权限。
sudo chmod 777 文件夹名
然后再试一遍就成功了。

然后修改反向代理配置文件

 加api让ngxin区分请求进行反代。

本来的访问路径是http:192.168.138.100/api/employee/login

rewrite重写了访问路径,反向代理发给后端的是http://192.168.138.101:8080/employee/login

后端部署

首先将以下东西安装。

​
要用xshell的话,先检查一下是否安装了ssh,没有安装的话运行这个

sudo apt-get install ssh 就可以了,推荐这个博主。

Ubuntu不能连接xshell的原因_爱吃苹果的梨叔的博客-CSDN博客_ubuntu xshell连接不上

jdk安装方法:Ubuntu系统安装JDK教程_XiaoHongyong的博客-CSDN博客_ubuntu安装jdk

maven 安装:sudo apt-get install maven

检测Maven版本:mvn -v

更多详情:Ubuntu安装maven_普通网友的博客-CSDN博客_ubuntu安装maven

git 安装:sudo apt-get install git

检测版本:git --version

克隆仓库到本地

git clone 云端仓库地址

​

这里是一个自动化部署脚本。

运行脚本

 记得更改原来项目中的图片路径。

相关文章:

  • Elasticsearch 集群搭建
  • spring cloud 快速上手系列 -> 03-消息队列 Stream -> 035-发送消息
  • 【SpringBoot2】SSMP整合综合案例(上)
  • 【JavaScript】JS开发中五个常用功能/案例(41-45)(牛客题解)
  • Go 语言 设计模式-抽象工厂模式
  • 全网没有之一的API 文档:Swagger
  • dubbo环境搭建ZooKeeper注册中心
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • 欧拉函数算法的实现
  • Ubuntu 创建本地 Git 并与 Github(私有库) 交互(上传与下载)| 记录 | 踩坑
  • 6.0、软件测试——判定表法
  • 面试题~~
  • 容斥原理算法的实现
  • 【爬虫】Python使用动态IP,多线程,爬取uncomtrade的数据
  • 【国科大——认知计算】认知计算 第一次研讨课
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JavaScript中的对象个人分享
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • mysql 数据库四种事务隔离级别
  • React-生命周期杂记
  • win10下安装mysql5.7
  • windows下如何用phpstorm同步测试服务器
  • Zsh 开发指南(第十四篇 文件读写)
  • 阿里云Kubernetes容器服务上体验Knative
  • 老板让我十分钟上手nx-admin
  • 批量截取pdf文件
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 前端技术周刊 2019-01-14:客户端存储
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 写给高年级小学生看的《Bash 指南》
  • 【云吞铺子】性能抖动剖析(二)
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 翻译 | The Principles of OOD 面向对象设计原则
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (10)STL算法之搜索(二) 二分查找
  • (C语言)fread与fwrite详解
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (论文阅读40-45)图像描述1
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (杂交版)植物大战僵尸
  • (转)h264中avc和flv数据的解析
  • .bat批处理出现中文乱码的情况
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .net core Swagger 过滤部分Api
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET Reactor简单使用教程
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET 某和OA办公系统全局绕过漏洞分析
  • .net流程开发平台的一些难点(1)