自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT王小二的博客

世界上回报率最高的两样投资,一是运动,二是读书。

  • 博客(40)
  • 收藏
  • 关注

原创 域名更换为itwxe.com

域名 uukongjian.com 更换为 itwxe.com,笔名 SunnyBear 更改为 IT王小二。一、前言4 月 21 号域名备案通过,开始折腾新买的服务器,本来这篇文章在 5 月 15 日左右就要发的,不过吧,一不小心又拖到了两礼拜…其实也不是我要拖拉,刚好碰上公司项目要验收了,上礼拜周末还加了两天班,不是在修别人写的bug的路上,就是在写bug的路上。至于为啥换域名,总得来说吧有两个,第一个是原来的域名 uukongjian.com 太长了不舒服;第二个就是原来的笔名 Sunny

2021-05-27 22:03:13 88 1

原创 Let‘s Encrypt泛域名使用和Nginx配置拆分

上一期写了 使用Let’s Encrypt实现网站https化 ,随着二级域名的增多,每个二级域名需要一张 SSL 证书,这可太不优雅了,泛域名表示我可以更优雅。作者:IT王小二博客:https://itwxe.com本来 Let’s Encrypt 泛域名使用、Nginx 配置拆分是准备分成两篇文章来写的,可是两篇文章又感觉篇幅过短和冗余。所以最后决定写在一篇里面吧,同时把整个流程写明白,之前有人问有了证书怎么搭配 Nginx 来配置,这篇从域名映射到Nginx配置完成的保姆级教程,小二求个

2021-08-19 14:36:59 1133 1

原创 基于Gitea搭建属于自己的Git服务

作者:IT王小二博客:https://itwxe.com一、搭建环境和前提搭建环境:操作系统:CentOS7.6Docker版本:docker-ce-18.09.9Lsky Pro版本:1.6.3MySQL版本:5.7安装前提Gitea 可以使用 MySQL、PostgreSQL、MSSQL、SQLite3 作为数据库存储,如果你对其中某个数据库熟悉可以选择相应的数据库,我选择的是 MySQL。所以前提需要安装好 Docker 和 MySQL,如果你已经有这两个环境了,那么可以跳.

2021-08-15 16:48:24 1012 3

原创 Typora+PicGo+LskyPro打造舒适写作环境

工欲善其事,必先利其器。这篇文章教你 Typora + PicGo + LskyPro 打造舒适写作环境。作者:IT王小二博客:https://itwxe.com不知不觉停更好多天啊,最近比较工作和业余都比较忙。工作忙着修bug和写 bug;业余最近折腾了一下博客,使用了泛域名,Nginx配置拆分,博客网站样式优化,博客增加CDN等等…后面这些都会写成文章,感兴趣的小伙伴欢迎关注啊。写作方面图床从自建 MinIO 迁移到了自建图床 Lsky Pro,这也是本篇的重点内容啦,同时开通了自己的微信

2021-08-12 13:36:41 56

原创 Docker编排利器DockerCompose

Docker 编排利器 DockerCompose,编排之后可以一次性通过一条命令启动一组服务例如一条命令启动 SpringBoot 项目,同时启动 SpringBoot 项目依赖的其他中间件(MySQL、Redis等)系列文章欢迎访问:https://www.itwxe.com/posts/9e76db89/一、安装DockerCompose1、下载 Docker Compose 。curl -L https://get.daocloud.io/docker/compose/release.

2021-07-26 12:51:13 40 1

原创 Docker搭建Redis5.0并挂载数据

记录 Docker 搭建 Redis5.0 并挂载数据过程,搭建参考自 Docker Hub系列文章欢迎访问:https://www.itwxe.com/posts/9e76db89/一、简单挂载持久化数据docker run -d -p 6379:6379 --name redis \-v /itwxe/dockerData/redis/data:/data \redis:5.0.8 redis-server --appendonly yes这样仅仅是挂载了数据,Redis 没有密码等.

2021-07-21 12:41:39 49 3

