- ALL
- linux31
- java27
- 工具13
- vue5
- nas5
- 其他5
- 前端5
- 数据库4
- git3
- framework3
- windows3
- ai2
- app2
- hexo2
- spring2
- api1
- 资源1
- docker1
- mysql1
- 安全1
- markdown1
- question1
- maven1
- nginx1
nginx配置说明
何为反向代理?
在介绍反向代理之前,先来了解一下正向代理。
正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。下面是正向代理的原理图。
由于工作环境原因,日常工作只能局限于单位的局域网,如果想要访问互联网,怎么办呢?这就需要用到正向代理。本人经常用正向代理来进行上网。
反向代理:看下面原理图,就一目了然。其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。
正向代理和反向代理的区别,一句话就是:如果我们客户端自己用,就是正向代理。如果实在服务器用,我们用户无感知,就是反向代理。
这里有个问题:反向代理服务器,怎么选择挂在它后面的哪一台具体服务器呢?答案在后文揭晓,这就是负载均衡。
2
Nginx配置文件
在学习 Nginx 之前,我们要熟知它的配置文 ...
物理机器重装为CenterOS系统
物理机器重装为CenterOS系统流程及踩坑
1.bios 设置
重启电脑按F2 或者F12 进去bios系统
将bios中Secure Boot 的Enable 勾选去除,否则会影响网卡配置等功能
修改硬盘模式将SATA Operation 的ATA 修改为AHCI 模式,否则centeros安装时无法读取本地硬盘
设置Boot Sequence 中USB选项调整到第一行
系统——>安装位置 中将所有硬盘删除并回收空间。
2.重启机器
重启并安装centeros,如果需要使用桌面模式需要在 软件->软件安装 中勾选相关的插件安装。
3.挂载硬盘
3.1 查看所有硬盘
fdisk -l
3.2 格式化硬盘
mkfs.ext4 /dev/sda
3.3 执行硬盘挂载
#mount 需要挂载的硬盘名称 需要挂载的位置
mount /dev/sda /mnt/data/
3.4 设置开机自动挂载
vim /etc/fstab
//打开后,在最后一行加入以下代码:
/dev/sda /mnt/data ext4 defaults 0 1
4.配置网卡驱动
centeros安装完成 ...
阿里云codeup的CI/CD工具
一.后端发布(以springboot项目为例)
1.新建流水线
2.选择模板
根据不同开发环境选择不同模板,或者直接选择空白模板。
3.选择代码源
选择需要自动化发布的代码仓库和默认分支。
4.代码规约扫描及单元测试
1.代码规约扫描
静态扫描->java代码规约扫描
2.maven单元测试
mvn -B test -Dmaven.test.failure.ignore=true
mvn surefire-report:report-only
mvn site -DgenerateReports=false
3.运行日志及结果
点击即可查看运行结果
5.java构建上传
添加步骤
1.java构建
选择JDK版本、maven版本,配置构建命令。
mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip
2.构建物上传
打包路径即为target/打包名称
打包名称为pom.xml中打包名称
6.主机部署
制品为Java构建上传成功生成的制品
发布主机通过agent部署在内/外网主机上
...
在CenterOS中安装nginx
直接安装
安装依赖包
# 一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
下载并解压安装包
# 创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
# 下载tar包
wget http://nginx.org/download/nginx-1.25.3.tar.gz
tar -xvf nginx-1.25.3.tar.gz
安装nginx
# 进入nginx目录
cd /usr/local/nginx/nginx-1.25.3
# 执行默认安装命令
./configure
# 或者可以增加插件安装
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module
# 执行make命令
make
# 覆盖安装执行make install命令
make install
配置nginx.co ...
在CenterOS中安装PostgreSql,并启用时序库timescaledb插件
下载postgresql
sudo yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
添加repo
sudo tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/7/\$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=3 ...
在CenterOS中安装MySql
MySQL 5.7
常用方式
下载tar包,这里使用wget从官网下载
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
将mysql安装到/usr/local/mysql下
# 解压
tar -xvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
# 移动
mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/
# 重命名
mv /usr/local/mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql
新建data目录
mkdir /usr/local/mysql/data
新建mysql用户、mysql用户组
# mysql用户组
groupadd mysql
# mysql用户
useradd mysql -g mysql
将/usr/local/mysql的所有者及所属组改为mysql
chown -R ...
java ftp文件上传实例
配置ftp上传路径
读取的model FtpProperties
package com.lyc.ftp.utils;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* 功能:
*
* @author chenQi
* @version 1.0
* @date 2020/11/16 15:24
*/
@Data
@ConfigurationProperties(prefix = "ftp")
@Component
public class FtpProperties {
private String url;
private Integer port;
private String username;
private String password;
private St ...
idea插件easy code代码生成模版
entity
##导入宏定义
$!define
$!prefix
##保存文件(宏定义)
#save("/entity${prefixPathPipe}", "Entity.java")
##包路径(宏定义)
#setPackageSuffix("entity${prefixPathDot}")
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
#set($pk = $tableInfo.pkColumn.get(0))
#end
##自动导入包(全局变量)
$!autoImport
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimen ...
在CenterOS中安装mqtt
下载路径
mqtt客户端地址
下载命令
wget http://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz
解压
tar zxvf mosquitto-1.4.9.tar.gz
安装mosquitto依赖库
yum install gcc-c++
yum install cmake
yum install openssl-devel
扩展插件(可不安装)
#c-areas 支持异步DNS查找的库
wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
tar xvf c-ares-1.10.0.tar.gz
cd c-ares-1.10.0
./configure
make
sudo make install
#lib-uuid 支持为每个连接客户端生成唯一uuid
yum install libuuid-devel
#libwebsockets 支持需使用websocket的应用
wget https://github.com/warmcat/libwebsock ...
问题记录与解决
新建maven项目右侧缺少maven窗口
解决方法
顶级包下pom.xml 右键add as a maven project
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-netflix-ribbon?
解决方法
顶级包下pom.xml 右键add as a maven project
yml 中文件@包裹的字符无法识别 如@artified@
解决方法
在项目发布路径 执行命令mvn spring-boot:run
git 提交443错误 LibreSSL SSL_connect: SSL_ERRO ...