1

  • centos7安装docker
  • docker-compose
  • docker安装软件
  • VMware安装centos7
  • centos安装jdk
  • centos安装zookeeper
  • centos安装tomcat
  • tomcat日志分割
  • centos8更换yum源
  • centos8安装卸载rpm源
  • centos安装nginx
  • centos升级nginx(1.13.1 -- 1.20.2)
  • centos8通过yum安装MySql5.7
  • centos7离线安装gcc
  • centos8离线安装MySql5.7
  • mysql升级(备份·重新安装方式)
  • mysql定时全量备份
  • mysql主从设置
  • centos7安装redis
  • centos8升级openssl8.0p1 -》 9.3p1
  • centos7升级openssl-》8.8p1(高危漏洞)
  • 检测到目标主机上运行着NTP服务(低危漏洞)
  • 允许Traceroute探测, ICMP timestamp请求响应漏洞处理(低危漏洞 firewall)
  • 允许Traceroute探测, ICMP timestamp请求响应漏洞处理(低危漏洞)
  • iptables开启端口
  • centos7清理磁盘
  • centos7卸装redis
  • centos7安装svn
  • centos7安装ftp服务端
  • 错误 AppStream
  • 日志分割
  • Windows安装版本
  • Windows压缩包版本
  • maven导入本地jar包
  • Windows修改tomcat配置
    • 日志打印 ---- 中文乱码
    • 修改端口
    • 项目部署路径方法1
    • 项目部署路径方法2
    • 项目部署目录
    • 项目部署默认首页及根目录
    • 添加新站点
    • 路径

centos7安装docker

卸载旧版本
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
#安装所需资源包
sudo yum install -y yum-utils
#设置docker下载地址
sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo#安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
# 1、创建目录
sudo mkdir -p /etc/docker# 2、配置镜像加速器地址
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://rrnv06ig.mirror.aliyuncs.com"]
}
EOF# 3、启动docker后台线程
sudo systemctl daemon-reload# 4、重启docker服务
sudo systemctl daemon-reload
#开启docker
systemctl start docker#关闭docker
systemctl stop docker#docker状态
systemctl status docker#查看docker的版本
docker -v# 查看本地主机上已有镜像的基本信息。
docker images

docker-compose

https://github.com/docker/compose/releases
下载的docker-compose文件上传到centos7的/usr/local/bin/目录下
#添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
#查看docker-compose版本
docker-compose -v

docker安装软件

#查询
docker search mysql#下载最新和指定版本
docker pull mysql
docker pull mysql:5.7

mysql

docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7/root/mysql/conf创建文件touch my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
lower_case_table_names=1docker restart  mysql
docker start  mysql
docker stop mysql
docker ps -a
docker rm mysql

redis

docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /root/redis/redis.conf:/etc/redis/redis.conf -v /root/redis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes -- --requirepass root查看日志
docker logs --since 30m myredis

redis.conf

protected-mode no
port 6379
tcp-backlog 511
requirepass root
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 30
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-max-len 128
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes

MongoDB