原创 Docker搭建MySQL并挂载数据

记录 Docker 搭建 MySQL 并挂载数据过程,搭建过程参考自 Docker Hub系列文章欢迎访问:https://www.itwxe.com/posts/9e76db89/一、Docker搭建MySQL并挂载数据1、首先安装好 Docker,不知道怎么安装的可以看下 CentOS7安装Docker初体验 。2、下载 MySQL5.7 镜像。docker pull mysql:5.73、创建容器并挂载数据。docker run -d --restart=always --nam.

2021-07-19 12:28:03 58 2

原创 Docker使用maven插件打包SpringBoot项目

上一篇介绍了使用 DockerFile 来构建镜像,这里来介绍 Docker 使用 maven 插件打包 SpringBoot 项目镜像,并且推送到指定服务器。系列文章欢迎访问:https://www.itwxe.com/posts/9e76db89/一、Docker开启远程API写在最前面,这个配置仅适用于内网服务器,公网服务器注意 docker远程API端口 暴露后别人只要知道你的 ip 和 port ,那么就可以操作你的服务器了。所以公网服务器需要额外配置 ACL 和 LTS,有需求的可.

2021-07-16 14:45:28 20

原创 DockerFile构建镜像

前面介绍了怎么通过容器生成镜像,这里来记录一下 DockerFile 构建镜像,学习参考来自 菜鸟教程系列文章欢迎访问:系列文章一、DockerFile是什么Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。– 摘自菜鸟教程说人话就是 Docker 提供了一系列的指令,Docker 引擎可以通过这些指令来构建出镜像。二、DockerFile指令1 FORMFORM 基础镜像必须放在 DOckerfile 的第一行,表示从哪个 基础.

2021-07-14 14:22:39 21

原创 Docker基本操作

Docker容器及镜像的基本操作,操作命令和Linux极其相似,比较简单,本文仅演示部分命令。同时个人学习过程中命令参考来自 菜鸟教程 ,个人认为入门命令或许最轻松简单的就是这里了,每条命令运行完都有示例结果。系列文章欢迎访问:系列文章一、镜像操作1. 镜像操作常用命令# 列出本地镜像列表docker images# 获取镜像docker pull [镜像名:版本]# 删除镜像docker rmi [镜像名:版本或镜像ID]# Dockerfile 创建镜像docker.

2021-07-12 12:38:21 21

原创 CentOS7安装Docker初体验

CentOS7安装Docker初体验系列文章欢迎访问:系列文章一、安装Docker1、安装依赖。yum -y install yum-utils device-mapper-persistent-data lvm22、配置安装 Docker 的仓库为阿里云。yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum clean all &&am.

2021-07-09 12:31:01 17 1

原创 揭开Docker的面纱

开新坑了,开始挖坑Docker了,兄弟们。为什么需要Docker呢?Docker是什么?这里开始揭开Docker的面纱。一、为什么需要Docker可能每个开发人员都有一种困扰,软件开发完之后部署项目,明明测试环境部署了一点问题没有,怎么一到正式环境就出错呢?这种情况有时候问题可能就出在环境配置上,操作系统版本是否一致,软件运行依赖库版本是否一致,操作系统设置是否一致…等等都有可能造成部署失败。那么有没有一种办法可以保持所有机器的环境配置都一致呢,这样同时也方便我们迁移系统,不然每次扩容部.

2021-07-07 09:24:39 12

原创 nginx+keepalived高可用

一次面试过程中…面试官:你这个使用 nginx 做负载,是使用单台 nginx 吗?如果 nginx 挂了怎么办?我:是的,由于业务访问量不大 nginx 挂的可能性不大,考虑服务的稳定性可以使用 keepalived。面试官:你知道实现的思路和配置吗?我:。。。一、传统高可用tomcat 高可用的思路是在 tomcat 集群前面加一层负载nginx,如下图:但是这种结构一旦 nginx 挂掉了,那么整个服务就瘫痪了。二、LVS思想解决高可用问题1. 什么是LVSLVS是Lin

2021-07-01 09:23:17 11

原创 使用Let’s Encrypt实现网站https化

使用 Let’s Encrypt 证书和搭配 Nginx 实现网站 https 化。一、SSL证书获取由于 Let’s Encrypy 申请的 SSL 证书只有三个月的有效期,为了实现自动续期,使用 acme.sh 脚本来获取且自动续期。使用过程中如有问题参考 acme官方文档 ,文档有中文说明,下面记录我自己的操作。1. 下载脚本并安装下载脚本并安装,将邮箱设置成自己的。wget -O - https://raw.githubusercontent.com/acmesh-official/

2021-06-30 09:26:43 32 1

原创 ZooKeeper分布式锁的实现

ZooKeeper分布式锁的实现。在分布式的情况下,sychornized 和 Lock 已经不能满足我们的要求了,那么就需要使用第三方的锁了,这里我们就使用 ZooKeeper 来实现一个分布式锁。一、分布式锁方案比较方案实现思路优点缺点利用 MySQL 的实现方案利用数据库自身提供的锁机制实现,要求数据库支持行级锁实现简单性能差,无法适应高并发场景;容易出现死锁的情况;无法优雅的实现阻塞式锁利用 Redis 的实现方案使用 Setnx 和 lua 脚本机制实

2021-06-29 09:11:01 44 1

原创 ZooKeeper集群解析

ZooKeeper集群解析。这篇文章中来介绍一下 ZooKeeper 相关的集群角色,还有 ZAB协议,集群的安装在 ZooKeeper入门 中有介绍。一、ZooKeeper集群中的角色Leader 集群工作机制中的核心事务请求的唯一调度和处理者,保证集群事务处理的顺序集群内部个服务器的调度者(管理 follower,数据同步),为客户端提供读和写的服务,负责投票的发起和决议,更新系统状态。Follower 集群工作机制中的跟随者处理非事务请求,为客户端提供读服务,如果是写服务则转发给Leade

2021-06-28 09:32:13 58 1

原创 ZooKeeper Java客户端

ZooKeeper Java客户端。这里介绍两个客户端,一个为 ZooKeeper 原生客户端,一个为 ZkClient。首先创建一个maven项目,pom文件中添加依赖。<!-- 原生 --><dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4

2021-06-25 09:20:33 61 1

原创 ZooKeeper入门

ZooKeeper入门。一、ZooKeeper简介ZooKeeper 致力于提供一个高性能、高可用,且具备严格的顺序访问控制能力的分布式协调服务,是雅虎公司创建,是 Google 的 Chubby 一个开源的实现,也是 Hadoop 和 Hbase 的重要组件。1. ZooKeeper优点简单的数据结构:共享的树形结构,类似文件系统,存储于内存。可以构建集群:避免单点故障,3-5 台机器就可以组成集群,超过半数正常工作就能对外提供服务。顺序访问:对于每个读请求,ZooKeeper 会分配一个

2021-06-24 15:40:58 65

原创 实现一个并发任务执行框架

实现一个并发任务执行框架。问题参考来自网络一、需求产生和分析公司里有两个项目组,考试组有批量的离线文档要生成,题库组则经常有批量的题目进行排重和根据条件批量修改题目的内容。架构组通过对实际的上线产品进行用户调查,发现这些功能在实际使用时,用户都反应速度很慢,而且提交任务后,不知道任务的进行情况,做没做?做到哪一步了?有哪些成功?哪些失败了?都一概不知道架构组和实际的开发人员沟通,他们都说,因为前端提交任务到 Web 后台以后,是一次要处理多个文档和题目,所以速度快不起来。提示用多线程进行改进,

2021-06-23 09:30:56 73

原创 并发安全和死锁