docker run -itd --name mongo -p 27017:27017 mongo --auth
docker run --name mongodb -p 27017:27017 -v $PWD/db:/data/db -d mongo  --authdocker exec -it  mongodb  mongosh admin
db.createUser({ user: 'admin', pwd: 'root', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
db.auth("admin","root")下面关键步骤 --auth
> use admin
switched to db admin
> db.createRole({role:'sysadmin',roles:[],privileges:[{resource:{anyResource:true}, actions:['anyAction']}]
})> db.createUser({user:'root',pwd:'root',roles:[{role:'sysadmin',db:'admin'}]
})
后面使用root-root登录

tomcat

在这里插入代码片

VMware安装centos7

  1. 创建新的虚拟机

  2. 自定义

  3. 默认点下去


  4. 设备虚拟机安装地址

  5. 根据需求修改

  6. 网络配置

  7. 默认


  8. 文件硬盘位置

  9. 自定义硬件

  10. 完成

  11. 安装







    接受更改

  12. 网络安装


    点击安装,配置root账号

外部扩展硬盘,先关闭虚拟机,扩展硬盘大小

[root@GZC ~]# df -lh
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 894M     0  894M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root  4.7G  4.5G  194M   96% /
/dev/sda1                297M  168M  130M   57% /boot
tmpfs                    182M   36K  182M    1% /run/user/0----------------------------------------------------------------------
[root@GZC ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0  300M  0 part /boot
└─sda2            8:2    0  6.3G  0 part ├─centos-root 253:0    0  4.7G  0 lvm  /└─centos-swap 253:1    0  1.7G  0 lvm  [SWAP]
sr0              11:0    1  4.4G  0 rom
----------------------------------------------------------------------
[root@GZC ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。----------------------------------------------------------------------
命令(输入 m 获取帮助):m
命令操作a   toggle a bootable flagb   edit bsd disklabelc   toggle the dos compatibility flagd   delete a partitiong   create a new empty GPT partition tableG   create an IRIX (SGI) partition tablel   list known partition typesm   print this menun   add a new partitiono   create a new empty DOS partition tablep   print the partition tableq   quit without saving changess   create a new empty Sun disklabelt   change a partition's system idu   change display/entry unitsv   verify the partition tablew   write table to disk and exitx   extra functionality (experts only)
----------------------------------------------------------------------
命令(输入 m 获取帮助):n
Partition type:p   primary (2 primary, 0 extended, 2 free)e   extended
----------------------------------------------------------------------
Select (default p): p
分区号 (3,4,默认 3):3
起始 扇区 (13887488-41943039,默认为 13887488):
将使用默认值 13887488
Last 扇区, +扇区 or +size{K,M,G} (13887488-41943039,默认为 41943039):
将使用默认值 41943039
分区 3 已设置为 Linux 类型,大小设为 13.4 GiB----------------------------------------------------------------------
命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。----------------------------------------------------------------------
[root@GZC ~]# fdisk -l 磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a731a设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      616447      307200   83  Linux
/dev/sda2          616448    13887487     6635520   8e  Linux LVM
/dev/sda3        13887488    41943039    14027776   83  Linux磁盘 /dev/mapper/centos-root:4999 MB, 4999610368 字节,9764864 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节磁盘 /dev/mapper/centos-swap:1782 MB, 1782579200 字节,3481600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节----------------------------------------------------------------------
[root@GZC ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。----------------------------------------------------------------------
命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):3
Hex 代码(输入 L 列出所有代码):L0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris        1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问       a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT
1e  隐藏的 W95 FAT1 80  旧 Minix
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
----------------------------------------------------------------------
命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。----------------------------------------------------------------------
[root@GZC ~]# fdisk -l 磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a731a设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      616447      307200   83  Linux
/dev/sda2          616448    13887487     6635520   8e  Linux LVM
/dev/sda3        13887488    41943039    14027776   8e  Linux LVM磁盘 /dev/mapper/centos-root:4999 MB, 4999610368 字节,9764864 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节磁盘 /dev/mapper/centos-swap:1782 MB, 1782579200 字节,3481600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节----------------------------------------------------------------------
[root@GZC ~]# mkfs.ext4 /dev/sda3
mke2fs 1.42.9 (28-Dec-2013)
无法对 /dev/sda3 进行 stat 调用 --- 没有那个文件或目录The device apparently does not exist; did you specify it correctly?----------------------------------------------------------------------
[root@GZC ~]# partprobe
[root@GZC ~]# mkfs.ext4 /dev/sda3
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
877824 inodes, 3506944 blocks
175347 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2151677952
108 block groups
32768 blocks per group, 32768 fragments per group
8128 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
----------------------------------------------------------------------
[root@GZC ~]# pvcreate /dev/sda3
WARNING: ext4 signature detected on /dev/sda3 at offset 1080. Wipe it? [y/n]: yWiping ext4 signature on /dev/sda3.Physical volume "/dev/sda3" successfully created.
[root@GZC ~]# pvdisplay--- Physical volume ---PV Name               /dev/sda2VG Name               centosPV Size               <6.33 GiB / not usable 4.00 MiBAllocatable           yes PE Size               4.00 MiBTotal PE              1619Free PE               2Allocated PE          1617PV UUID               VwwVJa-qYuC-efYl-TCd0-r2ms-4omv-6b1P2a"/dev/sda3" is a new physical volume of "<13.38 GiB"--- NEW Physical volume ---PV Name               /dev/sda3VG Name               PV Size               <13.38 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               XPUHjh-VrYt-lkst-4piR-UE80-xbJ9-atfC1e----------------------------------------------------------------------注意:"centos" 对应上文查到的 VG Name
[root@GZC ~]# vgextend centos /dev/sda3Volume group "centos" successfully extended
----------------------------------------------------------------------
[root@GZC ~]# pvdisplay--- Physical volume ---PV Name               /dev/sda2VG Name               centosPV Size               <6.33 GiB / not usable 4.00 MiBAllocatable           yes PE Size               4.00 MiBTotal PE              1619Free PE               2Allocated PE          1617PV UUID               VwwVJa-qYuC-efYl-TCd0-r2ms-4omv-6b1P2a--- Physical volume ---PV Name               /dev/sda3VG Name               centosPV Size               <13.38 GiB / not usable 3.00 MiBAllocatable           yes PE Size               4.00 MiBTotal PE              3424Free PE               3424Allocated PE          0PV UUID               XPUHjh-VrYt-lkst-4piR-UE80-xbJ9-atfC1e//小写l为百分比
[root@GZC ~]# lvextend -l +100%FREE /dev/mapper/centos-root
//大写L为固定值
[root@GZC ~]# lvextend -L +13.38G /dev/mapper/centos-rootRounding size to boundary between physical extents: 13.38 GiB.Size of logical volume centos/root changed from <4.66 GiB (1192 extents) to <18.04 GiB (4618 extents).Logical volume centos/root successfully resized.
[root@GZC ~]# pvdisplay--- Physical volume ---PV Name               /dev/sda2VG Name               centosPV Size               <6.33 GiB / not usable 4.00 MiBAllocatable           yes (but full)PE Size               4.00 MiBTotal PE              1619Free PE               0Allocated PE          1619PV UUID               VwwVJa-qYuC-efYl-TCd0-r2ms-4omv-6b1P2a--- Physical volume ---PV Name               /dev/sda3VG Name               centosPV Size               <13.38 GiB / not usable 3.00 MiBAllocatable           yes (but full)PE Size               4.00 MiBTotal PE              3424Free PE               0Allocated PE          3424PV UUID               XPUHjh-VrYt-lkst-4piR-UE80-xbJ9-atfC1e----------------------------------------------------------------------
[root@GZC ~]# lvextend -L +13G /dev/mapper/centos-rootInsufficient free space: 3328 extents needed, but only 0 available
----------------------------------------------------------------------
[root@GZC ~]# lvsLV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot centos -wi-ao---- <18.04g                                                    swap centos -wi-ao----   1.66g
----------------------------------------------------------------------
[root@GZC ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=305152 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=1220608, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 1220608 to 4728832
----------------------------------------------------------------------
[root@GZC ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 894M     0  894M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root   19G  4.5G   14G   25% /
/dev/sda1                297M  168M  130M   57% /boot
tmpfs                    182M   36K  182M    1% /run/user/0
输入cd /etc/sysconfig/network-scripts/命令,打开/etc/sysconfig/network-scripts文件夹。
vi ifcfg-ens33
onboot = yes

centos安装jdk

mkdir a-jdk
cd a-jdk
#  导入jdk-8u241-linux-x64.tar.gz
tar -zxvf  jdk-8u241-linux-x64.tar.gz
cd jdk1.8.0_241vim /etc/profile
# java
export JAVA_HOME=/app/java/jdk1.8.0_241
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib加载一下配置
source /etc/profile[root@gzc ~]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

centos安装zookeeper

3.5版本以上会占用8080端口 如果tomcat占用了8080 会报错

上传解压同上
[root@localhost zookeeper]# cd conf/只有zoo.cfg才会被加载 复制一下
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
[root@localhost conf]# vim zoo.cfg修改data地址
[root@localhost conf]# cd ../bin
[root@localhost bin]# ./zkServer.sh start-foreground  (查看日志)2022-07-21 15:35:48,587 [myid:] - ERROR [main:ZooKeeperServerMain@86] - Unable to start AdminServer, exiting abnormally
org.apache.zookeeper.server.admin.AdminServer$AdminServerException: Problem starting AdminServer on address 0.0.0.0, port 8080 and command URL /commands
端口被占用如果要使用服务器直接换一个端口号即可,在配置文件conf中的zoo.cfg添加admin.serverPort=10086即可
如果不使用服务器,直接将其禁用即可,也是在配置文件zoo.cfg中添加命令admin.enableServer=false先杀掉./zkServer.sh start-foreground这个进程
[root@localhost bin]# ./zkServer.sh start
[root@localhost bin]# ./zkServer.sh stop
[root@localhost bin]# ./zkServer.sh status

centos安装tomcat

上传解压同上修改80端口;外部查询需要看端口是否打开可见    **msyql第16点**
<Server port="8005" shutdown="SHUTDOWN">
<Server port="8006" shutdown="SHUTDOWN"><Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" /><Connector port="80" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8444" />bin  ./start.sh

tomcat日志分割

tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure && make && make install

yum install gcc-c++

centos8更换yum源

备份原源

[root@localhost mysql]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak**下载**
[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo[root@localhost yum.repos.d]# yum clean all
0 文件已删除
[root@localhost yum.repos.d]# ll
总用量 4
-rw-r--r--. 1 root root 2495 2月  14 21:16 CentOS-Base.repo[root@localhost yum.repos.d]# yum makecache
CentOS-8.5.2111 - Base - mirrors.aliyun.com                                                                            2.2 MB/s | 4.6 MB     00:02
CentOS-8.5.2111 - Extras - mirrors.aliyun.com                                                                           58 kB/s |  10 kB     00:00
CentOS-8.5.2111 - AppStream - mirrors.aliyun.com                                                                       2.3 MB/s | 8.4 MB     00:03
元数据缓存已建立。**测试**
[root@localhost yum.repos.d]# yum -y install curl
上次元数据过期检查:0:00:43 前,执行于 2022年07月22日 星期五 14时18分47秒。
软件包 curl-7.61.1-22.el8.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!

centos8安装卸载rpm源

[root@localhost yum.repos.d]# rpm -qa | grep -i mysql
mysql57-community-release-el7-10.noarch
[root@localhost yum.repos.d]# 卸载
[root@localhost yum.repos.d]# rpm -e --noscripts  mysql57-community-release-el7-10.noarch

centos安装nginx

-----------------------------------------------------------------------
[root@localhost ~]# yum install gcc-c++
Last metadata expiration check: 1:55:02 ago on Mon 29 Nov 2021 07:52:23 PM EST.
Dependencies resolved.-----------------------------------------------------------------------
[root@localhost ~]# yum install -y pcre pcre-devel
Last metadata expiration check: 1:58:03 ago on Mon 29 Nov 2021 07:52:23 PM EST.
Package pcre-8.42-6.el8.x86_64 is already installed.
Dependencies resolved.-----------------------------------------------------------------------
[root@localhost ~]# yum install -y zlib zlib-devel
Last metadata expiration check: 1:59:00 ago on Mon 29 Nov 2021 07:52:23 PM EST.
Package zlib-1.2.11-17.el8.x86_64 is already installed.
Dependencies resolved.-----------------------------------------------------------------------
[root@localhost ~]# yum install -y openssl openssl-devel
Last metadata expiration check: 2:02:20 ago on Mon 29 Nov 2021 07:52:23 PM EST.
Package openssl-1:1.1.1k-4.el8.x86_64 is already installed.
Dependencies resolved.-----------------------------------------------------------------------
下载nginx-1.20.2.tar.gz
[root@localhost app]# ll
total 1040
-rw-r--r--. 1 root root 1062124 Nov 29 21:56 nginx-1.20.2.tar.gz
[root@localhost app]# tar -zxvf nginx-1.20.2.tar.gz-----------------------------------------------------------------------
开始配置
[root@localhost nginx-1.20.2]# ./configure./nginx –s reload
./nginx -s start
./nginx -s stop//添加stream 模块
[root@localhost nginx-1.20.2]# ./configure --with-stream
[root@localhost nginx-1.20.2]# make & make install
[root@localhost sbin]#  ./nginx//nginx.conf  添加socket服务代理
events {worker_connections  1024;
}stream{upstream socket{server  192.168.xx.xxx:5000;}server{listen  1488;proxy_pass socket;}
}
// 要连接的服务端IP地址和端口
String serviceIp= "xxx.xxx.xxx.xxx";
int port = 1488;
// 与服务端建立连接
Socket socket = new Socket(host, port);

centos升级nginx(1.13.1 – 1.20.2)

// 查看版本,最好备份一下 cp nginx -a nginxbak
[root@web-server-4 ~]# cd /apps/nginx/sbin/
[root@web-server-4 sbin]# ./nginx -V
nginx version: nginx/1.13.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
configure arguments: --prefix=/apps/nginx//解压安装
[root@web-server-4 sbin]# cd /apps/software/
[root@web-server-4 software]# ll
total 2004
drwxr-xr-x 9 1001 1001     186 Feb  2  2021 nginx-1.13.3
-rw-r--r-- 1 root root  985931 Feb  2  2021 nginx-1.13.3.tar.gz
-rw-r--r-- 1 root root 1062124 Jun  7 10:38 nginx-1.20.2.tar.gz
[root@web-server-4 software]# tar -zxvf nginx-1.20.2.tar.gz
...//进入解压的文件夹中,开始config
root@web-server-4 software]# cd nginx-1.20.2
root@web-server-4 nginx-1.20.2]# ./configure  --prefix=/apps/nginx --with-http_stub_status_module --with-http_ssl_module&&make//替换新老版本的执行文件
root@web-server-4 nginx-1.20.2]# cd /apps/nginx/sbin/
[root@web-server-4 sbin]# mv nginx nginx.old
root@web-server-4 sbin]# cp -r /apps/software/nginx-1.20.2/objs/nginx .
root@web-server-4 sbin]# /apps/nginx/sbin/nginx -t
nginx: the configuration file /apps/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /apps/nginx/conf/nginx.conf test is successful//开始升级nginx版本
[root@web-server-3 sbin]# kill -USR2 `cat /apps/nginx/logs/nginx.pid`
[root@web-server-3 sbin]# cd ../logs/
[root@web-server-3 logs]# ls -lit nginx.pid.oldbin
8391891 -rw-r--r-- 1 root root 6 Mar 15  2021 nginx.pid.oldbin
[root@web-server-3 logs]# kill -QUIT `cat /apps/nginx/logs/nginx.pid.oldbin`
[root@web-server-3 logs]# cd ../sbin/
[root@web-server-3 sbin]# ./nginx -V
nginx --with-http_stub_status_module --with-http_ssl_module&&make
nginx version: nginx/1.20.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/apps/nginx --with-http_stub_st
atus_module --with-http_ssl_module
[root@web-server-3 sbin]#

centos8通过yum安装MySql5.7

安装mysql5.7–包安装
centos7彻底卸载mysql和通过yum安装mysql

  1. rpm -qa | grep -i mysql // 查看命令1

  2. yum list install mysql* // 查看命令2

  3. yum remove mysql mysql-server mysql-libs compat-mysql51
    yum remove mysql-community-release
    rpm -e --nodeps mysql-community-libs-5.7.22-1.el7.x86_64
    rpm -e –nodeps mysql57-community-release-el7-11.noarch
    根据1和2两步查看的信息删除

  4. whereis mysql
    查询mysql安装目录

  5. find / -name mysql
    查询mysql

  6. rm -rf /usr/lib64/mysql
    rm -rf /usr/share/mysql
    rm -rf /usr/bin/mysql
    rm -rf /etc/logrotate.d/mysql
    rm -rf /var/lib/mysql
    rm -rf /var/lib/mysql/mysql。。。。。。。。
    删除查询出的目录,我的这个是在没有删除安装包的情况下截的图,所以可能比较多

  7. rm –rf /usr/my.cnf
    rm -rf /root/.mysql_sercret
    删除mysql 配置文件

  8. chkconfig --list | grep -i mysql
    chkconfig --del mysqld // 服务名为你设置时候自己设置的名字
    删除mysql开机自启动服务

  9. mkdir soft
    cd soft
    选择一个目录下载并安装

  10. wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm // 下载mysql yum源
    rpm -ivh mysql57-community-release-el7-11.noarch.rpm // 安装yum源
    yum源安装成功

  11. 先执行:yum module disable mysql

  12. yum -y install mysql-community-server

总计                                                                                                                    20 GB/s | 208 MB     00:00
MySQL 5.7 Community Server                                                                                              27 MB/s |  27 kB     00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 的 GPG 公钥(0x5072E1F5)已安装
仓库 "MySQL 5.7 Community Server" 的 GPG 公钥已安装,但是不适用于此软件包。
请检查此仓库的公钥 URL 是否配置正确。. 失败的软件包是:mysql-community-client-5.7.38-1.el7.x86_64GPG密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
mysql-community-common-5.7.38-1.el7.x86_64.rpm 的公钥没有安装. 失败的软件包是:mysql-community-common-5.7.38-1.el7.x86_64GPG密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
mysql-community-libs-5.7.38-1.el7.x86_64.rpm 的公钥没有安装. 失败的软件包是:mysql-community-libs-5.7.38-1.el7.x86_64GPG密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
mysql-community-server-5.7.38-1.el7.x86_64.rpm 的公钥没有安装. 失败的软件包是:mysql-community-server-5.7.38-1.el7.x86_64GPG密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
下载的软件包保存在缓存中,直到下次成功执行事务。
您可以通过执行 'yum clean packages' 删除软件包缓存。
错误:GPG 检查失败

处理方法;

[root@localhost mysql]# rm /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
rm:是否删除普通文件 '/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql'?y
[root@localhost mysql]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022


13. service mysqld start 开启服务
mysql -V 查看版本
service mysqld status 查看服务状态

14. 打开/var/log中mysql.log中默认密码登录

第一步必须修改临时密码

mysql> alter user user() identified by "root";
Query OK, 0 rows affected (0.00 sec)//创建新用户
mysql> create user 'baosight'@'%' identified by 'xxxxxxxxxxx’
Query OK, 0 rows affected (0.00 sec)//授权新用户
mysql> grant all privileges on *.* to 'baosight'@'%';
Query OK, 0 rows affected (0.00 sec)mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by "1111111111";
Query OK, 0 rows affected, 1 warning (0.01 sec)FLUSH PRIVILEGESmysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' identified by "1111111111";
Query OK, 0 rows affected, 1 warning (0.01 sec)
  1. 使用工具,本地连接,创建数据库;如果使用localhost请 GRANT ALL PRIVILEGES ON . TO ‘root’@‘localhost’ identified by “1111111111”;

  2. 查看防火墙3306是否开启;firewall-cmd --zone=public --query-port=3306/tcp
    开启 firewall-cmd --zone=public --add-port=3306/tcp --permanent
    重新载入 firewall-cmd --reload

  3. 移动data存储位置到data0文件夹
    service mysqld stop 关闭服务
    在data0文件夹下新建mysqlData mkdir mysqlData
    移动mysql文件 mv /var/lib/mysql /data0/mysqlData
    修改etc/my.cnf

vi  my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修改之)[mysql](加上此行)
socket=/data0/mysqlData/mysql/mysql.sock(加上此行)
[mysqld]
#datadir=/var/lib/mysql(原内容,为了更稳妥用“#”注释此行)
#socket=/var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
datadir=/data0/mysqlData/mysql(加上此行)
socket=/data0/mysqlData/mysql/mysql.sock(加上此行)

service mysqld start 启动服务

  1. 如果启动时出现log
    [ERROR] InnoDB: Operating system error number 13 in a file operation.
    [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory.
[root@localhost etc]# getenforce
Enforcing
[root@localhost etc]# cp /etc/selinux/config /etc/selinux/config.bak
[root@localhost etc]# sed -i 's/SELINUX=enforcing/\SELINUX=permissive/' /etc/selinux/config
[root@localhost etc]# setenforce 0
[root@localhost etc]# getenforce
Permissive
  1. 项目运行是出现 表找不到,可能是mysql区分大小写了;
    linux默认区分大小写,需要重新设置
    windows默认不区分大小写
vim /etc/my.cnf添加lower_case_table_names=1
  1. 1040 too many connection
    先设置可修改最大连接数
[mysqld]添加: **show_compatibility_56 = 1**

再设置最大连接数800

SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_VARIABLES WHERE VARIABLE_NAME='MAX_CONNECTIONS';151set global max_connections = 800;show global variables like 'wait_timeout';
这个数值指的是mysql在关闭一个非交互的连接之前要等待的秒数,默认是28800sset global wait_timeout=300;
修改这个数值,这里可以随意,最好控制在几分钟内  1800半小时
  1. 在这里插入代码片

centos7离线安装gcc

下载地址rpm下载地址-http://vault.centos.org/7.0.1406/os/x86_64/Packages/

下载下列rpm并上传至服务器
cpp­4.8.2­16.el7.x86_64.rpm
gcc­4.8.2­16.el7.x86_64.rpm
glibc­2.17­55.el7.x86_64.rpm
glibc­common­2.17­55.el7.x86_64.rpm
glibc­devel­2.17­55.el7.x86_64.rpm
glibc­headers­2.17­55.el7.x86_64.rpm
glibc­static­2.17­55.el7.x86_64.rpm
glibc­utils­2.17­55.el7.x86_64.rpm
kernel­headers­3.10.0­123.el7.x86_64.rpm
libmpc­1.0.1­3.el7.x86_64.rpm
mpfr­3.1.1­4.el7.x86_64.rpm

安装
rpm -Uvh *.rpm --nodeps --force
验证
gcc -v

centos8离线安装MySql5.7

  1. 创建用户组,用于安全
# 创建新数组 mysql
groupadd mysql
# 创建用户 mysql ,指定属组为 mysql,禁止其登录
useradd -r -g mysql mysql -s /sbin/nologin
# 创建安装目录
mkdir /usr/local/mysql
  1. 解压配置
# 进入到root目录
cd root
# 解压
tar -zxvf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
# 将解压后的mysql文件挪到创建的安装目录
mv /root/mysql-5.7.39-linux-glibc2.12-x86_64/* /usr/local/mysql/
# 创建数据存储目录
mkdir /usr/local/mysql/data/
# 创建数据日志目录
mkdir /usr/local/mysql/log/
# 创建临时文件目录
mkdir /usr/local/mysql/tmp/
# 创建运行文件目录
mkdir /usr/local/mysql/run/
# 创建启动错误日志
touch /usr/local/mysql/log/mysqld_safe_error.log
# 创建默认的错误日志目的地
touch /usr/local/mysql/log/alert.log
# 创建慢查询日志文件
touch /usr/local/mysql/log/slow.log
# 创建通用查询日志文件的
touch /usr/local/mysql/log/general.log

vi /etc/my.cnf

# mysqld_safe脚本启动时读取的配置
[mysqld_safe]
# 存放 MySQL 后台程序 pid 的文件位置
pid-file=/usr/local/mysql/run/mysqld.pid
# 启动错误日志
log-error=/usr/local/mysql/log/mysqld_safe_error.log# 本地 mysql 客户端程序的配置块
[mysql]
# 本地 mysql 客户端连接的端口
port=3306
# 本地 mysql 客户端命令行提示信息
prompt=\\u@\\d \\r:\\m:\\s>
# 本地 mysql 客户端字符集
default-character-set=utf8mb4
# 开启命令补全
no-auto-rehash# 所有mysql客户端程序读取的配置块
[client]
# 连接端口
port=3306
# mysql的主机和客户机在同一host上的时候,使用unix domain socket做为通讯协议的载体文件
socket=/usr/local/mysql/run/mysql.sock# mysql服务端程序mysqld、mysqld_safe和mysqld_multi的配置文件
[mysqld]
# 进程崩溃时生成core file dump文件,便于程序调试和问题排查
core-file
# 该参数指定了安装 MySQL 的安装路径(mysql安装目录),填写全路径可以解决相对路径所造成的问题。
basedir=/usr/local/mysql
# 该参数指定MySQL的数据文件的存放目录,数据库文件即我们常说的 MySQL data 文件。
datadir=/usr/local/mysql/data
# 临时目录
tmpdir=/usr/local/mysql/tmp
# 用于错误消息的区域设置。默认值是en_US。服务器将参数转换为语言名,并将其与lc_messages_dir的值结合,以生成错误消息文件的位置。
lc_messages=zh_CN
# 错误消息所在的目录。服务器使用该值和lc_messages的值来生成错误消息文件的位置。
lc_messages_dir=/usr/local/mysql/share
# 默认的错误日志目的地。如果目标是控制台,则值为stderr。否则,目标是一个文件,log_error值是文件名。
log-error=/usr/local/mysql/log/alert.log
# 慢查询日志文件名。默认值是host_name-slow.log,但可以通过slow_query_log_file选项更改初始值。
slow_query_log_file=/usr/local/mysql/log/slow.log
# 通用查询日志文件的名称。默认值是host_name.log,但初始值可以通过general_log_file选项更改。
general_log_file=/usr/local/mysql/log/general.log
# mysql的主机和客户机在同一host上的时候,使用unix domain socket做为通讯协议的载体文件
socket=/usr/local/mysql/run/mysql.sock
# 服务端字符集
character-set-server=utf8mb4
# 此变量控制写入错误日志的消息中的时间戳的时区,以及写入文件的一般查询日志和慢查询日志消息中的时间戳的时区。
log_timestamps=SYSTEM
# 操作系统中可用于mysqld的文件描述符的数量。
open_files_limit=61535
# 同时允许的最大客户端连接数。
max_connections=1000
# mysql_stmt_send_long_data() C API函数发送的一个包或任何生成/中间字符串的最大大小,或任何参数的最大大小。默认是64MB。
max_allowed_packet=1G
# 如果设置为0,表名将按指定的方式存储,并且比较区分大小写。如果设置为1,表名将以小写形式存储在磁盘上,比较不区分大小写。如果设置为2,则表名按给定值存储,但以小写进行比较。此选项也适用于数据库名称和表别名。
lower_case_table_names=1
# 慢查询日志是否开启。取值为0(或OFF)表示关闭日志,取值为1(或ON)表示打开日志。默认值取决于是否给出——slow_query_log选项。日志输出的目标由log_output系统变量控制;如果该值为NONE,则即使启用了日志,也不会写入任何日志项。
slow_query_log=1
# validate_password插件的加载方法
plugin-load-add=validate_password.so
# validate-password在服务器启动时使用该选项来控制插件的激活
validate-password=FORCE_PLUS_PERMANENT
  1. 初始化
# 将安装目录的所有权授予用户、属组 mysql:mysql
chown -R mysql:mysql /usr/local/mysql
# 初始化数据库
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
# 再次将安装目录的所有权授予用户、属组 mysql:mysql
chown -R mysql:mysql /usr/local/mysql
# 将安装目录的 rwx 授予其所属用户mysql
chmod u+wrx -R /usr/local/mysql
  1. 开机启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  1. 启动
# 启动mysql服务
service mysqld start# 停止mysql服务
service mysqld stop
# 重启mysql服务
service mysqld restart
# 查看mysql服务是否启动
service mysqld status
  1. 内部配置
登录
# 进入MySQL安装目录
cd /usr/local/mysql/
# 登录MySQL
./bin/mysql -u root -p
# 密码是前面记录的初始密码
# 如果前面没有记下,可以使用下面命令查询mysql初始密码
# grep -e 'temporary' /usr/local/mysql/log/alert.log-- 设置密码验证安全级别
set global validate_password_policy=LOW;
-- 设置密码验证最小长度
set global validate_password_length=6;
-- 设置密码为123456(根据自己的想法设置)
alter user root@localhost identified by '123456';
-- 查看密码验证规则
SHOW VARIABLES LIKE 'validate_password%';
-- 选择 mysql 库
use mysql;
-- 将 root 用户的可访问主机改为 %,即任何主机
update user set user.Host='%' where user.User='root';
-- 执行生效指令
flush privileges;
-- 退出登录
exit;# 防火墙放行 3306 tcp 端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 防火墙重新加载
firewall-cmd --reload

mysql升级(备份·重新安装方式)

  1. 查看mysql信息
    ps -ef|grep mysql
  2. 备份数据库数据及文件,停止数据库服务,删除原数据运行包及配置
 mysqldump -h localhost -uroot -p********* --all-databases --skip-lock-tables > /backup/bak/01mysqlprod_20230601.sql 2>/backup/bak/bak_dmp_20230601.log  (2>dir  日志输出位置,不会在终端输出日志)mysqldump -h localhost -uroot -p******** --databases ipms --skip-lock-tables > /backup/bak/ipms_20230601.sql 2>/backup/bak/bak_dmp_20230601.logmysqldump -h localhost -uroot -p******* --databases iplat --skip-lock-tables > /backup/bak/iplat_20230601.sql 2>/backup/bak/bak_dmp_20230601.logsystemctl stop mysqlcp -rf /mydata/data /backup/20230531cd /usr/local
tar -cvzf mysql5736.tar.gz mysql/
rm -rf mysqlcd /etc/init.d
rm -rf mysql* 或者( mv mysqld /app/mysql)
  1. 解压新数据库包,复制到运行位置,清空data目录
创建mysql用户和组
保证了mysql服务的独立性,即便mysql服务被黑掉,得到了mysql用户权限,也不会影响整个系统的安全
查看组和用户情况cat /etc/group | grep mysql
查看组和用户情况:cat /etc/passwd |grep mysql
存在则删除原mysql用户userdel -r mysql
再依次查看
创建mysql组groupadd mysql
创建mysql用户useradd -r -g mysql mysql
修改目录拥有者chown -R mysql:mysql /usr/local/mysqltar -zxvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gzcp -rf mysql-5.7.41-linux-glibc2.12-x86_64 /usr/local/mysqlcd /usr/local
chown -R mysql mysql
chgrp -R mysql mysqlcd /mydata/data
rm -rf *cd /usr/local/mysql/bin
/mysqld --user=mysql  --basedir=/usr/local/mysql --datadir=/mydata/data --log-error=/mydata/log/mysqld-error.log --plugin-dir=/usr/local/mysql/lib/plugin -
-pid-file=/mydata/mysqld.pid --socket=/mydata/mysql.sock --initializecp -rf support-files/mysql.server /etc/init.d/mysqlsystemctl start mysql.service
遇到错执行systemctl daemon-reload
再执行systemctl start mysql.service后面查看error.log( --log-error=/mydata/log/mysqld-error.log )安装时配置了
找到root初始密码
登录修改root密码,可见上面安装centos8安装MYSQL5.7
第一步执行:初始化
mysql> alter user user() identified by "root";
Query OK, 0 rows affected (0.00 sec)
第二步执行:localhost
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' identified by "1111111111";
Query OK, 0 rows affected, 1 warning (0.01 sec)
第三步执行:远程
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by "1111111111";
Query OK, 0 rows affected, 1 warning (0.01 sec)
第四步刷新权限:
FLUSH PRIVILEGES
  1. 导入mysql数据库
# mysql中创建数据库语句
CREATE DATABASE `数据库名`CHARACTER SET utf8 COLLATE utf8_general_ci;
# 例如本教程中的:
CREATE DATABASE `iplat` CHARACTER SET utf8 COLLATE utf8_general_ci;# 导入语句
mysql  -hIP –P端口 -uroot -p iplat< iplat.sql
# 本教程中:
mysql -hlocalhost -P3336 -uroot -p  iplat</backup/bak/iplat_20230601.sql
  1. 重启数据库

mysql定时全量备份

1. 编写脚本

#!/bin/bash#保存备份数量,备份31天
number=31
#备份保存路径
backup_dir=/app/mysqlbackup
#日期
dd=`date +%Y%m%d`
#用户名
username="root"
#密码
password="xxx"mysqldump -hlocalhost -u$username -p$password  --all-databases > $backup_dir/mysqldump-$dd.sql
#写创建备份日志
echo "create $backup_dir/mysqldump-$dd.sql" >> $backup_dir/log.txt#找出需要删除的备份
delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9}' | head -1`#判断现在的备份数量是否大于number
count=`ls -l -crt $backup_dir/*.sql | awk '{print $9}' | wc -l`if [ $count -gt $number ]thenrm $delfileecho "delete $delfile" >> $backup_dir/log.txt
fi
#!/bin/bash#备份保存路径
backup_dir=/app/mysqlbackup
#日期
dd=`date +%Y%m%d`
#用户名
username="root"
#密码
password="1234@Qwer!"mysql -hlocalhost -u$username -p$password  < $backup_dir/mysqldump-$dd.sql
  1. 给权限 chmod 777 文件地址
  2. crontab定时任务

mysql主从设置

  1. 配置my.cnf
[mysqld]
log-bin=mysql-bin-master
server-id=201
binlog-do-db=iplat
binlog-do-db=sdgl
  1. 授权slave
mysql> grant replication slave on *.* to slave@192.168.234.131 identified by "1234@Qwer!";
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> show master status;
+-------------------------+----------+--------------+------------------+-------------------+
| File                    | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------------+----------+--------------+------------------+-------------------+
| mysql-bin-master.000001 |      452 | iplat,sdgl   |                  |                   |
+-------------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)mysql> show binlog events;
+-------------------------+-----+----------------+-----------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
| Log_name                | Pos | Event_type     | Server_id | End_log_pos | Info                                                                                                                                               |
+-------------------------+-----+----------------+-----------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
| mysql-bin-master.000001 |   4 | Format_desc    |       201 |         123 | Server ver: 5.7.38-log, Binlog ver: 4                                                                                                              |
| mysql-bin-master.000001 | 123 | Previous_gtids |       201 |         154 |                                                                                                                                                    |
| mysql-bin-master.000001 | 154 | Anonymous_Gtid |       201 |         219 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                                                                                                               |
| mysql-bin-master.000001 | 219 | Query          |       201 |         452 | GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.234.131' IDENTIFIED WITH 'mysql_native_password' AS '*DADD198CAB92944ECBC983632E1E17817A3358E9' |
+-------------------------+-----+----------------+-----------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)
  1. 保证主从同步的库一致
  2. 从库配置文件
[mysqld]
server-id=202
  1. 配置
mysql> change master to master_host='192.168.234.128',master_user='slave',master_password='1234@Qwer!';
Query OK, 0 rows affected, 2 warnings (0.01 sec)mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

遇到问题------Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

修该mysql/data/auto.cnf ,保证主从不一样

重启数据库,搞定。

centos7安装redis

  1. 安装gcc依赖 见nginx安装步骤
 [root@localhost app]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz[root@localhost app]# tar -zxvf redis-6.2.6/.tar.gz[root@localhost app]# cd redis-6.2.6/cp utils/redis_init_script /etc/init.d/[root@localhost redis-6.2.6]# make----------------------------可不用-----------------------------[root@localhost redis-6.2.6]# make test
cd src && make test
make[1]: Entering directory '/app/redis-6.2.6/src'CC Makefile.dep
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [Makefile:262: test] Error 1
make[1]: Leaving directory '/app/redis-6.2.6/src'
make: *** [Makefile:6: test] Error 2
[root@localhost redis-6.2.6]# yum install tcl
[root@localhost redis-6.2.6]# make test
----------------------------------------------------------[root@localhost redis-6.2.6]# make install
[root@localhost bin]#  cp /app/redis-6.2.6/redis.conf /usr/local/bin/
[root@localhost bin]# vim redis.conf #requirepass foobared去掉注释,foobared改为自己的密码,我在这里改为
requirepass 123456
bind 0.0.0.0
daemonize yes(后台运行)使用服务启动,并配置开机启动
cd /etc/init.d/
vim redis_init_script
CONF="/usr/local/bin/redis.conf"将下面123456密码改成自己的密码,防止关机卡住
PID=$(cat $PIDFILE)
17                 echo "Stopping ..."
18                 $CLIEXEC -p $REDISPORT -a 123456 shutdown
19                 while [ -x /proc/${PID} ]
20                 dochmod 777 redis_init_script
./redis_init_script start
设置开机自启动
chkconfig redis_init_script on也可以用/redis-server启动
bin  usr/local/bin
[root@localhost bin]# ./redis-server ./redis.conf
[root@localhost bin]# ./redis-cli shutdown
[root@localhost bin]# ps -ef|grep redis
root       92981   72466  0 11:43 pts/1    00:00:00 grep --color=auto redis

centos8升级openssl8.0p1 -》 9.3p1

  1. 配置telnet服务,同下
  2. 下载安装依赖包
[root@localhost ~]# yum -y install gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib zlib-devel[root@localhost ~]# wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
[root@localhost ~]# tar zxvf openssh-9.0p1.tar.gz[root@localhost ~]# mv /etc/ssh{,.bak}
[root@localhost ~]# mkdir /usr/local/openssh
[root@localhost ~]# cd openssh-9.0p1/
[root@localhost openssh-9.0p1]# ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib[root@localhost ~]# make
[root@localhost ~]# make install如果报类似这样的错误, Permissions 0644 for ‘/etc/ssh/ssh_host_rsa_key’ are too open”,则是私钥key的权限给的太大,必须是600才行
chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_dsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chmod 600 /etc/ssh/ssh_host_ed25519_key
  1. 配置config
[root@localhost ~]# echo "UseDNS no" >> /etc/ssh/sshd_config
[root@localhost ~]# echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
[root@localhost ~]# echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
[root@localhost ~]# echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config如果是图形化界面,需要x11的话,需要配置如下
[root@localhost ~]# echo "X11Forwarding yes" >> /etc/ssh/sshd_config
[root@localhost ~]# echo "X11UseLocalhost no" >> /etc/ssh/sshd_config                
[root@localhost ~]# echo "XAuthLocation /usr/bin/xauth" >> /etc/ssh/sshd_config[root@localhost ~]# mv /usr/sbin/sshd{,.bak}
[root@localhost ~]# mv /usr/bin/ssh{,.bak}
[root@localhost ~]# mv /usr/bin/ssh-keygen{,.bak}
[root@localhost ~]# ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh
[root@localhost ~]# ln -s /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
[root@localhost ~]# ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd[root@localhost ~]# ssh -V
OpenSSH_9.0p1, OpenSSL 1.1.1k  FIPS 25 Mar 2021
  1. 开启开机启动
[root@localhost ~]# systemctl disable sshd --now
[root@localhost ~]# mv /usr/lib/systemd/system/sshd.service{,.bak}
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# cp -a ~/openssh-9.0p1/contrib/redhat/sshd.init /etc/init.d/sshd
[root@localhost ~]# chkconfig --add sshd
[root@localhost ~]# systemctl enable sshd --nowcp -a contrib/redhat/sshd.init  /etc/init.d/sshdcp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pamchmod u+x /etc/init.d/sshdchkconfig --add sshdchkconfig sshd on
  1. 关闭telnet
[root@localhost ~]# systemctl disable xinetd.service --now
[root@localhost ~]# systemctl disable telnet.socket --now

centos7升级openssl-》8.8p1(高危漏洞)

[root@master ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017[root@master ~]# openssl version
OpenSSL 1.1.1m  14 Dec 2021

安装telnet-server以及xinetd 可不操作

[root@master ~]# yum install xinetd telnet-server -y[root@master ~]# vim /etc/xinetd.d/telnet[root@master ~]# cat /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
#   unencrypted username/password pairs for authentication.
service telnet
{disable = yesflags       = REUSEsocket_type = stream       wait        = nouser        = rootserver      = /usr/sbin/in.telnetdlog_on_failure  += USERID
}[root@master ~]# vim /etc/securetty
pts/0
pts/1
pts/2
pts/3[root@master ~]# systemctl enable xinetd[root@master ~]# systemctl enable telnet.socket
Created symlink from /etc/systemd/system/sockets.target.wants/telnet.socket to /usr/lib/systemd/system/telnet.socket.[root@master ~]# systemctl start telnet.socket
[root@master ~]# systemctl start xinetd
[root@master ~]# netstat -lntp|grep 23
tcp6       0      0 :::23                   :::*                    LISTEN      1/systemd

安装组件

[root@master ~]# yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel
[root@master ~]# yum install  -y pam*
[root@master ~]# yum install  -y zlib*

安装openssl

[root@master ~]# wget https://www.openssl.org/source/openssl-1.1.1m.tar.gz
[root@master ~]# tar xzvf openssl-1.1.1m.tar.gz
[root@master ~]# cd openssl-1.1.1m
[root@master openssl-1.1.1m]# ./config --prefix=/usr/local/ssl -d shared
[root@master openssl-1.1.1m]# make && make install
[root@master openssl-1.1.1m]# echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
[root@master openssl-1.1.1m]# ldconfig -v查看是否安装成功
/usr/local/ssl/bin/openssl version -a替换老版本的 openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
(ln -s 或者 cp)
ln -s /usr/local/ssl/bin/openssl   /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl   /usr/include/openssl
或者
cp -rf /usr/local/ssl/bin/openssl   /usr/bin/openssl
cp -rf /usr/local/ssl/include/openssl   /usr/include/openssl查看是否安装成功
openssl version -a

安装openssh

[root@master ~]# wget https://mirror.leaseweb.com/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
[root@master ~]# tar xzvf openssh-8.8p1.tar.gz
[root@master ~]# cd openssh-8.8p1
[root@master openssh-8.8p1]# ./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
[root@master openssh-8.8p1]# make && make install

修改配置文件

echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

启动ssh

systemctl daemon-reload
service sshd restart
ssh -V
OpenSSH_8.8p1, OpenSSL 1.1.1m 24 Aug 2021

禁用scp命令

mv /usr/bin/scp /usr/bin/no_use_scp

关闭telnet

[root@master ~]# systemctl start telnet.socket
[root@master ~]# systemctl start xinetd

OpenSSH漏洞CVE-2021-41617 & CVE-2020-15778,CentOs7.6升级openssh-8.8p1 & openssl-1.1.1m

检测到目标主机上运行着NTP服务(低危漏洞)

service ntpd status
service ntpd stop
service ntpd status
chkconfig --list ntpd
chkconfig --level 35 ntpd off
chkconfig --list ntpd

允许Traceroute探测, ICMP timestamp请求响应漏洞处理(低危漏洞 firewall)

firewall-cmd --get-icmptypes  #查看icmp相关的数据包类型
ll -Z /etc/firewalld/icmptypes  #查看到timestamp-reply和timestamp-request
firewall-cmd --permanent --zone=public --add-icmp-block=timestamp-reply
firewall-cmd --permanent --zone=public --add-icmp-block=timestamp-request
firewall-cmd --permanent --zone=public --add-icmp-block=time-request
firewall-cmd --reload
firewall-cmd --list-icmp-blocks  #验证
iptables -nvL | grep icmp主要使用以下方法
systemctl start firewalld
systemctl status firewalld
firewall-cmd --zone=public --add-port=8080/tcp  --permanent
firewall-cmd --zone=public --add-port=8088/tcp  --permanentICMP timestamp请求响应漏洞处理:
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p ICMP --icmp-type timestamp-request -m comment --comment "deny ICMP timestamp" -j DROP
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p ICMP --icmp-type timestamp-reply -m comment --comment "deny ICMP timestamp" -j DROP允许Traceroute探测:
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p ICMP --icmp-type 11 -m comment --comment "deny traceroute" -j DROP
firewall-cmd --reload
firewall-cmd --direct --get-all-rules

允许Traceroute探测, ICMP timestamp请求响应漏洞处理(低危漏洞)

临时解决:
执行后立即生效,但是无法保存,重启就会失效。
sudo iptables -A INPUT -p ICMP --icmp-type timestamp-request -j DROP
sudo iptables -A INPUT -p ICMP --icmp-type timestamp-reply -j DROP永久解决:
编辑 vi /etc/sysconfig/iptables
-A INPUT -p icmp -m icmp --icmp-type timestamp-request -j DROP
-A OUTPUT -p icmp -m icmp --icmp-type timestamp-reply -j DROP或者
iptables -A INPUT -p ICMP --icmp-type timestamp-request -j DROP
iptables -A OUTPUT -p ICMP --icmp-type timestamp-reply -j DROP
输入完成,保存修改后的规则:
service iptables save或者iptables-save
临时解决:
执行后立即生效,但是无法保存,重启就会失效。
sudo iptables -A INPUT -p ICMP --icmp-type time-exceeded -j DROP
sudo iptables -A OUTPUT -p ICMP --icmp-type time-exceeded -j DROP 永久解决:
编辑etc/sysconfig/iptables文件,在防火墙规则里面添加如下记录:
-A INPUT -p icmp -m icmp --icmp-type time-exceeded -j DROP
-A OUTPUT -p icmp -m icmp --icmp-type time-exceeded -j DROP或在终端命令行输入以下命令:
sudo iptables -A INPUT -p ICMP --icmp-type time-exceeded -j DROP
sudo iptables -A OUTPUT -p ICMP --icmp-type time-exceeded -j DROP
输入完成,保存修改后的规则:iptables-save或者service iptables save
重启服务 service iptables restart
如有还原之前的配置的需求:iptables-restore

iptables开启端口

1、开启iptables端口
开启514端口
iptables -A INPUT -p tcp --dport 514 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 514 -j ACCEPT2、保存iptables设置,重启iptables
在更改完设置后要先保存设置:
service iptables save
然后再重启iptables才能使设置生效:
service iptables restart3、看端口
输入命令查看已开端口:
iptables -L -n

centos7清理磁盘

df -h
查看哪个文件夹过大cd 过去du -h -x --max-depth=1 查看文件夹下每个文件的大小
13G ./2022-12
64K ./2022-04
636K    ./2021-04
47G ./2022-11
744K    ./2021-05
180K    ./2021-06
36G ./2022-10
64K ./2021-11
96G .
重复上面的操作
查看过大文件并删除文件
rm -rf  /root/logs/2022-1*

centos7卸装redis

[root@gzc ~]# ps -ef|grep redis
root       3066   3015  0 11:03 pts/0    00:00:00 grep --color=auto redis
[root@gzc ~]# cd /usr/local/bin
[root@gzc bin]# ll
总用量 11500
-rwxr-xr-x. 1 root root  353424 11月  4 11:14 redis-benchmark
-rwxr-xr-x. 1 root root 3612800 11月  4 11:14 redis-check-aof
-rwxr-xr-x. 1 root root 3612800 11月  4 11:14 redis-check-rdb
-rwxr-xr-x. 1 root root  507832 11月  4 11:14 redis-cli
-rw-rw-r--. 1 root root   57798 12月 17 18:31 redis.conf
lrwxrwxrwx. 1 root root      12 11月  4 11:14 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 3612800 11月  4 11:14 redis-server
[root@gzc bin]# rm -f redis*
[root@gzc bin]# ll
总用量 0
[root@gzc bin]# [root@gzc /]# rm -rf a-redis4
[root@gzc /]# ll

centos7安装svn

1. 查看是否有svn
[root@iZuf68v8fejhjcc5r4xbrxZ ~]# svn - -version
-bash: svn: command not found2. 安装svn
[root@iZuf68v8fejhjcc5r4xbrxZ ~]# yum install subversion
Loaded plugins: fastestmirror
Determining fastest mirrors
.......
Total download size: 3.6 M
Installed size: 12 M
Is this ok [y/d/N]: y
Downloading packages:
.......
Complete!
//创建地址
mkdir /app/svn/gzzt
//创建仓库
svnadmin create /app/svn/gzzt
cd /app/svn/gzzt/conf
//修改passwd
[users]
# harry = harryssecret
# sally = sallyssecret
test=12345
//修改auths
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
test_dev=test
[/]
@test_dev=rw
//修改passwd,auths,svnserve.conf
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /app/svn/gzzt
{一定要顶格写,前面不能有空格}
//启动服务
svnserve -d -r /app/svn --listen-port 8080(注:--listen-port中间无隔)
//关闭服务
killall svnserve
//上传本地项目代码
1、空白处点击右键—>tortoiseSVN—>版本库浏览器(Repo-browser)—>选择一个位置新建文件夹
2、在本地点击右键—>SVN 检出(Checkout)刚创建的文件夹—>把自己的项目文件夹复制到这里
3、选中项目文件点击右键—>tortoiseSVN—>加入(Add,会在文件或目录上面显示了“+”号)
4、选中项目文件点击右键—> SVN  提交(Commit)

centos7安装ftp服务端

1. yum install -y vsftpd
2. #查看vsftpd服务的状态[root@gzc ~]# systemctl status vsftpd.service
● vsftpd.service - Vsftpd ftp daemonLoaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)Active: active (running) since 四 2022-03-03 16:13:24 CST; 6 days ago#激活vsftpd服务[root@localhost /]# systemctl start vsftpd.service#设置vsftpd服务开机自启[root@localhost /]#systemctl enable vsftpd.service3. /etc/vsftpd/文件中进行配置
/etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件
/etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP 服务器。  黑名单
/etc/vsftpd/user_list:指定允许使用vsftpd 的用户列表文件。  白名单
/etc/vsftpd/chroot_list:指定允许使用vsftpd 的用户列表文件。  控制名单下的目录能不能离开ftp根目录vsftpd.conf具体配置如下:
anonymous_enable=NO  #允许匿名用户访问为了安全选择关闭
local_enable=YES   # 允许本地用户登录
write_enable=YES   # 是否允许写入
local_umask=022  # 本地用户上传文件的umask
dirmessage_enable=YES #为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容
xferlog_enable=YES #开启日志
xferlog_std_format=YES #标准格式
connect_from_port_20=YES
xferlog_file=/var/log/xferlog   #ftp日志目录
idle_session_timeout=6000 #设置客户端连接时间
data_connection_timeout=1200 #设置数据连接时间 针对上传,下载
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #设置为YES则下面的控制有效
chroot_list_enable=YES #若为NO,则记录在chroot_list_file所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被chroot在登录后所在目录中,无法离开.如果为YES,则所记录的用户将不被chroot.这里YES.
chroot_local_user=YES
userlist_deny=NO #若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户将无法login,并且将检察下面的userlist_deny选项
userlist_enable=YES #若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户的login请求.若为YES则不接受这些用户的请求.
userlist_file=/etc/vsftpd/user_list #白名单
chroot_list_enable=YES
local_root=/var/ftp/pub #根目录
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES3. 创建白名单 useradd  xxx passwd xxx 并添加到user_list和chroot_list中去4. 关闭防火墙
centoos 7操作为systemctl stop firewalld.service
centoos 6操作位service stop iptables;5. 启动ftp服务器
cetoos 7操作为/bin/systemctl restart  vsftpd.service
centoos 6操作为 service vsftpd restart6. 赋权,将ftp指定的根目录赋权为777权限
chmod 777 /var/ftp/pub7. 检查SElinux状态并关闭
getsebool -a|grep ftp
若centoos7到此结束 用ftp工具即可访问  或者本地ftp 服务器测试  通过rpm  -ivh rpm..安装包  安装ftp客户端配置。
若centoos 6 则在设置几个权限:
通过:setsebool httpd_enable_ftp_server 1 设置成如下状态即可。通过 getsebool -a|grep ftp查看。
root@gzc ~]# whereis  vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
[root@gzc ~]# systemctl status vsftpd.service
● vsftpd.service - Vsftpd ftp daemonLoaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)Active: active (running) since 四 2022-03-03 16:13:24 CST; 6 days agoMain PID: 2337 (vsftpd)Tasks: 1CGroup: /system.slice/vsftpd.service└─2337 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf3月 03 16:13:24 gzc.com systemd[1]: Starting Vsftpd ftp daemon...
3月 03 16:13:24 gzc.com systemd[1]: Started Vsftpd ftp daemon.
[root@gzc ~]# ce /etc/vsftpd/
bash: ce: 未找到命令...
[root@gzc ~]# ll
总用量 8
-rw-------. 1 root root 1944 11月  4 10:52 anaconda-ks.cfg
-rw-r--r--. 1 root root 1975 11月  4 10:53 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 11月  4 10:59 公共
drwxr-xr-x. 2 root root    6 11月  4 10:59 模板
drwxr-xr-x. 2 root root    6 11月  4 10:59 视频
drwxr-xr-x. 2 root root    6 11月  4 10:59 图片
drwxr-xr-x. 2 root root    6 11月  4 10:59 文档
drwxr-xr-x. 2 root root    6 11月  4 10:59 下载
drwxr-xr-x. 2 root root    6 11月  4 10:59 音乐
drwxr-xr-x. 2 root root    6 11月  4 10:59 桌面
[root@gzc ~]# cd /etc/vsftpd/
[root@gzc vsftpd]# ll
总用量 28
-rw-------. 1 root root  125 6月  10 2021 ftpusers
-rw-------. 1 root root  361 6月  10 2021 user_list
-rw-------. 1 root root 7444 3月   3 16:45 vsftpd.conf
-rw-------. 1 root root 5116 3月   3 16:25 vsftpd.conf-bak
-rwxr--r--. 1 root root  338 6月  10 2021 vsftpd_conf_migrate.sh
[root@gzc vsftpd]# vim virtusers
[root@gzc vsftpd]# ll
总用量 32
-rw-------. 1 root root  125 6月  10 2021 ftpusers
-rw-------. 1 root root  361 6月  10 2021 user_list
-rw-r--r--. 1 root root   27 3月  10 11:45 virtusers
-rw-------. 1 root root 7444 3月   3 16:45 vsftpd.conf
-rw-------. 1 root root 5116 3月   3 16:25 vsftpd.conf-bak
-rwxr--r--. 1 root root  338 6月  10 2021 vsftpd_conf_migrate.sh
[root@gzc vsftpd]# rpm –q  db
RPM 版本 4.11.3
版权所有 (C) 1998-2002 - 红帽公司。
该程序可以在 GNU GPL 条款下自由分发用法: rpm [-aKfgpqVcdLilsiv?] [-a|--all] [-f|--file] [-g|--group] [-p|--package] [--pkgid] [--hdrid] [--triggeredby] [--whatrequires] [--whatprovides][--nomanifest] [-c|--configfiles] [-d|--docfiles] [-L|--licensefiles] [--dump] [-l|--list] [--queryformat=QUERYFORMAT] [-s|--state] [--nofiledigest][--nofiles] [--nodeps] [--noscript] [--allfiles] [--allmatches] [--badreloc] [-e|--erase <package>+] [--excludedocs] [--excludepath=<path>][--force] [-F|--freshen <packagefile>+] [-h|--hash] [--ignorearch] [--ignoreos] [--ignoresize] [-i|--install] [--justdb] [--nodeps][--nofiledigest] [--nocontexts] [--noorder] [--noscripts] [--notriggers] [--nocollections] [--oldpackage] [--percent] [--prefix=<dir>][--relocate=<old>=<new>] [--replacefiles] [--replacepkgs] [--test] [-U|--upgrade <packagefile>+] [--reinstall=<packagefile>+][-D|--define “MACRO EXPR”] [--undefine=MACRO] [-E|--eval “EXPR”] [--macros=<FILE:…>] [--noplugins] [--nodigest] [--nosignature][--rcfile=<FILE:…>] [-r|--root ROOT] [--dbpath=DIRECTORY] [--querytags] [--showrc] [--quiet] [-v|--verbose] [--version] [-?|--help] [--usage][--scripts] [--setperms] [--setugids] [--setcaps] [--restore] [--conflicts] [--obsoletes] [--provides] [--requires] [--info] [--changelog][--xml] [--triggers] [--last] [--dupes] [--filesbypkg] [--fileclass] [--filecolor] [--fscontext] [--fileprovide] [--filerequire] [--filecaps]
[root@gzc vsftpd]# yum  search db4
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.bfsu.edu.cn* extras: ftp.sjtu.edu.cn* updates: ftp.sjtu.edu.cn
======================================================================= N/S matched: db4 =======================================================================
compat-db47.i686 : The Berkeley DB database 4.7.25 compatibility library
compat-db47.x86_64 : The Berkeley DB database 4.7.25 compatibility library名称和简介匹配 only,使用“search all”试试。
[root@gzc vsftpd]# yum install-y  compat-db47.x86_64
\已加载插件:fastestmirror, langpacks
没有该命令:install-y。请使用 /usr/bin/yum --help
[root@gzc vsftpd]# yum install-y  compat-db47.x86_64
已加载插件:fastestmirror, langpacks
没有该命令:install-y。请使用 /usr/bin/yum --help
[root@gzc vsftpd]# yum install -y  compat-db47.x86_64
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.bfsu.edu.cn* extras: ftp.sjtu.edu.cn* updates: ftp.sjtu.edu.cn
base                                                                                                                                     | 3.6 kB  00:00:00
extras                                                                                                                                   | 2.9 kB  00:00:00
mysql-connectors-community                                                                                                               | 2.6 kB  00:00:00
mysql-tools-community                                                                                                                    | 2.6 kB  00:00:00
mysql57-community                                                                                                                        | 2.6 kB  00:00:00
updates                                                                                                                                  | 2.9 kB  00:00:00
(1/2): extras/7/x86_64/primary_db                                                                                                        | 246 kB  00:00:00
(2/2): updates/7/x86_64/primary_db                                                                                                       |  14 MB  00:00:29
正在解决依赖关系
--> 正在检查事务
---> 软件包 compat-db47.x86_64.0.4.7.25-28.el7 将被 安装
--> 正在处理依赖关系 compat-db-headers = 4.7.25-28.el7,它被软件包 compat-db47-4.7.25-28.el7.x86_64 需要
--> 正在检查事务
---> 软件包 compat-db-headers.noarch.0.4.7.25-28.el7 将被 安装
--> 解决依赖关系完成依赖关系解决================================================================================================================================================================Package                                      架构                              版本                                      源                               大小
================================================================================================================================================================
正在安装:compat-db47                                  x86_64                            4.7.25-28.el7                             base                            795 k
为依赖而安装:compat-db-headers                            noarch                            4.7.25-28.el7                             base                             48 k事务概要
================================================================================================================================================================
安装  1 软件包 (+1 依赖软件包)总下载量:843 k
安装大小:3.5 M
Downloading packages:
(1/2): compat-db-headers-4.7.25-28.el7.noarch.rpm                                                                                        |  48 kB  00:00:00
(2/2): compat-db47-4.7.25-28.el7.x86_64.rpm                                                                                              | 795 kB  00:00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                            2.5 MB/s | 843 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装    : compat-db-headers-4.7.25-28.el7.noarch                                                                                                      1/2 正在安装    : compat-db47-4.7.25-28.el7.x86_64                                                                                                            2/2 验证中      : compat-db47-4.7.25-28.el7.x86_64                                                                                                            1/2 验证中      : compat-db-headers-4.7.25-28.el7.noarch                                                                                                      2/2 已安装:compat-db47.x86_64 0:4.7.25-28.el7                                                                                                                            作为依赖被安装:compat-db-headers.noarch 0:4.7.25-28.el7                                                                                                                      完毕!
[root@gzc vsftpd]# db_load -T -t hash-f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
usage: db_load [-nTV] [-c name=value] [-f file][-h home] [-P password] [-t btree | hash | recno | queue] db_file
usage: db_load -r lsn | fileid [-h home] [-P password] db_file
[root@gzc vsftpd]# ll
总用量 32
-rw-------. 1 root root  125 6月  10 2021 ftpusers
-rw-------. 1 root root  361 6月  10 2021 user_list
-rw-r--r--. 1 root root   27 3月  10 11:45 virtusers
-rw-------. 1 root root 7444 3月   3 16:45 vsftpd.conf
-rw-------. 1 root root 5116 3月   3 16:25 vsftpd.conf-bak
-rwxr--r--. 1 root root  338 6月  10 2021 vsftpd_conf_migrate.sh
[root@gzc vsftpd]# vim vsftpd.conf
[root@gzc vsftpd]# useradd ftpuser
[root@gzc vsftpd]# passwd
更改用户 root 的密码 。
新的 密码:
[root@gzc vsftpd]# passwd ftpuser
更改用户 ftpuser 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
抱歉,密码不匹配。
新的 密码:
无效的密码: 密码包含用户名在某些地方
重新输入新的 密码:
抱歉,密码不匹配。
新的 密码:
无效的密码: 密码未通过字典检查 - 它基于字典单词
重新输入新的 密码:
[root@gzc vsftpd]# passwd ftpuser
更改用户 ftpuser 的密码 。
新的 密码:
无效的密码: 密码包含用户名在某些地方
重新输入新的 密码:
[root@gzc vsftpd]# passwd ftpuser
更改用户 ftpuser 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
[root@gzc vsftpd]# useradd -d /data/ftp/ -s /sbin/nologin ftpuser
useradd:用户“ftpuser”已存在
[root@gzc vsftpd]# userdel -r ftpuser
[root@gzc vsftpd]# useradd -d /data/ftp/ -s /sbin/nologin ftpuser
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
[root@gzc vsftpd]# passwd ftpuser
更改用户 ftpuser 的密码 。
新的 密码:
[root@gzc vsftpd]# netstat -npal|grep vsftpd
tcp6       0      0 :::21                   :::*                    LISTEN      2337/vsftpd
unix  2      [ ]         DGRAM                    36939    2337/vsftpd
[root@gzc vsftpd]# getsebool -a | grep ftp
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> on
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
[root@gzc vsftpd]# setsebool -P ftpd_full_access on
[root@gzc vsftpd]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: dhcpv6-client ftp sshports: 6379/tcp 3306/tcp 80/tcp 8080/tcp 8088/tcp 22/tcpprotocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules: [root@gzc vsftpd]# firewall-cmd --zone=public --query-port=21
Error: INVALID_PORT: bad port (most likely missing protocol), correct syntax is portid[-portid]/protocol
[root@gzc vsftpd]# firewall-cmd --zone=public --query-port=21/ftp
Error: INVALID_PROTOCOL: 'ftp' not in {'tcp'|'udp'|'sctp'|'dccp'}
[root@gzc vsftpd]# firewall-cmd --zone=public --query-port=21/tcp
no
[root@gzc vsftpd]# firewall-cmd --zone=public --query-service=ftp
yes
[root@gzc vsftpd]# vim /etc/vsftpd/vsftpd.conf
[root@gzc vsftpd]# vim /etc/vsftpd/vsftpd.conf
[root@gzc vsftpd]# cd /home
[root@gzc home]# mkdir vsftpd
[root@gzc home]# useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser
useradd:用户“ftpuser”已存在
[root@gzc home]# userdel -r ftpuser
userdel:/data/ftp/ 并不属于 ftpuser,所以不会删除
[root@gzc home]# useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser
[root@gzc home]# passwd ftpuser
更改用户 ftpuser 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@gzc home]# chown -R ftpuser.root /home/vsftpd
[root@gzc home]# cd /etc/vsftpd/
[root@gzc vsftpd]# LL
bash: LL: 未找到命令...
[root@gzc vsftpd]# ll
总用量 32
-rw-------. 1 root root  125 6月  10 2021 ftpusers
-rw-------. 1 root root  361 6月  10 2021 user_list
-rw-r--r--. 1 root root   27 3月  10 11:45 virtusers
-rw-------. 1 root root 7572 3月  10 14:39 vsftpd.conf
-rw-------. 1 root root 5116 3月   3 16:25 vsftpd.conf-bak
-rwxr--r--. 1 root root  338 6月  10 2021 vsftpd_conf_migrate.sh
[root@gzc vsftpd]# vi virtusers
[root@gzc vsftpd]# ll
总用量 28
-rw-------. 1 root root  125 6月  10 2021 ftpusers
-rw-------. 1 root root  361 6月  10 2021 user_list
-rw-------. 1 root root 7572 3月  10 14:39 vsftpd.conf
-rw-------. 1 root root 5116 3月   3 16:25 vsftpd.conf-bak
-rwxr--r--. 1 root root  338 6月  10 2021 vsftpd_conf_migrate.sh
[root@gzc vsftpd]# vim vuser_passwd
[root@gzc vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
[root@gzc vsftpd]# chmod 600 /etc/vsftpd/vuser_passwd.db
[root@gzc vsftpd]# 

错误 AppStream

添加dns
vim /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8

日志分割

运行jar

// 运行PACKAGE_NAME.jar程序,默认输出当前文件夹,nohup.out
nohup java -jar PACKAGE_NAME.jar &// 1. 使用cp复制
#!/bin/bash
#coding:utf-8date_=`date -d -1day +%Y%m%d`
source_='/app/push/go-push/src/nohup.out'
target_='/app/push/go-push/src/nohup'$date_'.out'# step1.
cp $source_ $target_# step2.
cat /dev/null > $source_// 2.使用split切割
#!/bin/bash
#coding:utf-8date_=`date -d -1day +%Y%m%d`
source_='/app/xxx/nohup.out'
target_='/app/xxx/nohup'$date_'.out_'# step1.
split -b 100m -d -a 2 $source_ $target_
# step2.
cat /dev/null > $source_./nohup_log.sh
//执行 1.提示权限不够chmod 777 ./nohup_log.sh
//执行 2、提示“目标‘\r’不是目录”
解决办法: 用vim打开sh脚本文件, 重新设置文件的格式
:set ff 然后回车  再重新设置下文件格式:
:set ff=unix 然后保存退出
:wq! 回车//加入定时任务
crontab -e
*/5 * * * *  /usr/local/release/nohup_log.sh
0 0 * * * /usr/local/release/nohup_log.sh
//使定时任务生效
service crond restart

一般crontab 不执行sh文件,是因为sh文件的权限没开放,需要执行 chmod 777 xxx.sh

tomcat catanina.sh

 org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out>>/dev/null &

定时删除

#!/bin/sh
find /app8088/apache-tomcat-8.5.28/logs/ -mtime +6 -name "*.log" -exec rm -rf {} \;
find /app8088/apache-tomcat-8.5.28/logs/ -mtime +6 -name "*.txt" -exec rm -rf {} \;
find /app8088/apache-tomcat-8.5.28/logs/ -mtime +6 -name "*.out" -exec rm -rf {} \;
find /app8088/apache-tomcat-8.5.28/bin/apps/logs/ -mtime +0 -name "*.log" -exec rm -rf {} \;
find /app8080/apache-tomcat-8.5.28/logs/ -mtime +6 -name "*.log" -exec rm -rf {} \;
find /app8080/apache-tomcat-8.5.28/logs/ -mtime +6 -name "*.txt" -exec rm -rf {} \;
find /app8080/apache-tomcat-8.5.28/logs/ -mtime +6 -name "*.out" -exec rm -rf {} \;
find /app8080/apache-tomcat-8.5.28/bin/apps/logs/ -mtime +0 -name "*.log" -exec rm -rf {} \;

执行脚步
sh helloworld.sh

Windows安装版本


安装下图需要配置一下,如果是第一个则不用修改端口号,默认8080

一路next就行了,多个要保证端口号不能重复;

Windows压缩包版本

解压之后,配置JAVA_HOME可用

  • 下载
  • 解压
  • 点击startup.bat,启动服务
  • 打开localhost:8080看到tomcat首页
  • 如果已经安装了tomcat,原先的tomcat里web.xml中写了自己定义的首页
     <welcome-file-list><welcome-file>hello.html</welcome-file></welcome-file-list>

localhost:8080总是指向这个页面,可以把这个页面删除,这是我碰到的问题

  • 使用服务需要注册
    安装tomcat路径下的bin目录下,我们在tomcat\bin目录下可以发现有service.bat这个文件,
    执行 service.bat install serviceName (注:serviceName是生成本地服务启动的名字,如下图:)
//安装服务
PS D:\workApp\tomcat\Tomcat8090\bin> .\service.bat install tomcat9
Installing the service 'tomcat9' ...
Using CATALINA_HOME:    "D:\workApp\tomcat\Tomcat8090"
Using CATALINA_BASE:    "D:\workApp\tomcat\Tomcat8090"
Using JAVA_HOME:        "C:\Program Files\Java\jdk1.8.0_181"
Using JRE_HOME:         "C:\Program Files\Java\jdk1.8.0_181\jre"
Using JVM:              "C:\Program Files\Java\jdk1.8.0_181\jre\bin\server\jvm.dll"
The service 'tomcat9' has been installed.
PS D:\workApp\tomcat\Tomcat8090\bin>//卸装服务
PS D:\workApp\tomcat\Tomcat8090\bin> .\service.bat remove tomcat9
Removing the service 'tomcat9' ...
Using CATALINA_BASE:    "D:\workApp\tomcat\Tomcat8090"
The service 'tomcat9' has been removed

maven导入本地jar包

mvn install:install-file -DgroupId=com.dm -DartifactId=DmJdbcDriver -Dversion=1.7.0 -Dpackaging=jar -Dfile=路劲jar

Windows修改tomcat配置

日志打印 ---- 中文乱码

‪Tomcat8090\conf\logging.properties
设置ConsoleHandler.encoding = GBK

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = GBK

修改端口

Tomcat8090\conf\server.xml

<!-- 设置端口号 8080 -> 80 -->
<Connector port="80" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

项目部署路径方法1

< Context docBase=“D:\pro\IdeaPro\rbac\out\artifacts\rbac_war_exploded” path=“/”/ >
path注意需要’/

  <!-- 主机配置 --><Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true"><!-- 配置class路径 path -->   <Context docBase="D:\pro\IdeaPro\rbac\out\artifacts\rbac_war_exploded" path="/"/><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s %b" /></Host>

项目部署路径方法2

在conf\Catalina\localhost新建webpath.xml(path可以不要,访问时用/webpath)

 <Context docBase="D:\pro\IdeaPro\rbac\out\artifacts\rbac_war_exploded" path="/"/>

项目部署目录

ROOT为默认根目录

  • WEBROOT 根目录

    • js文件
    • css文件
    • image文件
    • html文件
    • jsp文件
    • WEB-INF文件
      • classes文件
      • lib文件
      • web.xml

项目部署默认首页及根目录

将根目录名WEBROOT 改为ROOT

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><welcome-file-list><welcome-file>login.jsp</welcome-file></welcome-file-list></web-app>

添加新站点

server.xml

 <Host name="supergui520.cn"  appBase="D:\workApp\tomcat\supergui520"unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"></Host>

hosts

 127.0.0.1       www.supergui520.cn127.0.0.1       supergui520.cn

路径

IDEA中tomcat-------URL设置


与deployment中Application context一致

http://localhost:80/servletDemo/
为项目的根目录


http://localhost:80/servletDemo/hello
http://localhost:80/servletDemo/hello1

URL: http://localhost:80 + action

http://localhost/servletDemo/hello

VMware安装centos7,centos安装jdk,tomcat,mysql5.7,nginx,redis,ftp,日志分割相关推荐

  1. PC机U盘安装centos7详细安装图解教程

    PC机U盘安装centos7详细安装图解教程 准备工作 第一步:制作U盘系统 第二步:安装系统 准备工作 1. UItraIOS(软碟通): 2. CentOS-7-x86_64-DVD-1810.i ...

  2. 服务器u盘安装linux6.7,U盘如何安装centos7系统?U盘安装centos7详细安装图解教程...

    一般来说,无论是Windows还是linux的IOS系统镜像,我们都可以使用UltraIOS(软碟通)这款软件制作U盘启动工具,不过考虑到不少小白依然不会如何操作,所以今天考虑写一篇制作centos7 ...

  3. 刀片式服务器安装centos7.6,安装mysql8.0,jdk,docker,nginx,

    1.为刀片式服务器安装Linux系统并配置Jdk 1.1先使用ultralSO制作Linux系统 U盘启动盘 **1**先准备好centos7的ISO文件,下载ultralSO安装后执行,点击文件-& ...

  4. linux安装centos7.3,安装CentOS 6.9与CentOS7.3

    今天学习了如何安装CentOS6.9与CentOS7.3. 安装CentOS6.9 首先打开虚拟机如下如所示: 然后点击创建新的虚拟机: 选择典型,然后点击下一步: 一般会选择稍后安装操作系统,然后点 ...

  5. centos安装git(centos安装vmware tools)

    如何在centos上搭建git服务器 Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SS ...

  6. Linux虚拟机安装(Centos安装)详情

    一.首先下载安装VMware Workstation Pro虚拟机 官网下载需要注https://my.vmware.com/en/web/vmware/info/slug/desktop_end_u ...

  7. python3.6.3安装-CentOS7.2安装Python3.6.3

    一.准备工作 1.1 安装centos7.2.1511 1.3 安装依赖包: yum -y install xz tar gcc make tk-devel wget sqlite-devel zli ...

  8. u盘装linux7.2,U盘如何安装centos7系统?U盘安装centos7详细安装图解教程(2)

    8.U盘系统安装之后,我们将U盘插入到需要安装centos7系统的电脑USB上.我们需要将电脑重新启动,在电脑启动之后连续点按键盘上启动快捷键,由于不同品牌的主板.笔记本.品牌机的启动快捷键有所不同, ...

  9. linux安装 xen,Centos安装Xen总结

    Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发.它打算在单个计算机上运行多达100个满特征的操作系统.操作系统必须进行显式地修改("移植")以在Xen上运行(但是提供对用户应 ...

  10. win10安装centos7、安装显卡驱动和cuda、安装mpich全流程

    目录 window10安装centos7 准备工作 使用UltraISO制作U盘启动盘 安装过程 安装显卡驱动和cuda 安装显卡驱动 安装cuda 安装mpich window10安装centos7 ...

最新文章

  1. 浏览器允许跨域设置(不用于生产环境,开发用)
  2. python 免费课程-2019年10种免费的Python学习课程
  3. 2015年度最全微课堂笔记精华包
  4. Oracle的存储过程和存储函数
  5. 数字化在金融领域的应用与实践,从“我觉得”到“用户觉得”
  6. Linux下配置LVM
  7. php7 空对象,PHP设计模式之空对象模式(Null Object)代码实例大全(26)
  8. 京东宙斯平台使用方法(accesstoken,appkey,appsecret参数和SDK的获取)
  9. MySQL中通过结构化文本倒腾数据
  10. java linklist 遍历_Java LinkList遍历方式
  11. 计算机操作系统英语,操作系统的英文介绍
  12. spring framwork解析
  13. mybaits 学习
  14. linux添加凤凰引导,凤凰系统率先升级内核到Linux4.9
  15. 智慧电网运维-覆冰在线监测装置
  16. SIW 2021 v11.6.0824 电脑信息综合检测工具技术员单文件版
  17. java sci论文,SCI论文中那些容易被混淆的部分!你写错过吗?
  18. 【运行报错】Centos 6 无法使用 yum
  19. 全球最大同性交友平台骚操作
  20. AVPro Video 插件在unity中动态播放视频

热门文章

  1. “快速敲字母”小游戏——C++实现
  2. 视频监控p2p android,网络视频监控P2P解决方案:NAT穿越
  3. 【已解决】Could not convert incoming message with content-type [application/x-java-serialized-object]Exec
  4. 流媒体领域行不通的“沃尔玛模式”,正在入侵云游戏
  5. 苹果收购个性化新闻电台应用Swell
  6. HBase预写日志WAL机制
  7. Qt应用程序开发三:写日志文件
  8. 计算机能打开软件打不开怎么办,软件打不开,教您解决软件打不开的方法
  9. 【区块链108将】画你CEO漆斌:区块链能解决盗版侵权问题保持IP纯净
  10. 样本方差公式是如何推导出来的?