并发安全和死锁。一、并发安全1. 什么是线程安全性当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在调用代码中不需要任何额外的同步或者协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的 – Java并发编程实战那么怎么实现线程安全呢?可以使用下面的这些方式。2. 线程封闭1、实现好的并发是一件困难的事情,所以很多时候我们都想躲避并发。避免并发最简单的方法就是线程封闭。什么是线程封闭呢?就是把对象封装到一个线程里,只有这一个线程能看到此

2021-06-22 12:26:02 98

原创 Java线程池

Java线程池。一、为什么要用线程池1、降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。2、提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。3、提高线程的可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。二、ThreadPoolExecutor的类关系Executor 是一个接口,它是 Executor 框架的基础,它将任务的提交与任务的执行分离开来。ExecutorServ

2021-06-21 12:26:06 76

原创 Java并发容器

并发容器。一、小知识1. hash就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。常用 HASH 函数:直接取余法、乘法取整法、平方取中法。hash冲突的处理办法。1、开放寻址法。2、再散列法。3、链地址法(拉链法)常用 h

2021-06-20 15:24:36 57

原创 Java显式锁

Java 显式锁。一、显式锁什么是显式锁?由自己手动获取锁,然后手动释放的锁。有了 synchronized(内置锁) 为什么还要 Lock(显示锁)?使用 synchronized 关键字实现了锁功能的,使用 synchronized 关键字将会隐式地获取锁,但是它将锁的获取和释放固化了,也就是先获取再释放。与内置加锁机制不同的是,Lock 提供了一种无条件的、可轮询的、定时的以及可中断的锁获取操作,所有加锁和解锁的方法都是显式的。二、Lock的常用api方法名称描述

2021-06-18 15:05:45 56

原创 Java线程的并发工具类

Java线程的并发工具类。一、fork/join1. Fork-Join原理在必要的情况下,将一个大任务,拆分(fork)成若干个小任务,然后再将一个个小任务的结果进行汇总(join)。适用场景:大数据量统计类任务。2. 工作窃取Fork/Join在实现上,大任务拆分出来的小任务会被分发到不同的队列里面,每一个队列都会用一个线程来消费,这是为了获取任务时的多线程竞争,但是某些线程会提前消费完自己的队列。而有些线程没有及时消费完队列,这个时候,完成了任务的线程就会去窃取那些没有消费完成的线程的

2021-06-17 16:59:21 56

原创 线程基础、线程之间的共享和协作

线程基础、线程之间的共享和协作。一、基础概念1. 进程和线程进程是操作系统进行程序运行资源(资源包括:CPU、内存空间、磁盘 IO 等)分配的最小单位,例如我们的 idea,chrome就是一个进程。线程是 CPU 调度的最小单位,必须依赖于进程而存在,一个进程存在一个或多个线程。2. CPU核心数和线程数的关系多核心:也指单芯片多处理器( Chip Multiprocessors,简称 CMP),CMP 是由美斯坦福大学提出的,其思想是将大规模并行处理器中的 SMP(对称多处理器)集成

2021-06-16 12:20:57 71

原创 JVM性能优化

JVM 性能优化。一、内存溢出内存溢出的原因:程序在申请内存时,没有足够的空间。1. 栈溢出方法死循环递归调用(StackOverflowError)、不断建立线程(OutOfMemoryError)。2. 堆溢出不断创建对象,分配对象大于最大堆的大小(OutOfMemoryError)。3. 直接内存JVM 分配的本地直接内存大小大于 JVM 的限制,可以通过-XX:MaxDirectMemorySize 来设置(不设置的话默认与堆内存最大值一样,也会出现OOM 异常)。4. 方法区溢

2021-06-15 10:12:19 463 2

原创 JVM 的执行子系统

JVM 的执行子系统。一、Class类文件结构1. JVM的平台无关性与平台无关性是建立在操作系统上,虚拟机厂商提供了许多可以运行在各种不同平台的虚拟机,它们都可以载入和执行字节码,从而实现程序的一次编写,到处运行。各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石,也是语言无关性的基础。Java 虚拟机不和包括 Java 在内的任何语言绑定,它只与“Class 文件”这种特定的二进制文件格式所关联,Class 文件中包含了 Java 虚拟机

2021-06-13 15:00:57 1025 1

原创 JVM 垃圾回收算法和垃圾回收器

JVM 垃圾回收算法和垃圾回收器。一、垃圾回收的区域栈:栈中的生命周期是跟随线程,所以一般不需要关注。堆:堆中的对象是垃圾回收的重点。方法区:这一块也会发生垃圾回收,不过这块的效率比较低,一般不是我们关注的重点。二、怎么判断对象的存活一般有两种方式(引用计数法、可达性分析),JVM使用的是可达性分析。1. 引用计数法给对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象可被回收(Python 在用,但主流虚拟机没有使用)。优点:快

2021-06-12 12:23:59 62

原创 JVM中的对象

JVM中的对象。一、对象的创建过程检查加载 -> 分配内存 -> 内存空间初始化 -> 设置 -> 对象的初始化1. 检查加载虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那么必须先执行相应的类加载过程。2. 分配内存根据方法区的信息确定为该类分配的内存空间大小。但是分配内存时主要注意两个问题1、如何分配空间指针碰撞:假设Java堆中内存是绝对规整

2021-06-11 14:55:15 53

原创 JVM组成结构

JVM组成结构。一、JavaSE体系JavaSE,Java 平台标准版,为 Java EE 和 Java ME 提供了基础。JDK:Java 开发工具包,JDK 是 JRE 的超集,包含 JRE 中的所有内容,以及开发程序所需的编译器和调试程序等工具。JRE:Java SE 运行时环境 ,提供库、Java 虚拟机和其他组件来运行用 Java 编程语言编写的程序。主要类库,包括:程序部署发布、用户界面工具类、继承库、其他基础库,语言和工具基础库。JVM:Java 虚拟机,负责 JavaSE 平台

2021-06-10 09:28:17 54

原创 Redis高可用

有时候单机形式下的redis性能不足时可能会挂掉导致系统服务异常,为了解决这个问题就有了下面这个内容。一、Redis主从复制1. 主从复制的理解类似于MySQL的读写分离,一台Redis(主节点)进行写,其他Redis(从节点)进行读。从节点建议用只读模式 slave-read-only=yes, 若从节点修改数据,主从数据不一致,主节点数据更改后从节点数据又被覆盖,没有任何意义。传输延迟:主从一般部署在不同机器上,复制时存在网络延时问题,redis 提供。repl-disable-tcp-

2021-06-09 19:43:41 54 1

原创 Redis性能测试、jedis连接原理、弱事务

Redis 性能测试、jedis连接原理、弱事务。一、性能测试、jedis连接原理1. 什么是Redis慢查询和MySQL一样:当sql执行时间超过 long_query_time 参数设定的时间阈值(比如2秒)时,会发生耗时命令记录。通信流程如下:redis命令的生命周期:发送、排队、执行、返回。redis 的所有指令全部会存放到队列, 由单线程按顺序获取并执行指令。如果某个指令执行很慢, 会出现阻塞, 以上图可以得出: Redis 的慢查询指的是在执行第 3 个操作的时候发生的。2.

2021-06-09 09:17:33 76 2

原创 Redis常见应用场景

Redis常见应用场景。如果还不清楚Redis常用操作指令请访问 Redis入门,或者访问 文档网站。一、String 场景计数功能:例如掘金文章点击数量,阅读数量。集群环境下的session共享。二、Hash 场景各种 商城购物车 (淘宝,京东。。)设计思路购物车绑定了 userId。商品id作为feild,商品数量作为value。模拟过程// 初始化购物车数据hmset userId:1 prod:1 1 prod:2 3 prod:3 4// 增加商品 prod:

2021-06-08 09:21:02 78

原创 Redis入门

Redis入门操作。一、Redis的安装Redis安装请查看 Linux(CentOS7)安装Redis5.0。二、Redis是什么Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。1、Redis安装在磁盘。2、Redis数据存储在内存。三、快速理解Redis使用Redis是一种键值对(key-value)高性能缓存数据库,类似于Java中的Map<key, value> 。四、Redis

2021-06-07 09:13:00 62 2

原创 Linux(CentOS7)安装Redis5.0

记录一下自己在 Linux(CentOS 7) 下安装 Redis5.0.8 过程。一、准备工作1. 下载Redis从 Redis官网 下载后上传CentOS目录 /usr/local ,当然,你也可以使用 wget 命令下载。2. 安装编译环境yum -y install gcc-c++3. 开放访问端口如果需要远程访问,需要打开访问端口,云服务器还需控制台配置安全组访问。# 查看想开的端口是否已开,若此提示FirewallD is not running, 表示为不可知的防火墙 需要

2021-06-04 09:13:20 66

原创 Linux(CentOS7)下二进制安装MySQL5.7.26

记录一下自己在 CentOS7 下二进制安装 MySQL5.7.26 的过程,之前使用 Linux(CentOS7)下rpm安装MySQL8.0.16 之后发现 rpm 方式安装不利于维护,也不利于单机安装 MySQL 多实例,所以这里记录一下二进制安装过程,理论上8.0二进制安装按此方法也没问题,毕竟官方文档 5.7和8.0 版本的安装文档步骤都一致。一、准备工作1. 下载MySQL所需要的安装包从 MySQL官网 下载,上传至 CentOS 系统 /usr/local/ 目录下,当然你也可以使用

2021-06-03 15:38:40 57

原创 Linux(CentOS7)下rpm安装MySQL8.0.16

记录一下自己在 CentOS7 下 rpm 安装 MySQL8.0.16 的过程。一、准备工作1. 下载MySQL所需要的安装包从 MySQL官网 下载,上传至 CentOS 系统 /usr/local/MySQL 目录下,当然你也可以使用 wget 命令直接下载至 CentOS,此处使用的 8.0.16 版本。# 你想要的版本Product Version: 8.0.16# CentOS选择Red Hat Enterprise Linux / Oracle LinuxOperating S

2021-06-02 15:07:01 63

原创 Linux(CentOS7)下配置多个tomcat

记录 Linux(CentOS7) 下配置多个 tomcat 的操作过程。一、下载tomcat前提:安装配置好jdk环境,未配置可参考Linux(CentOS7)下安装jdk1.8。从 tomcat官网 选择你想要的 tomcat 版本下载后上传 Linux,我的版本是 apache-tomcat-8.5.41.tar.gz,把 tomcat 放在 /usr/local/tomcat 目录下,可根据需要修改。二、解压并重命名的tomcat解压 tomcat。tar -zxvf apache

2021-06-02 09:49:36 59

原创 Linux(CentOS7)下安装jdk1.8

Linux(CentOS7) 下安装 jdk1.8 操作过程。一、检查是否自带jdkrpm -qa|grep java如果存在则用下面命令删除,xxx yyy zzz代表查询出来的自带jdk名称,名称中间用空格隔开,至今为止没碰到过自带的。rpm -e --nodeps xxx yyy zzz二、下载jdk上传推荐从 jdk官网 下载,虽然下载需要登录(密码设置还麻烦),并且下载速度不是很快,但是安全,此处使用 jdk8 的最后一个商业免费版本 jdk-8u202-linux-x64.ta

2021-06-01 16:46:52 73

原创 Linux(CentOS7)下Nginx安装

记录一下 Linux(CentOS7) 下 Nginx 安装过程一、准备工作版本说明:Linux版本:CentOS 7 64位Nginx版本:nginx-1.20.01. 下载安装文件采用源码包方式安装,当然使用 yum 方式安装也可以,此处使用源码包安装。进入目录(个人习惯/usr/local),下载安装文件,如果云服务器下载速度过慢也可本地下载后上传。cd /usr/localwget http://nginx.org/download/nginx-1.20.0.tar.gz

2021-06-01 10:43:43 68

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除