关于centos:centos7上tar包安装nginxnodejsgitmongodbredismysql环境

总结以下罕用的须要装置的运行依赖,目前用到的包含nginx,nodejs,git,mongodb,redis,mysql。 装置nginx装置所需插件# 装置gcc yum -y install gcc# pcre、pcre-devel装置 yum install -y pcre pcre-devel# zlib装置 yum install -y zlib zlib-devel# 装置openssl yum install -y openssl openssl-devel装置nginx# 下载nginx安装包wget http://nginx.org/download/nginx-1.20.0.tar.gz# 解压压缩包tar -zxvf nginx-1.20.0.tar.gz# 切换到/usr/local/nginx-1.20.0下编译装置./configuremakemake install启动进行nginx(举荐应用systemd进行治理)#查找装置门路whereis nginxcd /usr/local/nginx/sbin# 启动nginx./nginx# 此形式相当于先查出nginx过程id再应用kill命令强制杀掉过程./nginx -s stop# 此形式进行步骤是待nginx过程解决工作结束进行进行./nginx -s quit# 重启nginx./nginx -s reload应用systemd治理# 创立nginx.service文件vim /lib/systemd/system/nginx.service# 写入内容如下[Unit]Description=nginxAfter=network.target[Service]Type=forkingExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s quitPrivateTmp=true[Install]WantedBy=multi-user.target治理nginx服务# 启动nginxsystemctl start nginx.service# 进行nginxsystemctl stop nginx.service# 重启nginxsystemctl reload nginx.service# 将nginx退出开机启动systemctl enable nginx.service# 将nginx从开机启动中移除systemctl disable nginx.service参考链接: https://blog.csdn.net/qq_3734...https://www.cnblogs.com/boony...https://blog.csdn.net/yunweim... 装置nodejs下载nodejs压缩包官网地址:http://nodejs.cn/download/ wget https://npm.taobao.org/mirrors/node/v14.16.1/node-v14.16.1-linux-x64.tar.xz解压缩tar -xvf node-v14.16.1-linux-x64.tar.xzmkdir -p /usr/local/nodejsmv node-v14.16.1-linux-x64/* /usr/local/nodejs/创立软链接# 建设node软链接ln -s /usr/local/nodejs/bin/node /usr/local/bin# 建设npm 软链接ln -s /usr/local/nodejs/bin/npm /usr/local/bin更换镜像源# 设置国内淘宝镜像源npm config set registry https://registry.npm.taobao.org# 查看设置信息npm config list验证是否胜利node -vnpm -v参考链接:https://blog.csdn.net/qq_3795... ...

April 27, 2021 · 3 min · jiezi

关于samba:CentOS访问共享文件夹

参考在CentOS7上设置Samba客户端 - 本文基于此英文文章Smbclient详解 - Samba客户端的具体应用办法和手册(英文)概述公司外部长期习惯应用Windows共享文件夹保留材料、交换文件等,为了能让内网的CentOS服务器也能访问共享文件夹,做了一些摸索,特此记录。 Windows的共享文件夹的底层技术机制叫做Samba,只有在CentOS中装置Samba客户端就能够拜访同网络中Windows主机的共享目录了。 如果须要从CentOS上共享目录让其它Windows主机拜访,则须要装置启用Samba服务端,不在此文领域内。 将共享目录挂载为目录yum -y install samba samba-client cifs-utils # 下载安装samba客户端smbclient -L //<主机IP> -U "SAMBA\root" --no-pass # 列出给定主机的共享目录名。目标目录无明码mkdir /mnt/shared # 创立一个本地目录用于挂载mount -t cifs -o "username=SAMBA\root,password=,vers=1.0" //192.168.8.2/<共享目录> /mnt/shared --verbose # 执行挂载留神: 挂载步骤中增加了vers=1.0参数,这是因为我这里的指标共享目录是一个路由器上挂的U盘,只反对SMB1协定,这个协定有安全漏洞,曾经在Win10的某次更新中删除了指标共享目录没有设置明码,password给空即可Samba客户端的交互模式smbclient "//<主机IP>/<共享目录名>" -U 'SAMBA\root' --no-pass这里的共享目录名能够用-L参数列出来这个交互模式高度相似ftp命令,能够用help命令列出可用可用命令,用q能够退出

March 15, 2021 · 1 min · jiezi

关于centos:23-在centos上安装docker

如何搭建一个含有docker的零碎开发环境,有如下三种办法: 装置1. 手动装置应用vagrant启动零碎后,手动装置https://docs.docker.com/install/linux/docker-ce/centos/ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-enginesudo yum install -y yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 如果想装置特定版本,则应用 # sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.iosudo yum install -y docker-cesudo systemctl start docker2. vagrant主动装置在vagrant创立零碎后主动搭建docker环境,config.vm.provision "shell"可能在虚拟机被创立的时候主动执行  config.vm.provision "shell", inline: <<-SHELL    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine    sudo yum install -y yum-utils device-mapper-persistent-data lvm2    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo    sudo yum install -y docker-ce    sudo systemctl start docker  SHELL3. docker-machine主动装置详见下节 ...

March 14, 2021 · 1 min · jiezi

关于centos:Centos7安装

1 Centos7简介 Centos是收费、稳固、支流的Linux零碎。Centos具体介绍,请参考 [百度百科](http://baike.baidu.com/link?url=oZwyPllrqS_q6WhNtvVg1ILQMBDT8AHITdr7GFnFRSQLvjBRSfEKKuoTD8SE5M6snciHJux26UWCPHlZxUl0Qq "http://baike.baidu.com/link?url=oZwyPllrqS_q6WhNtvVg1ILQMBDT8AHITdr7GFnFRSQLvjBRSfEKKuoTD8SE5M6snciHJux26UWCPHlZxUl0Qq")。2 下载地址 官网下载地址:[https://www.centos.org](https://www.centos.org) 抉择相应的版本下载。 3 装置centos 7 a) 关上VMware,点击“创立新的虚拟机” b) 抉择“自定义(高级)”,下一步 c) 默认选项,下一步 d) 抉择稍后装置操作系统,下一步 e) 客户机抉择“Linux”,版本抉择centos764位,下一步 f) 抉择虚拟机名称以及装置的门路,下一步 g) 处理器配置,抉择2个处理器,每个4内核的配置,这里依据主机的配置,可适当调整 h) 内存抉择2G,下一步 i) 网络抉择,桥接网络,下一步 应用桥接网络:虚拟机ip与本机在同一网段,本机与虚拟机能够通过ip互通,本机联网状态下虚拟机即可联网,同时虚拟机与本网段内其余主机能够互通,这种模式罕用于服务器环境架构中。 应用网络地址转换(NAT):虚拟机能够联网,与本机互通,与本机网段内其余主机不通。 应用仅主机模式网络:虚拟机不能联网,与本机互通,与本机网段内其余主机不通。 j) 控制器类型抉择,默认即可,下一步 k) 磁盘类型,默认即可,下一步 l) 磁盘抉择,创立磁盘,下一步 m) 磁盘容量,默认太小可依据理论状况调整,这里60G,下一步 n) 磁盘名默认即可,下一步 o) 点击实现之后,VMware中左侧会有虚拟机名,右侧有虚拟机的配置信息 p) 点击虚拟机设置,镜像抉择“CD/DVD(IDE)”,抉择本地下载的镜像,确定 q) 启动虚拟机,抉择install centos7,回车 r) 回车持续装置 s) 语言选择默认English,点击continue 日期抉择,个别抉择上海 t) 鼠标点击地图,而后过滤抉择,done u) Software selection本次应用最小化装置(这种模式不包含图形化界面),组件选上兼容性工具、开发工具,done v) System中的“installation destination”,勾选“i will configure partitioning”(自定义磁盘分区),done w) 分区阐明如下: /boot:1024M,规范分区格局创立。swap:4096M,规范分区格局创立。/:残余所有空间,采纳lvm卷组格局创立。Done 红色局部,批改操作系统主机名即可。 x) 网络连接改为“on” ,done ...

March 11, 2021 · 1 min · jiezi

关于centos:JMeter分布式环境搭建

JMeter分布式环境搭建 控制机(controller):负责测试脚本的散发、启动、进行、收集负载机的测试后果。负载机(worker nodes):负责接管控制机的指令,向被测服务器发送并发申请。在理论运行过程中,控制器运行bin/jmeter.sh,执行器运行bin/jmeter-server.sh。(windows零碎别离执行jmeter.bat和jmeter-server.sh) 环境所有主机(控制机和负载机)都在同一网段。所有主机开启工夫同步。所有主机上应用雷同版本的JMeter和JDK,混合版本可能无奈失常工作。所有负载机能失常拜访被测利用。配置本例中,负载机应用Centos7,控制机应用Windows 10。 配置环境变量vim /etc/profileexport JMETER_HOME=/usr/apache-jmeter-5.4.1export CLASSPATH=${JMETER_HOME}/lib/ext/ApacheJMeter_core.jar:${JMETER_HOME}/lib/jorphan.jar:${JMETER_HOME}/lib/logkit-2.0.jar:${CLASSPATH}export PATH=${JMETER_HOME}/bin/:${PATH}source /etc/prifleRMI的SSL设置如果配置SSL,须要配置相干证书,本例中间接敞开SSL模式。 配置范畴:所有主机 vim bin/user.properties# 敞开rmi的sslserver.rmi.ssl.disable=true指定RMI端口默认RMI会随机凋谢一个端口,如果有防火墙就没法制订规定。 配置范畴:负载机 vim bin/jmeter.propertiesserver.rmi.localport=2099firewall-cmd --zone=public --add-port=1099/tcp --permanentfirewall-cmd --zone=public --add-port=2099/tcp --permanentfirewall-cmd --reload配置负载机指定负载机的IP vim bin/jmeter-serverRMI_HOST_DEF=-Djava.rmi.server.hostname=以后负载机的IP配置控制机将负载机的IP和端口写入控制机的配置文件,多个用逗号分隔。 vim bin/jmeter.propertiesremote_hosts=192.168.1.20:1099,192.168.1.21:1099,192.168.1.22:1099运行负载机启动jmeter-server。控制机启动jmeter.bat,配置工作后,在图形界面上顺次点击Run -- Remote Start All。负载机日志: bin/jmeter-server.log控制机日志: bin/jmeter.log注意事项分布式测试总样本数 = 线程数 x 循环次数 x 负载机数量控制机如果有多个网卡(包含虚构网卡),倡议只保留与负载机同网段的网卡。当脚本有依赖文件时,必须要拷贝到负载机雷同目录下。在2-3GHz的CPU上运行的单个JMeter客户端能够解决1000-2000个线程,具体取决于测试的类型。参考资料https://jmeter.apache.org/use...https://jmeter.apache.org/use...https://blog.csdn.net/qq_3530...https://www.cnblogs.com/mengy...

March 3, 2021 · 1 min · jiezi

关于centos:CentOS下编译安装nginx及配置缩略图插件的方法教程

置信大家都晓得利用yum装置nginx 十分不便,然而有些插件并不会默认装置,比方 http_image_filter_module, 因而咱们须要编译装置 nginx,已达到咱们的目标。上面来看看具体的办法吧。 装置依赖 yum install -y pcre-devel libmxl2-devel libxslt-devel gd-devel 装置 nginx wget -xzvf nginx-1.9.1.tar.gzcd nginx-1.9.1./configure --user=nginx --group=nginx --with-http_ssl_module --with-http_spdy_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_sub_module --with-http_auth_request_module --with-http_stub_status_module --with-http_gzip_static_module make make install 装置站长博客实现后,能够应用如下命令来查看 nginx 装置的模块 [root@linux001 ~]# /usr/local/nginx/sbin/nginx -Vnginx version: nginx/1.9.1built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013TLS SNI support enabledconfigure arguments: --user=nginx --group=nginx --with-http_ssl_module --with-http_spdy_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_sub_module --with-http_auth_request_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_image_filter_module ...

January 31, 2021 · 2 min · jiezi

关于centos:CentOS-7安装Mysql并设置开机自启动的方法

CentOS 7不带Mysql数据库了,默认的数据库是MariaDB(Mysql的一个分支)。 能够依照以下步骤手动装置Mysql数据库。 下载rpm安装文件wget http://repo.mysql.com/mysql-c... 执行rpm装置rpm -ivh mysql-community-release-el7.rpm 依赖解析实现后,呈现下列选项: Dependencies Resolved============================================================================================================== Package Arch Version Repository Size==============================================================================================================Installing: mysql-community-libs x86_64 5.6.32-2.el7 mysql56-community 2.0 M replacing mariadb-libs.x86_64 1:5.5.47-1.el7_2 mysql-community-server x86_64 5.6.32-2.el7 mysql56-community 59 M Installing for dependencies: mysql-community-client x86_64 5.6.32-2.el7 mysql56-community 19 M mysql-community-common x86_64 5.6.32-2.el7 mysql56-community 256 k perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 k perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 k perl-DBI x86_64 1.627-4.el7 base 802 k perl-IO-Compress noarch 2.061-2.el7 base 260 k perl-Net-Daemon noarch 0.48-5.el7 base 51 k perl-PlRPC noarch 0.2020-14.el7 base 36 kTransaction Summary=============================================================================================================Install 2 Packages (+8 Dependent packages)Total download size: 82 MIs this ok [y/d/N]: ...

January 31, 2021 · 1 min · jiezi

关于centos:centos更换国内源腾讯云源

官网下载的CentOS的yum源不是国内镜像,这样会导致yum在线装置及更新速度很慢。这时候须要将yum源设置为国内镜像站点,晋升速度。 腾讯云官网镜像站腾讯云CentOS镜像 简介CentOS,是基于 Red Hat Linux 提供的可自在应用源代码的企业级 Linux 发行版本;是一个稳固,可预测,可治理和可复制的收费企业级计算平台。配置办法1. 备份零碎旧配置文件mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/CentOS 8 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos8_base.repoCentOS 7 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repoCentOS 6 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos6_base.repoCentOS 5 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos5_base.repo3. 更新缓存yum clean allyum makecache

January 27, 2021 · 1 min · jiezi

关于centos:Linux-设置默认编辑器qbit

Ubuntu/CentOS 通用这种形式对 Ubuntu 20.04/CentOS 7 无效在 ~/.bashrc 中追加如下内容export EDITOR=$(which vim)export SYSTEMD_EDITOR=$(which vim)Ubuntu 专用对 Ubuntu 20.04 实用update-alternatives --config editor本文出自 qbit snap

December 30, 2020 · 1 min · jiezi

关于centos:使用Unison-同步文件

Unison是一个跨平台的文件同步工具,它在同步计算机或存储设备之间的数据时十分有用。 环境 Centos7(1): 192.168.43.165Centos7(2): 192.168.43.166装置Unison 在两个零碎中都要装置epel源,而后都要装置unison: [root@192_168_43_165 ~]# yum -y install epel-release[root@192_168_43_165 ~]# yum makecache[root@192_168_43_165 ~]# yum -y install unison 两台操作系统配置ssh免密登录 [root@192_168_43_165 ~]# ssh-keygen [root@192_168_43_165 ~]# ssh-copy-id root@192.168.43.166[root@192_168_43_165 ~]# cd ~/.ssh[root@192_168_43_165 .ssh]# cat id_rsa.pub > authorized_keys[root@192_168_43_165 .ssh]# scp id_rsa root@192.168.43.166:/root/.ssh 如何应用Unison Unison用于将目录中的一组文件同步到构造类似的另一个地位,该地位能够是本地主机或近程主机。 本地文件同步 在root家目录上面创立两个文件夹,一个是"Files",一个是"Backup"。Files外面创立文件,同步到Backup外面。 [root@192_168_43_165 ~]# mkdir Files Backup[root@192_168_43_165 ~]# cd Files/[root@192_168_43_165 Files]# touch file{1..10}.txt 当初运行unison命令,同步文件到Backup文件夹外面。 [root@192_168_43_165 ~]# unison -batch /root/Files /root/Backup 查看一下Backup文件夹,发现文件同步过去了。当初批改一下Backup文件夹外面的某个文件,而后再增加已给文件,最初执行一下方才的命令,看看是否会同步到Files文件夹中: [root@192_168_43_165 Backup]# echo "testtesttest" > file2.txt [root@192_168_43_165 Backup]# echo 'hello world!' > index.html ...

December 10, 2020 · 1 min · jiezi

关于centos:CentOS-已死"免费"的-RHEL-没了

官宣:CentOS 8将于2021年完结就在前不久,CentOS 6零碎才刚刚进行更新,当初官网又发表CentOS 8进行更新的音讯。难道是不开源拉? 红帽官网发表这则重磅音讯,Centos 8将于2021年完结。阐明在这之后不会呈现CentOS 9零碎了,取而代之是CentOS Stream这个叫滚动发行版本,至此 Centos 8 可能是 CentOS 中的最长寿版本。 CentOS 已死!CentOS Stream上位!"收费"时代终结。 划重点:Centos 8于2021年完结更新,后续不再反对社区版本了,简略的来说就是收费的版本没有了。CentOS(Community Enterprise Operating System,社区企业操作系统)是100%重建的RHEL(红帽企业Linux)。RHEL须要交服务费,而CentOS是收费的,社区反对的企业 Linux 发行版。 同时,CentOS我的项目明天通过CentOS博客发表了这一重大转变。CentOS我的项目今后将只专一于 CentOS Stream,作为红帽企业Linux的上游/开发分支。发行方激励CentOS 8用户开始向CentOS Stream 8过渡。同时,红帽还示意,英特尔将在CentOS Stream上与他们和社区单干。红帽还谈到Facebook在他们的数据中心应用CentOS Stream的衍生产品。 https://wiki.centos.org/zh/FA...https://www.centos.org/centos...https://wiki.centos.org/Manua...CentOS StreamCentOS Stream是目前 CentOS Linux 代替零碎,用来作为Fedora和RHEL之间性能缓冲版本。CentOS Stream是RHEL的滚动发行版。它充当Fedora和CentOS之间的网关: Upstream ——> Downsteam ——>RHEL:Fedora Linux ——> CentOS Stream ——>RHEL: 按官网的信息了解,能够认为 CentOS Stream 零碎会先于RHEL零碎进行相干的运行测试,然而Bug必须在RHEL中解决之后,CentOS Stream零碎才会取得最新的更新包。 然而,官网还特地指出,CentOS Stream零碎的修复、更新包会优于RHEL零碎,也就是说只有bug在RHEL零碎解决之后,CentOS Stream 零碎会取得修复更新。 官网也心愿这个Stream零碎运行谬误比RHEL零碎少,绝对的性能也比RHEL少。 但这种滚动发行版本的零碎是不是适宜用于生产环境,当初说能够或不能够都为时尚早。民工哥个人感觉生产环境应用可能会不太好,毕竟可能存在修复、更新状况较多,会不会影响零碎稳固?或者业务运行?都不太好说。 从CentOS Linux转换为CentOS Stream root@centos-linux# dnf install centos-release-streamroot@centos-linux# dnf distro-syncroot@centos-stream# cat /etc/centos-releaseCentOS Stream release 8为什么要创立CentOS Stream?以下信息来自官方网站摘录: 因为CentOS Linux是RHEL的严格上游版本,每个次要点版本都会对发行版的多个区域进行大规模降级,这通常会导致SIG提早数周,并且在依据更新的软件包进行重建时,SIG简直没有,没有变动增量的可见性。CentOS Stream将帮忙解决这些问题。首先,它打消了对发行版和SIG内容进行大规模重建的须要。因为更新会从批量批处理形式更改为一连串的开发程序包,所以更新更加频繁,但在世界范畴内更改的次数较少,因为该程序包一次只能更改一些,而不是600-700的程序包。一次全副更新。 ...

December 10, 2020 · 1 min · jiezi

关于centos:解决CentOS虚拟机无法显示本地IP问题

1 问题形容CentOS虚拟机无奈显示本地ip,如图: 2 尝试过的办法参考过此处的解决办法,把网卡配置中的ONBOOT批改为YES: 然而原来的网卡配置也是YES,所以批改的办法没有用,尝试了一下重启网卡服务: systemctl restart networkip还是无奈失常显示。 3 起因查了一下材料,罕用的Linux的网络管理服务有两个: network服务NetworkManager服务前者是根底服务,通常在服务器中应用,当然在图形界面也有,通常应用命令行配置,而NetworkManager个别在图形界面装置,是为了不便ip的配置,要留神的是两个之中只能有一个失效,因而须要抉择一个禁用。在笔者这种状况下应该是两者抵触了,导致不能失常显示本地ip,能够应用 systemctl status networksystemctl status NetworkManager查看两服务状态,如果不是服务抵触的话应该就是配置出错了的起因。 4 解决方案4.1 应用network先把NetworkManager禁用: systemctl stop NetworkManagersystemctl status NetworkManager禁用之后重启network: systemctl restart network这样就能显示出本地ip了。 若还是不能显示请查看网卡配置,在/etc/sysconfig/network-scripts下,笔者的是/etc/sysconfig/network-scripts/ifcfg-ens33。 4.2 应用NetworkManager应用NetworkManager的话先把network禁用: systemctl stop networksystemctl status network再把NetworkManager启动: systemctl start NetworkManager接下来应用nmcli进行操作。 4.2.1 托管状态首先查看托管状态: nmcli n若显示disabled: 开启即可: nmcli n on 4.2.2 设施查看设施: nmcli d笔者机器上显示如下: 接下来创立连贯,有两种形式创立:动/动态ip: # 动态ip形式创立connectionnmcli c add type ethernet con-name connect_name_1 ifname ens33 ipv4.addr 192.168.126.151/24 ipv4.gateway 192.168.126.1 ipv4.method manual# 动静ip形式创立connectionnmcli c add type ethernet con-name connect_name_2 ifname ens33 ipv4.method auto4.2.3 动态ip形式nmcli c add type ethernet con-name connect_name_1 ifname ens33 ipv4.addr 192.168.126.151/24 ipv4.gateway 192.168.126.1 ipv4.method manual参数阐明: ...

December 8, 2020 · 1 min · jiezi

关于centos:Linux如何安装Terminus终端

Terminus是一款基于web技术的终端,反对windows、Linux、MacOS零碎。能够为终端定制主题和各种配色计划。 环境 Deepin 15.11 装置 Terminus Terminus的github仓库:https://github.com/Eugeny/terminus/releases官网提供了下载地址(https://www.termius.com/),它的下载速度比github快很多然而github中的安装包类型比官网提供的多。有源码包、RHELCentos、UbuntuDebianDeepin、Windows、MacOS等安装包。在这里咱们从github下载.deb的安装包: bob@bob-PC:~$ sudo wget https://github.com/Eugeny/ter...bob@bob-PC:~$ sudo dpkg -i terminus-1.0.112-linux.deb 启动terminus 启动terminus的形式,能够从Deepin的启动器外面找到"Terminus",点击启动。关上之后启动了terminus点击“New Terminal”,能够新建回话。 自定义terminus Application选项卡 Application选项外面能够批改终端的主题、窗口的地位等参数。 hotkeys hotkeys选项能够批改某些性能的快捷键 plugins plugins选项能够下载插件,例如terminus的主题等插件。 Color Scheme Color Scheme选项能够设置中的文本的配色计划。 总结 Terminus是一个新的终端工具,它能够轻松地定制默认环境的可视化方面。

November 30, 2020 · 1 min · jiezi

关于centos:系统时间同步的方式

在生成密钥前要确保工夫正确并同步 立刻同步:ntpdate 172.18.0.1 与服务器同步,立刻失效 呈现此谬误时,the NTP socket is in use, exiting 执行此操作:service ntpd stop 始终与服务器放弃同步形式: 批改配置文件:centos6 vim /etc/ntp.conf (配置文件) server 172.18.0.1 iburst (在server 0前加一行) chkconfig --list ntpd (查看服务默认开启状况) chkconfig ntpd on (设置ntp服务默认开启) service ntpd start (开启服务) 批改配置文件:centos7 rpm -ql chrony (查看软件包中的文件) vim /etc/chrony.conf (配置文件) server 172.18.0.1 iburst (在server 0前加一行) systemctl is-enabled chronyd (查看服务默认开启状况) systemctl enable chronyd(设置ntp服务默认开启) systemctl start chronyd (开启服务)

November 19, 2020 · 1 min · jiezi

关于centos:CentOS-搭建-VPN-服务实现虚拟专用网络

什么是V-P-NV-P-N即虚构专用网络,它的性能是:在专用网络上建设专用网络,进行加密通信。 V-P-N网关通过对数据包的加密和数据包指标地址的转换实现近程拜访。V-P-N有多种分类形式,次要是按协定进行分类。 V-P-N可通过服务器、硬件、软件等多种形式实现。本文记录的是 Linux 零碎下V-P-N服务器的搭建。 试验环境VMware Workstation一台最小化装置的CentOS7,内网IP(仅主机模式):192.168.50.128,外网IP(NAT模式):192.168.204.133一台Windows7,内网IP(仅主机模式):192.168.50.129查看网络连通性,CentOS上执行以下命令: # 查看centos到windows之间的网络连通性ping -c 4 192.168.50.129# 查看centos到互联网的网络连通性ping -c 4 www.baidu.com 装置pptpd软件包yum install -y epel*yum install -y ppp pptpd批改配置文件options.pptpd vim /etc/ppp/options.pptpd查找ms-dns选项,解除本行正文,同时批改NDS地址批改配置文件pptpd.conf vim /etc/pptpd.conf查找ppp选项,解除本行正文查找localip选项和remoteip选项 其中localip代表虚构专用网络的本机地址,remoteip代表虚构专用网络客户端的地址池批改chap-secrets配置文件,增加登录用户 vim /etc/ppp/chap-secrets其中,client代表用户名,secret示意明码,IP addressses示意容许登录的IP地址(*代表不限度登录IP) 启动服务systemctl restart pptpdsystemctl status pptpd敞开防火墙setenforce 0systemctl stop firewalld.servicesystemctl disable firewalld.servicefirewall-cmd --state开启Linux的路由性能iptables -A FORWARD -i ens37 -j ACCEPTiptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ens33 -j MASQUERADEecho 1 > /proc/sys/net/ipv4/ip_forwardcat /proc/sys/net/ipv4/ip_forward解释(ens37为内网网卡,ens33为外网网卡): 第一条命令:让发送至内网网卡的数据全副通过第二条命令:批改数据报头信息第三条命令:开启Linux的路由性能第四条命令:查看是否启用了路由性能,1代表启用,0代表禁用具体命令须要依据本人的网卡名称进行批改设置开机自启将 开启Linux路由性能 的命令写成shell脚本 vim /root/nat.service增加如下内容(具体命令须要依据本人的网卡名称进行批改): #!/bin/bashiptables -A FORWARD -i ens37 -j ACCEPTiptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ens33 -j MASQUERADEecho 1 > /proc/sys/net/ipv4/ip_forwardcat /proc/sys/net/ipv4/ip_forward增加可执行限权 chmod +x /root/nat.service将脚本增加到开机自启目录 echo -e "/bin/bash /root/nat.service" >> /etc/rc.localchmod +x /etc/rc.local增加pptpd服务开机自启 systemctl enable pptpdWindows7上配置连贯V_P_N右击网络,抉择属性设置新的连贯或网络连贯到工作区填写V-P-N服务器的IP地址(即V-P-N服务器的内网IP)输出用户名明码,点击连贯查看连贯状态查看IP信息(可见V-P-N连贯调配的IP地址)查看互联网的连通性拜访网页链接:https://www.cnblogs.com/conne...

November 14, 2020 · 1 min · jiezi

关于centos:阿里云-服务器ECS安装MysqlMariadb

阿里云 服务器ECS装置Mysql(Mariadb)环境:阿里云服务器ECS抉择Centos 7.8 装置Mariadb通过ssh工具连贯阿里云服务器检测是否有Mariadb套件 rpm -qa | grep mariadb 应用Centos自带yum进行装置 yum -y install mariadb*启动Mariadb服务 systemctl start mariadb查看Mariadb默认明码 grep 'temporary password' /var/log/mysqld.log进入Mariadb mysql -u root -p 受权容许拜访权限及拜访形式 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;刷新配置失效 flush privileges; 阿里云服务器配置凋谢端口 可通过Mysql gui工具连贯治理。本文由博客群发一文多发等经营工具平台 OpenWrite 公布

November 11, 2020 · 1 min · jiezi

关于centos:虚拟机centos集群搭建

咱们在搭建redis集群、zookeper集群、hadoop集群、或者kafaka集群时候,都须要应用多台机器,所以搭建集群服务器是一个后端程序员根本素养。本文指标是:筹备搭建5台linux虚拟机 1、软件筹备CentOS-7-x86_64-Minimal-1611.iso、 2、装置要求搭建5台linux虚拟机;CentOS 7操作系统,64位,每台机器都是1个cpu,1G内存,装置JDK 1.8 3、虚拟机配置3.1、创立虚拟机关上Virtual Box,点击“新建”按钮,点击“下一步”,输出虚拟机名称为centos01,抉择操作系统为Linux,抉择版本为Red Hat-64bit,调配1024MB内存,前面的选项全副用默认,在Virtual Disk File location and size中,肯定要本人抉择一个目录来寄存虚拟机文件(不然的话会寄存到c盘下、比拟坑),最初点击“create”按钮,开始创立虚拟机。 3.2、设置虚拟机网卡抉择创立好的虚拟机,点击“设置”按钮,在网络一栏中,连贯形式中,抉择“Bridged Adapter”。(个别罕用的搭建虚拟机做试验的形式就是桥接网络) 咱们在不同中央办公ip地址变动了,就会导致你的之前搭建的那套虚拟机环境就没法用了。如果你心愿无论到哪里,ip地址变动了当前,虚拟机都能够失常工作,不须要重新配置网络,虚拟机如何配置网络,能够更换环境的时候,不须要重新配置,NAT如何配置。参考:https://www.cnblogs.com/cheng... 应用桥接,换了一个网络环境,ip地址都换了,5台虚拟机重新配置一下外面的网卡的一些ip地址; 3.3、装置虚拟机中的CentOS7操作系统抉择创立好的虚拟机,点击“开始”按钮,抉择装置介质(即本地的CentOS 7镜像文件)零碎抉择主动分片 装置完当前,CentOS会揭示你要重启一下,就是reboot,你就reboot就能够了。 4、配置网络(如果重启网卡应用ip addr时候 没看到人家给你调配的ip地址,你本人虚拟机主机应该是要去连一个路由器(网络)就能够了) 先让它动态分配一个ip地址 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 ONBOOT=yes //ONBOOT是指明在系统启动时是否激活网卡,只有在激活状态的网卡能力去连贯网络,进行网络通讯 而后重启服务:service network restart 查看调配的ip:ip addr 再设置动态ip地址: BOOTPROTO=staticIPADDR=192.168.1.8NETMASK=255.255.255.0 GATEWAY=192.168.1.1 //网关间接去虚拟机所在主机去查看对应网卡的网关而后重启网络 service network restart 查看ipaddr ip addr 虚拟机宿主机的网关如下: mac下查看网关及其dns参考链接:https://jingyan.baidu.com/art... 5、配置DNS查看NetManager的状态: systemctl status NetworkManager.service 查看NetManager治理的网络接口: nmcli dev status 查看NetManager治理的网络连接: nmcli connection show ...

October 31, 2020 · 1 min · jiezi

关于centos:CentOS-7的安装与部署-02

2.2 操作系统装置过程第01步:加载零碎镜像 第02步:启动虚拟主机 第03步:零碎装置抉择界面批改网卡名称启动虚拟机后,会呈现抉择菜单,首先用方向键抉择 install centos7选项,而后按tab键,在信息结尾输出批改网卡名称指令,输出结束后点击回车。 net.ifnames=0 biosdevname=0 第04步:进入零碎装置配置界面默认应用英语,点击Continue,进行下一步的操作。 第05步:零碎装置网络配置界面 第06步:零碎装置磁盘配置界面分区信息容量设置分区作用/boot200M次要用于寄存疏导系统启动数据文件,此分区如果损坏会影响系统启动swap1G属于Linux零碎特有分区,次要用于当内存空间残余有余时,能够长期将硬盘指定大小空间充当内存应用,所以又称为替换分区/残余空间属于Linux零碎特有分区,因为Linux零碎没有windows零碎盘符概念,所以根分区是检索所有数据终点目录 第07步:零碎装置软件初始配置 第08步:开始装置零碎并设置管理员明码 第9步:重启零碎确认零碎装置结束 输出用户名及明码,确认装置实现。须要留神的是,如果明码中含有数字,数字键盘可能须要手动开启,点击数字键盘上Number lk开启数字键盘。 2.3装置近程软件进行近程连贯设置第01步:装置并启动远程管理软件此次应用远程管理软件为FinalShell,如图所示: 第02步:新建SSH连贯 第03步:填写主机信息,并点击连贯 第04步:确认连贯是否胜利

October 26, 2020 · 1 min · jiezi

关于centos:服务器centos安装和配置java环境

一、下载1.1计划1关上url抉择jdk1.8下载http://www.oracle.com/technet... 我抉择linux x64版本: 通过浏览器控制台,关上all,看到申请的url 复制出url: https://download.oracle.com/otn/java/jdk/8u261-b12/a4634525489241b9a9e1aa73d9e118e6/jdk-8u261-linux-x64.tar.gz?AuthParam=1600091044_31c1eb94fbbe8bda12225c3e79714b87在centos中应用wget下载 wget https://download.oracle.com/otn/java/jdk/8u261-b12/a4634525489241b9a9e1aa73d9e118e6/jdk-8u261-linux-x64.tar.gz?AuthParam=1600091044_31c1eb94fbbe8bda12225c3e79714b87发现提醒403 应该是没有权限 wget https://download.oracle.com/otn/java/jdk/8u261-b12/5b13a193868b4bf28bcb45c792fce896/jdk-8u261-linux-x64.tar.gz?AuthParam=1600091044_31c1eb94fbbe8bda12225c3e79714b87模仿一个 User-Agent 申请头就能够解决了。User-Agent 能够间接复制浏览器 -> 开发者模式(F12或者 cmd + option + i) -> 网络-> 申请头 -> User-Agent 比方我的就是 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15。 wget -U 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15' -O '指标文件名.后缀名' 你的URL1.2计划2应用yum装置装置jdk 此次抉择java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment ...

September 19, 2020 · 1 min · jiezi

关于centos:CentOS7-下重装-python-和-yumqbit

删除与重装删除 pythonrpm -qa|grep python|xargs rpm -ev --allmatches --nodepswhereis python |xargs rm -frvwhereis python删除 yumrpm -qa|grep yum|xargs rpm -ev --allmatches --nodepswhereis yum |xargs rm -frv从网易镜像站下载以下安装包(留神版本号可能变动)wget -i yum.txt yum.txt https://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-4.11.3-43.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-build-4.11.3-43.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-libs-4.11.3-43.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-build-libs-4.11.3-43.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-sign-4.11.3-43.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-2.7.5-88.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-devel-2.7.5-88.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-libs-2.7.5-88.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-backports-1.0-8.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-rpm-macros-3-32.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python2-rpm-macros-3-32.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-ipaddress-1.0.16-2.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-srpm-macros-3-32.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-kitchen-1.1.1-5.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/libxml2-python-2.9.1-6.el7.4.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/libxml2-2.9.1-6.el7.4.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/libxml2-devel-2.9.1-6.el7.4.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/xz-devel-5.2.2-1.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/python-chardet-2.2.1-3.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-python-4.11.3-43.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-167.el7.centos.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-aliases-1.1.31-53.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-53.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-protectbase-1.1.31-53.el7.noarch.rpmhttps://mirrors.163.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-53.el7.noarch.rpm装置 rpm 包rpm -Uvh --replacepkgs *.rpm切换镜像源备份cd /etc/yum.repos.dmv CentOS-Base.repo CentOS-Base.repo.backup下载wget https://mirrors.163.com/.help/CentOS7-Base-163.repocleanyum clean allyum makecache本文出自 qbit snap

September 18, 2020 · 1 min · jiezi

关于centos:CENTOS7常规初始化

更新零碎# 更换零碎源cd /etc/yum.repos.dmv CentOS-Base.repo CentOS-Base.repo.oldcurl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoyum clean allyum makecacheyum update -y# 批改 hostnamehostnamectl set-hostname yourhostname惯例环境配置yum install zsh git lrzsz unzip tree -ynodejscurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bashnvm install 12.14.1nginxyum info nginxyum install nginx -ynginx -tsystemctl status nginxsystemctl start nginx# nginx default work dir: /usr/share/nginx/html常见问题# vim异样报错_arguments:451: _vim_files: function definition file not found# 解决办法rm ~/.zcompdump*exec zsh

September 1, 2020 · 1 min · jiezi

关于centos:Centos8搭建LANM环境

=============== LNMP 环境是指在 Linux 零碎下,由 Nginx + MySQL/MariaDB + PHP 组成的网站服务器架构Ngnix装置参考Nginx官网的装置领导1.向yum repository 增加nginxvim /etc/yum.repos.d/nginx.repo # 插入以下内容 [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/cen...$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true 2.yum装置yum install -y nginx 3.nginx启动systemctl start nginx 4.nginx自启动systemctl enable nginx MariaDB装置MariaDB的官网装置领导1.向yum repository 增加MariaDBvim /etc/yum.repos.d/MariaDB.repo # 插入以下内容 # MariaDB 10.5 CentOS repository list - created 2020-08-12 04:21 UTC # http://downloads.mariadb.org/... [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/c... module_hotfixes=1 gpgkey=https://yum.mariadb.org/RPM-G... gpgcheck=1 2.yum装置蕴含客户端和服务端yum -y install MariaDB-client MariaDB-server ...

August 12, 2020 · 1 min · jiezi

关于centos:Centos8搭建LANM环境

=============== LNMP 环境是指在 Linux 零碎下,由 Nginx + MySQL/MariaDB + PHP 组成的网站服务器架构Ngnix装置参考Nginx官网的装置领导1.向yum repository 增加nginxvim /etc/yum.repos.d/nginx.repo # 插入以下内容 [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/cen...$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true 2.yum装置yum install -y nginx 3.nginx启动systemctl start nginx 4.nginx自启动systemctl enable nginx MariaDB装置MariaDB的官网装置领导1.向yum repository 增加MariaDBvim /etc/yum.repos.d/MariaDB.repo # 插入以下内容 # MariaDB 10.5 CentOS repository list - created 2020-08-12 04:21 UTC # http://downloads.mariadb.org/... [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/c... module_hotfixes=1 gpgkey=https://yum.mariadb.org/RPM-G... gpgcheck=1 2.yum装置蕴含客户端和服务端yum -y install MariaDB-client MariaDB-server ...

August 12, 2020 · 1 min · jiezi

关于centos:LVS的几种连接方式

搬运至我原简书https://www.jianshu.com/p/d51... 首次搭建LVS时应用只有一张网卡的虚拟机,无论如何配置都不能跳转到real server 上,总结发现与LVS的连贯模式有关系,LVS次要有以下几种模式:一、NAT模式;NAT模型:地址转换类型,次要是做地址转换,相似于iptables的DNAT类型,它通过多指标地址转换,来实现负载平衡;特点和要求: LVS(Director)下面须要双网卡:DIP(内网)和VIP(外网)内网的Real Server主机的IP必须和DIP在同一个网络中,并且要求其网关都须要指向DIP的地址RIP都是公有IP地址,仅用于各个节点之间的通信Director位于client和Real Server之间,负载解决所有的进站、出站的通信反对端口映射通常利用在较大规模的利用场景中,但Director易成为整个架构的瓶颈。相干机器信息: LB1 eth0:192.168.244.132 (Vip) (公网)eth1:192.168.27.128 (Dip) (内网)rs1 eth0:192.168.27.130 (Rip) (内网)getway:192.168.27.128rs2 eth0:192.168.27.131 (Rip) (内网)getway:192.168.27.128 首先应用nginx将两台rs机器拜访页面配置好,使得拜访rs1呈现welcome to nginx!I'm rs 1!,拜访rs2呈现welcome to nginx!I'm rs 2。 当初在LB上操作; 确定本机ip_vs模块是否加载,也就是是否反对lvs,2.4.2后都反对了;而后装置ipvsadm 用户操作命令。 ipvsadm装置: [root@LB1 ~]# yum install ipvsadm -yecho 1 > /proc/sys/net/ipv4/ip_forwardipvsadm -A -t  192.168.244.132:80 -s rripvsadm -a -t 192.168.244.132:80 -r 192.168.27.130-mipvsadm -a -t 192.168.244.132:80 -r 192.168.27.131-m测试页面时能够拜访到 两台rs的 html页面交替呈现。 二、DR模式:特点和要求 各个集群节点必须和Director在同一个物理网络中RIP地址不能为公有地址,能够实现便捷的远程管理和监控Director仅仅负责解决入站申请,响应报文则由Real Server间接发往客户端集群节点Real Server 的网关肯定不能指向DIP,而是指向内部路由Director不反对端口映射Director可能反对比NAT多很多的Real Server 原理: DR模型:间接路由模型,每个Real Server上都有两个IP:VIP和RIP,然而VIP是暗藏的,就是不能进步解析等性能,只是用来做申请回复的源IP的,Director上只须要一个网卡,而后利用别名来配置两个IP:VIP和DIP      Director在承受到内部主机的申请的时候转发给Real Server的时候并不更改指标地址,只是通过arp解析的MAC地址进行封装而后转给Real Server,Real Server在承受到信息当前拆除MAC帧封装,而后间接回复给CIP。 ...

August 4, 2020 · 2 min · jiezi

关于centos:经验栈centos7下编译紫光展锐UIS891xDM平台固件

1、前言最近我的项目须要在centos零碎下编译紫光展锐平台的sdk,然而频频报错,而且谬误提醒也很有误导性,导致始终不得其真谛,武小栈明天剖析一下对于这次环境搭建的记录。 2、注释编程指南外面提供了linux环境编译命令和需要,在ubuntu16.04中只须要装置python3即可实现命令编译。 前提:我的项目工程源码在windows环境中编译通过。 第一次,在centos7中装置python3,尝试编译,编译失败,提醒短少配置文件。狐疑文件读写权限导致文件读写失败,换成root用户,并给我的项目文件所有权限。 第二次,在centos7中编译失败,提醒短少配置文件。手动复制配置文件到指定文件夹。 第三次,在centos7中编译失败,提醒短少ninja。装置ninja。 第四次,在centos7中编译失败,提醒ninja配置文件缺失。 第五次,在ubuntu16.04中编译,提醒文件格式不正确,利用fromdos将shell脚本全转换一遍,编译胜利。 ... 第N次,装置gcc10.2.0,编译胜利。 3、centos7编译环境搭建1、装置高版本gcc,能够装置gcc10.2.0,装置办法参考链接:centos7装置gcc10.2.0。 2、装置python3,不必将默认版本python2.7.5替换成python3,装置办法参考链接:centos7装置python3.8.5。 3、应用root权限运行编译指令。 4、后记在ubuntu16.04中的默认gcc版本为5.4.0,在centos7.6中默认gcc版本为4.8.5。这个问题始终没解决的本源仅此而已,长期开发windows平台软件,还是短少对linux的了解,今后要增强了。 参考资料UIS891xDM_Programming_Guide-1.1.pdf(起源CSDN,请自行查看,如果没有积分也能够留言)

August 3, 2020 · 1 min · jiezi

关于centos:经验栈centos7下编译紫光展锐UIS891xDM平台固件

1、前言最近我的项目须要在centos零碎下编译紫光展锐平台的sdk,然而频频报错,而且谬误提醒也很有误导性,导致始终不得其真谛,武小栈明天剖析一下对于这次环境搭建的记录。 2、注释编程指南外面提供了linux环境编译命令和需要,在ubuntu16.04中只须要装置python3即可实现命令编译。 前提:我的项目工程源码在windows环境中编译通过。 第一次,在centos7中装置python3,尝试编译,编译失败,提醒短少配置文件。狐疑文件读写权限导致文件读写失败,换成root用户,并给我的项目文件所有权限。 第二次,在centos7中编译失败,提醒短少配置文件。手动复制配置文件到指定文件夹。 第三次,在centos7中编译失败,提醒短少ninja。装置ninja。 第四次,在centos7中编译失败,提醒ninja配置文件缺失。 第五次,在ubuntu16.04中编译,提醒文件格式不正确,利用fromdos将shell脚本全转换一遍,编译胜利。 ... 第N次,装置gcc10.2.0,编译胜利。 3、centos7编译环境搭建1、装置高版本gcc,能够装置gcc10.2.0,装置办法参考链接:centos7装置gcc10.2.0。 2、装置python3,不必将默认版本python2.7.5替换成python3,装置办法参考链接:centos7装置python3.8.5。 3、应用root权限运行编译指令。 4、后记在ubuntu16.04中的默认gcc版本为5.4.0,在centos7.6中默认gcc版本为4.8.5。这个问题始终没解决的本源仅此而已,长期开发windows平台软件,还是短少对linux的了解,今后要增强了。 参考资料UIS891xDM_Programming_Guide-1.1.pdf(起源CSDN,请自行查看,如果没有积分也能够留言)

August 3, 2020 · 1 min · jiezi

关于centos:更新yum源

更新yum源 备份mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载新的CentOS-Base.repo 到/etc/yum.repos.d/wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 运行yum makecache生成缓存yum makecache 更新零碎(生成了缓存,能够不必更新)yum -y update centos源查问网站

July 28, 2020 · 1 min · jiezi

关于centos:centos7-升级安装Git

centos 7 Git的装置、centos 7 Git的降级1. yum 装置Git这是最便捷装置低版本的Git 1.8.3,如果想要装置高版本,请查看第2点 这是最简略的一种装置git的办法,但装置git的版本绝对旧,大多是1.8.3版本 # 装置$ yum install git# 查看版本$ git --version# 后果-> git version 1.8.32. 下载包装置Git可装置Git的任意版本 2.1 查看以后Git版本$ git --version# 如果存在版本号,务必进行 卸载Git$ yum remove git2.2 装置依赖包$ yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel gcc perl-ExtUtils-MakeMaker package2.3 下载Git版本包拜访可查看你须要下载的版本:https://www.kernel.org/pub/software/scm/git 2.3.1 下载下载文件到当前目录,这时下载是2.14.0版本 $ wget https://www.kernel.org/pub/software/scm/git/git-2.14.0.tar.gz2.3.2 解压$ tar -zxvf git-2.14.0.tar.gz2.4 装置操作上面3步。 $ cd git-2.14.0$ ./configure --prefix=/usr/local/git all$ make && make install2.5 配置环境变量操作上面2步。 $ echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc$ source /etc/bashrc2.6 实现装置装置实现,查看版本号显示后果应该就是:2.14.0 ...

July 21, 2020 · 1 min · jiezi

CentOS安装nodejs环境

前言应用CentOS7零碎装置node.js 一、node.js装置首先下载并解压安装包:注:历史版本可自行去https://nodejs.org/dist/下载 $ wget https://npm.taobao.org/mirrors/node/v14.5.0/node-v14.5.0-linux-x64.tar.gz$ tar -xzf node-v14.5.0-linux-x64.tar.gz在/usr/local/bin中建设软连贯不便咱们在全局快捷运行注:因为我得nodejs包是在/data/bin/nodejs中,各位看官请依据本人解压得路接自行更改 # 以下是把bin中所有都建设软连贯$ ln -s /data/bin/nodejs/default/bin/* /usr/local/bin/查看node.js是否装置胜利 $ node -v$ npm -v如下图所示装置胜利 二、模块应用npm命令下载pm2 #一般装置,装置地址则是你执行命令得地址,应用默认镜像源$ npm install pm2#全局装置,装置在咱们nodejs目录得lib中,应用默认镜像源$ npm install -g pm2#长期应用淘宝镜像源,全局装置$ npm --registry https://registry.npm.taobao.org install -g pm2建设pm2软连贯 #所有以pm2为前缀得文件建设连贯$ ln -s /data/node/bin/pm2* /usr/local/bin/应用npm命令下载pomelo #一般装置,装置地址则是你执行命令得地址,应用默认镜像源$ npm install pomelo#全局装置,装置在咱们nodejs目录得lib中,应用默认镜像源$ npm install -g pomelo#长期应用淘宝镜像源,全局装置$ npm --registry https://registry.npm.taobao.org install -g pomelo建设pomelo软连贯 #独自建设pomelo得连贯$ ln -s /data/node/bin/pomelo /usr/local/bin/下面每次npm得时候都须要长期输出registry太过于麻烦,所有我这里把npm得默认地址批改 #查看以后镜像源$ npm config get registry#设置淘宝镜像源$ npm config set registry https://registry.npm.taobao.org如下图所示设置结束 ...

July 13, 2020 · 1 min · jiezi

CentOS安装Redis

前言应用CentOS7零碎yum形式装置Redis-5.0.3 一、Redis装置因为Redis是用C语音开发,所以咱们装置前需先确认是否装置gcc环境: $ gcc -v$ rpm -qa | grep gcc个别状况下CentOS是默认装置gcc,如果没有装置,执行以下命令进行装置: $ yum -y install gcc下载并解压安装包: $ wget http://download.redis.io/releases/redis-5.0.3.tar.gz$ tar -xzf redis-5.0.3.tar.gz进入Redis目录下,执行编译 $ cd redis-5.0.3$ make$ make install二、批改配置文件关上配置文件 $ cd redis-5.0.3$ vim redis.conf属性:bind bind 127.0.0.1 #限度只有本机能够连贯redis服务连贯bind 0.0.0.0 #容许任意计算机都能够连贯redis服务连贯属性:protected-mode protected-mode yes #保护模式,需配置bind ip或者设置拜访明码protected-mode no #内部网络能够间接拜访属性:daemonize daemonize no #redis在以后终端显示输入,并运行,exit强制退出或者敞开连贯工具daemonize yes #redis在后盾运行,此时redis将始终运行,除非手动kill该过程属性:requirepass # requirepass foobared #默认无明码requirepass password #看集体需要设置你喜爱得明码属性:logfile logfile "" #默认无输入logfile "/var/log/redis/6379.log" #看状况设置三、启动服务将配置文件复制到指定为止 $ mkdir /etc/redis$ cp /root/redis-5.0.3/redis.conf /etc/redis/redis.conf命令行启动 $ redis-server如下图所示胜利启动 ...

July 10, 2020 · 1 min · jiezi

CentOS安装MySQL

前言应用centos7零碎yum形式装置MySQL5.7 一、MySQL装置失常状况下centos中默认装置mariadb,咱们这里能够疏忽这一点 [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm应用下面的命令下载安装用的Yum Repository,大略25KB的样子 [root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm应用下面得命令装置mysql [root@localhost ~]# yum -y install mysql-community-server这步可能会花些工夫,装置实现后就会笼罩掉之前的mariadb Installed:(装置项) mysql-community-libs.x86_64 0:5.7.30-1.el7 mysql-community-libs-compat.x86_64 0:5.7.30-1.el7 mysql-community-server.x86_64 0:5.7.30-1.el7Dependency Installed:(依赖项) libaio.x86_64 0:0.3.109-13.el7 mysql-community-client.x86_64 0:5.7.30-1.el7 mysql-community-common.x86_64 0:5.7.30-1.el7Dependency Updated:(更新依赖项) postfix.x86_64 2:2.10.1-9.el7Replaced:(替换项) mariadb-libs.x86_64 1:5.5.64-1.el7可能会有差别,然而装置项是不会变得,到了这步,mysql装置完结 二、MySQL数据库设置启动MySQL [root@localhost ~]# systemctl start mysqld.service查看MySQL运行状态 [root@localhost ~]# systemctl status mysqld.service 此时MySQL曾经开始失常运行,不过要想进入MySQL还得先找出此时root用户的明码,通过如下命令能够在日志文件中找出明码: [root@localhost ~]# grep "password" /var/log/mysqld.log 进入数据库: [root@localhost ~]# mysql -uroot -p输出初始密码进入数据库,但此时不能做任何事件,因为MySQL默认必须批改明码之后能力操作数据库: mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';这里有个问题,新密码设置的时候如果设置的过于简略会报错 ...

July 10, 2020 · 1 min · jiezi

centos7优化启动项关闭一些不必要开启的服务

CentOS7已不再使用chkconfig 管理启动项 使用 systemctl list-unit-files 可以查看启动项  systemctl list-unit-files | grep enable 过滤查看启动项如下 abrt-ccpp.service                                enabled abrt为auto bug report的缩写 用于bug报告 关闭 abrt-oops.service                                enabled ----------------------  abrt-vmcore.service                              enabled ---------------------- abrt-xorg.service                                enabled ---------------------- abrtd.service                                      enabled   ---------------------- auditd.service                                   enabled 安全审计 保留 autovt@.service                               enabled 登陆相关 保留 crond.service                                          enabled 定时任务 保留 dbus-org.freedesktop.NetworkManager.service    enabled 桌面网卡管理 关闭 dbus-org.freedesktop.nm-dispatcher.service         enabled ---------------------- getty@.service                                enabled tty控制台相关 保留 irqbalance.service                          enabled 优化系统中断分配 保留 kdump.service                                enabled 内核崩溃信息捕获 自定 microcode.service                        enabled 处理器稳定性增强 保留 NetworkManager-dispatcher.service              enabled 网卡守护进程 关闭 NetworkManager.service                        enabled ---------------------- postfix.service                            enabled 邮件服务 关闭 rsyslog.service                              enabled 日志服务 保留 snmpd.service                                enabled snmp监控 数据抓取 保留 sshd.service                                  enabled ssh登陆 保留 systemd-readahead-collect.service             enabled 内核调用--预读取 保留 systemd-readahead-drop.service                enabled ---------------------- systemd-readahead-replay.service              enabled ---------------------- tuned.service                                     enabled  default.target                                 enabled 默认启动项 multi-user.target的软连接 保留 multi-user.target                             enabled 启动用户命令环境 保留 remote-fs.target                               enabled 集合远程文件挂载点 自定 runlevel2.target                              enabled 运行级别 用于兼容6的SysV 保留 runlevel3.target                              enabled ---------------------- runlevel4.target                              enabled ---------------------- ...

June 20, 2020 · 2 min · jiezi

使用john-软件破解CentOS系统用户密码

时隔18天,我的博客终于又更新啦。最近真的是忙的不要不要的!一、新建两个用户用于被破解对象新建用户Root: useradd Root设置Root的密码: passwd Root新建用户admin: useradd admin设置admin的密码: passwd admin二、在centos系统中找到加密的用户密码vi /etc/shadow 复制刚刚设置的两个用户的加密密码进入桌面cd /home/tao/Desktop用vi编辑器新建一个名为shadow的文件,将刚刚复制的加密密码粘贴到里面:vi shadow 三、使用john软件来破解刚刚的密码1、安装john 1.8(我这里测试的1.7.5无法运行)可以直接在桌面目录下进行下载(/home/tao/Desktop)wget http://www.openwall.com/john/j/john-1.8.0.tar.gz下载好以后进行解压:tar -xf john-1.8.0.tar.gz进入src目录下:cd john-1.8.0/src/安装GCC依赖:yum -y install gcc gcc-c++ make进行编译makemake linux-x86-642、进行解密进入john的run目录下:cd john-1.8.0cd run解密命令(/home/tao/Desktop/shadow修改为你自己的shadow文件路径):./john --w:password.lst /home/tao/Desktop/shadow解密成功 以上就是我的测试结果啦。

June 18, 2020 · 1 min · jiezi

linux部分命令

查看哪些端口是开放的 netstat -tlpnUbuntu开放指定端口一般情况下,ubuntu安装好的时候,iptables会被安装上,如果没有的话那就安装上吧 安装 在终端输入sudo apt-get install iptables添加规则 在终端输入iptables -I INPUT -p tcp --dport 80 -j ACCEPT中间的80为所需要开放的端口 保存规则 在终端输入iptables-save完成上述命令我们就完成了开放指定的端口,但是如果此时服务器重启,上述规则就没有了,所以我们需要对规则进行一下持续化操作 持久化规则 这里我们需要在安装一下工具来帮我们实现,这里我们使用 iptables-persistent 安装iptables-persistentsudo apt-get install iptables-persistent持久化规则sudo netfilter-persistent savesudo netfilter-persistent reload完成上述操作就可以永久打开我们需要的端口了

June 4, 2020 · 1 min · jiezi

centos7-openssh升级到最新版本

注意事项本文的环境都是系统自带的openssh,若是手动编译安装的,不保证成功。若是自带的,则升级过程中不需要卸载旧版本openssh。 安装之前可以先试试yum更新,若是可以更新,就不需要往下看了 # centos8 $ yum update openssh -y# 重启sshd$ systemctl restart sshd准备工作系统说明系统版本:CentOS Linux release 7.7.1908 (Core)openssh:OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017下载最新包选择你需要的包下载 本文选择的是:openssh-8.2p1.tar.gz $ wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.2p1.tar.gz安装telnet备用(可选)安装新的ssh之后,只要配置好启动,就可以做到无缝切换,但是中途断开就不能连接了,为了防止这种情况,我们可以安装telnet当作备用,若是你能保证中途不会断开,此步骤可以忽略 1.安装 $ yum install telnet telnet-server -y2.启动 $ systemctl enable telnet.socket$ systemctl start telnet.socket3.连接 # telnet 默认禁止root用户连接,我们先生成一个普通用户 $ useradd testuser$ passwd testuser# 本地测试$ telnet 127.0.0.1VM_0_6_centos login: testuserPassword: [testuser@VM_0_6_centos ~]$ # 切换root[testuser@VM_0_6_centos ~]$ su升级安装所需依赖$ yum install zlib-devel openssl-devel pam-devel -y备份$ mkdir /etc/ssh_old$ mv /etc/ssh/* /etc/ssh_old/解压、编译安装$ tar xzvf openssh-8.2p1.tar.gz $ cd openssh-8.2p1/# 查看openssl的位置$ whereis opensslopenssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz# 编译 --with-ssl-dir 填写上面查找的openssl路径$ ./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/lib64/ --with-zlib --with-pam --with-md5-password --with-ssl-engine --with-selinux# 安装$ make && make install# 验证$ ssh -VOpenSSH_8.2p1, OpenSSL 1.0.2k-fips 26 Jan 2017$ ls /etc/sshmoduli ssh_config sshd_config ssh_host_dsa_key ssh_host_dsa_key.pub ssh_host_ecdsa_key ssh_host_ecdsa_key.pub ssh_host_ed25519_key ssh_host_ed25519_key.pub ssh_host_rsa_key ssh_host_rsa_key.pub配置1.修改sshd_config ...

May 27, 2020 · 1 min · jiezi

libreoffice输出到NFS共享存储失败原因及解决

背景一个web应用部署在了多台机器上 负载均衡 为了解决A机器生成的文件 B机器不可见的问题 找了额外一台机器创建了NFS共享存储 应用所在机器挂载到该共享存储上 如 df -h10.47.214.89:/data 493G 18G 451G 4% /home/foo/affix_share生成的文件保存到共享存储下 这样的话 所有的机器都能看到 问题有一种场景却不行 为了能够在线查看excel doc 需要先将其转成pdf libreoffice转pdf保存到共享存储下失败 $ /usr/bin/libreoffice5.2  --invisible --convert-to pdf --outdir /home/foo/affix_share /tmp/9192d7ac-2189-4b9a-a0e0-811e3ca54809.xlsxconvert /tmp/9192d7ac-2189-4b9a-a0e0-811e3ca54809.xlsx -> /home/foo/affix_share/9192d7ac-2189-4b9a-a0e0-811e3ca54809.pdf using filter : calc_pdf_ExportError: Please verify input parameters... (SfxBaseModel::impl_store <[file:///home/foo/affix_share/9192d7ac-2189-4b9a-a0e0-811e3ca54809.pdf](file:///home/foo/affix_share/9192d7ac-2189-4b9a-a0e0-811e3ca54809.pdf)\> failed: 0x11b)原因查看NFS server所在机器的系统日志(/var/log/messages) 发现了很多如下的日志 May 25 22:33:12 iZ25yuv547qZ kernel: lockd: cannot monitor xxxxMay 26 15:01:47 iZ25yuv547qZ kernel: lockd: cannot monitor xxx经查原来是NFS所依赖的rpc.statd没有启动导致 # service nfslock statusrpc.statd is stopped ...

May 26, 2020 · 1 min · jiezi

阿里云部署-3redis

redis下载和编译wget http://download.redis.io/releases/redis-4.0.2.tar.gztar xzf redis-4.0.2.tar.gzcd redis-4.0.2make启动服务后台启动redis cd redis-4.0.2/src/redis-server &查询redis进程 ps -ef | grep redis可以看到redis已经启动了 root 19141 19065 0 12:50 pts/1 00:00:03 ./src/redis-server 0.0.0.0:6379root 19238 19196 0 14:00 pts/0 00:00:00 grep --color=auto redis结束进程 kill -9 pid初步测试启动redis客户端 cd redis-4.0.2/src/redis-cli127.0.0.1:6379> set test 1OK127.0.0.1:6379> get test"1"redis安装成功了。 配置服务器远程连接默认配置只能是本地访问,我们修改redis-4.0.2/redis.conf配置文件将 bind 127.0.0.1修改为 bind 0.0.0.0 防火墙你需要添加安全组规则,打开服务器防火墙上的6379端口。 设置远程连接密码默认配置开启了保护模式 protected-mode yes这时你需要设置密码才可以远程连接上redis,密码设置非常简单,只需要在requirepass字段上填写你的密码即可 requirepass 你的密码配置完毕,后台启动你的redis可以了。 ./redis-server /etc/redis/redis.confnode客户端连接我用的是npm上的redis包,此时根据前面你的配置就可以远程连接服务器上的redis了。结合开发文档,就可以进行实际开发了。 const redis = require('redis');const config = require('../config');const logger = require('log4js').getLogger('app');class RedisClient { constructor() { if (!RedisClient.instance) { this.client = redis.createClient({ host: config.redis.host, port: config.redis.port, password: config.redis.password, }); const client = this.client; RedisClient.instance = client; client.on("error", (err) => { logger.error('redis connect err: %s', err.toString()); }); client.on("connect", () => { logger.info('redis connect success'); }); } }}module.exports = new RedisClient().client; ...

October 23, 2019 · 1 min · jiezi

CentOS使用Yum升级Git到21x新版本

使用yum最多只能安装到1.8,版本太旧了,下载源码手动编译安装?先不说国内下载官网包2kB/s的速度,就是下载下来了编译也麻烦啊,包管理是吃干饭的嘛? 其实只要换个源,重新下载就好了 先卸载旧版 yum remove git添加新源后安装新版 yum install -y https://centos7.iuscommunity.org/ius-release.rpmyum install -y git2u检验 git version 最后附带我的安装过程 root@izwz957qhjacaocedubzjjz /tmp/installGit [20:43:53] > # yum install -y https://centos7.iuscommunity.org/ius-release.rpm已加载插件:fastestmirrorius-release.rpm | 8.2 kB 00:00 正在检查 /var/tmp/yum-root-6VAioA/ius-release.rpm: ius-release-2-1.el7.ius.noarch/var/tmp/yum-root-6VAioA/ius-release.rpm 将被安装正在解决依赖关系--> 正在检查事务---> 软件包 ius-release.noarch.0.2-1.el7.ius 将被 安装--> 正在处理依赖关系 epel-release = 7,它被软件包 ius-release-2-1.el7.ius.noarch 需要Loading mirror speeds from cached hostfile--> 正在检查事务---> 软件包 epel-release.noarch.0.7-12 将被 安装--> 解决依赖关系完成依赖关系解决========================================================== Package 架构 版本 源 大小==========================================================正在安装: ius-release noarch 2-1.el7.ius /ius-release 4.5 k为依赖而安装: epel-release noarch 7-12 epel 15 k事务概要==========================================================安装 1 软件包 (+1 依赖软件包)总计:19 k总下载量:15 k安装大小:29 kDownloading packages:epel-release-7-12.noarch.rpm | 15 kB 00:00 Running transaction checkRunning transaction testTransaction test succeededRunning transaction 正在安装 : epel-release-7-12.noarch 1/2 警告:/etc/yum.repos.d/epel.repo 已建立为 /etc/yum.repos.d/epel.repo.rpmnew 正在安装 : ius-release-2-1.el7.ius.noarch 2/2 验证中 : ius-release-2-1.el7.ius.noarch 1/2 验证中 : epel-release-7-12.noarch 2/2 已安装: ius-release.noarch 0:2-1.el7.ius 作为依赖被安装: epel-release.noarch 0:7-12 完毕! root@izwz957qhjacaocedubzjjz /tmp/installGit [20:44:05] > # yum install -y git2u 已加载插件:fastestmirrorius | 1.3 kB 00:00 ius/x86_64/primary | 129 kB 00:01 Loading mirror speeds from cached hostfileius 538/538正在解决依赖关系--> 正在检查事务---> 软件包 git2u.x86_64.0.2.16.5-1.ius.el7 将被 安装--> 正在处理依赖关系 git2u-perl-Git = 2.16.5-1.ius.el7,它被软件包 git2u-2.16.5-1.ius.el7.x86_64 需要--> 正在处理依赖关系 git2u-core-doc = 2.16.5-1.ius.el7,它被软件包 git2u-2.16.5-1.ius.el7.x86_64 需要--> 正在处理依赖关系 git2u-core = 2.16.5-1.ius.el7,它被软件包 git2u-2.16.5-1.ius.el7.x86_64 需要--> 正在处理依赖关系 perl(Git::I18N),它被软件包 git2u-2.16.5-1.ius.el7.x86_64 需要--> 正在处理依赖关系 perl(Git),它被软件包 git2u-2.16.5-1.ius.el7.x86_64 需要--> 正在处理依赖关系 libsecret-1.so.0()(64bit),它被软件包 git2u-2.16.5-1.ius.el7.x86_64 需要--> 正在检查事务---> 软件包 git2u-core.x86_64.0.2.16.5-1.ius.el7 将被 安装---> 软件包 git2u-core-doc.noarch.0.2.16.5-1.ius.el7 将被 安装---> 软件包 git2u-perl-Git.noarch.0.2.16.5-1.ius.el7 将被 安装---> 软件包 libsecret.x86_64.0.0.18.6-1.el7 将被 安装--> 解决依赖关系完成依赖关系解决========================================================== Package 架构 版本 源 大小==========================================================正在安装: git2u x86_64 2.16.5-1.ius.el7 ius 1.1 M为依赖而安装: git2u-core x86_64 2.16.5-1.ius.el7 ius 5.5 M git2u-core-doc noarch 2.16.5-1.ius.el7 ius 2.4 M git2u-perl-Git noarch 2.16.5-1.ius.el7 ius 68 k libsecret x86_64 0.18.6-1.el7 base 153 k事务概要==========================================================安装 1 软件包 (+4 依赖软件包)总下载量:9.2 M安装大小:42 MDownloading packages:警告:/var/cache/yum/x86_64/7/ius/packages/git2u-2.16.5-1.ius.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 4b274df2: NOKEYgit2u-2.16.5-1.ius.el7.x86_64.rpm 的公钥尚未安装(1/5): git2u-2.16.5-1.ius.el7.x86_64 | 1.1 MB 00:02 (2/5): git2u-core-doc-2.16.5-1.ius.e | 2.4 MB 00:00 (3/5): git2u-core-2.16.5-1.ius.el7.x | 5.5 MB 00:03 (4/5): libsecret-0.18.6-1.el7.x86_64 | 153 kB 00:00 (5/5): git2u-perl-Git-2.16.5-1.ius.e | 68 kB 00:00 ----------------------------------------------------------总计 2.6 MB/s | 9.2 MB 00:03 从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-IUS-7 检索密钥导入 GPG key 0x4B274DF2: 用户ID : "IUS (7) <dev@ius.io>" 指纹 : c958 7a09 a11f d706 4f0c a0f4 e558 0725 4b27 4df2 软件包 : ius-release-2-1.el7.ius.noarch (installed) 来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-IUS-7Running transaction checkRunning transaction testTransaction test succeededRunning transaction 正在安装 : git2u-core-2.16.5-1.ius.el7.x86_64 1/5 正在安装 : git2u-core-doc-2.16.5-1.ius.el7.noa 2/5 正在安装 : libsecret-0.18.6-1.el7.x86_64 3/5 正在安装 : git2u-perl-Git-2.16.5-1.ius.el7.noa 4/5 正在安装 : git2u-2.16.5-1.ius.el7.x86_64 5/5 验证中 : git2u-2.16.5-1.ius.el7.x86_64 1/5 验证中 : git2u-core-doc-2.16.5-1.ius.el7.noa 2/5 验证中 : git2u-core-2.16.5-1.ius.el7.x86_64 3/5 验证中 : git2u-perl-Git-2.16.5-1.ius.el7.noa 4/5 验证中 : libsecret-0.18.6-1.el7.x86_64 5/5 已安装: git2u.x86_64 0:2.16.5-1.ius.el7 作为依赖被安装: git2u-core.x86_64 0:2.16.5-1.ius.el7 git2u-core-doc.noarch 0:2.16.5-1.ius.el7 git2u-perl-Git.noarch 0:2.16.5-1.ius.el7 libsecret.x86_64 0:0.18.6-1.el7 完毕! root@izwz957qhjacaocedubzjjz /tmp/installGit [20:44:22] > # git version git version 2.16.5感谢https://www.cnblogs.com/jhxxb/p/10571227.html

October 22, 2019 · 2 min · jiezi

Linux-查看某个用户组的所有用户Python实现

code# encoding: utf-8# author: walker# date: 2017-07-31# summary: Linux 查看某个用户组的所有用户# filename: group_users.pyimport sys #打印某个组的所有成员def ShowGroupUsers(group_name): group_id = 'err' users = '' with open('/etc/group') as f: for line in f: line = line.strip() vec = line.split(':') if vec[0] == group_name: group_id = vec[2] users = vec[3] if group_id == 'err': print('not find %s in /etc/group') return False with open('/etc/passwd') as f: for line in f: line = line.strip() vec = line.split(':') if vec[3] == group_id: users += ',' + vec[0] user_set = set(filter(lambda x:x, users.split(','))) users = ','.join(sorted(list(user_set))) print('%s(%s) users: %s' % (group_name, group_id, users)) return Trueif __name__ == '__main__': ShowGroupUsers(sys.argv[1])使用python group_users.py groupX

October 17, 2019 · 1 min · jiezi

Linux-用户管理相关命令walker

相关文件口令文件(/etc/passwd)中的登录项有7个以冒号分隔的字段组成,依次是:登录名:加密口令:用户ID:组ID:注释字段:起始目录:shell程序加密口令存放在 /etc/shadow 中。组文件(/etc/group)将组名映射为数值的组ID,其中4个字段依次是:# 注意用户列表为空时并不代表改组没有用户组名称:组密码:组ID:该组用户列表(以逗号分隔)用户相关创建用户# ubuntuuseradd walker -m -g sudo -s /bin/bash# CentOSuseradd walker -m -g wheel -s /bin/bash# -m :创建 /home 下用户目录# -g sudo :将此用户加入 sudo 组# -s /bin/bash :设置默认 shell 为 /bin/bash删除用户userdel -rf testUser创建或修改用户密码passwd walker查看用户登录日志。last #默认读取 /var/log/wtmp(登录成功的日志) lastb #默认读取 /var/log/btmp(登录失败的日志)lastlog # 读取 /var/log/lastlog(所有用户最近一次登录登录成功的日志)查看当前用户 shellecho $SHELL查看当前登录用户。who am iwhoamiwhow用户组相关查看用户所属组。id walker更改基本组。usermod -g groupA walker更改附加组。usermod -G groupB walker添加附加组usermod -a -G groupB walker查看某个用户组的所有用户OTHER修改主机名:编辑 /etc/hostname 。sudo 很慢?在 /etc/hosts 添加 hostname 到 127.0.0.1 的映射。本文出自 walker snapshot

October 17, 2019 · 1 min · jiezi

Linux-系统资源查看walker

OS 版本lsb_release -auname -acat /proc/version系统资源概览top内存free -hcat /proc/meminfo磁盘# 磁盘容量及分区状况(不能查看未挂载分区)df -Th# 磁盘容量及分区状况(可以查看未挂载分区)sudo fdisk -lsudo lsblk -f# /lib 目录大小du -sh /lib # /lib 子目录大小du -sh /lib/*CPU#查看CPU信息cat /proc/cpuinfo# 查看CPU型号cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l# 查看每个物理CPU中core的个数(即核数)cat /proc/cpuinfo| grep "cpu cores"| uniq# 查看逻辑CPU的个数cat /proc/cpuinfo| grep "processor"| wc -l本文出自 walker snapshot

October 17, 2019 · 1 min · jiezi

关于-SUID-SGID-和-Stickywalker

SUIDSet-user IdentificationSUID 属性只能运用在可执行文件上,当用户执行该执行文件时,会临时拥有该可执行文件所有者的权限。示例# 查找具有 SUID 的文件root@qhost:/home/walker# sudo find / -perm /4000walker@qhost:~$ ll /bin/su -rwsr-xr-x 1 root root 40128 May 17 2017 /bin/su*walker@qhost:~$ ll /usr/bin/sudo-rwsr-xr-x 1 root root 136808 Jul 4 2017 /usr/bin/sudo*walker@qhost:~$ ll /usr/bin/passwd -rwsr-xr-x 1 root root 54256 May 17 2017 /usr/bin/passwd*walker@qhost:~$ stat --format=%a /usr/bin/passwd4755SGIDSet-group identificationSGID 属性可以应用在目录或可执行文件上。当SGID属性应用在目录上时,该目录中所有建立的文件或子目录的拥有组都会是该目录的拥有组。示例# 查找具有 SGID 的目录或文件root@qhost:/home/walker# sudo find / -perm /2000# 目录root@qhost:/home/walker# ll -d /var/cache/mandrwxr-sr-x 28 man root 4096 Oct 11 06:25 /var/cache/man/# 可执行文件walker@qhost:~$ ll -H /usr/bin/write -rwxr-sr-x 1 root tty 14752 Mar 1 2016 /usr/bin/write*Stickysticky Bit,saved-text bit,粘着位/粘滞位,也被称作防删除位。Sticky 属性只能应用在目录,当目录拥有 Sticky 属性所有在该目录中的文件或子目录无论是什么权限只有文件或子目录所有者和root用户能删除。示例# 查找具有 sticky 的目录root@qhost:/home/walker# sudo find / -perm /1000walker@qhost:~$ ll -d /tmpdrwxrwxrwt 14 root root 4096 Oct 11 09:53 /tmp/本文出自 walker snapshot

October 17, 2019 · 1 min · jiezi

阿里云部署-1起步

起步先在阿里云官网[https://www.aliyun.com] 选择适合自己的云服务器ECS,按照购买的流程就可以使用阿里云服务器了。 点击控制台,再选择左侧栏的云服务器ECS,你就可以进到云服务器控制台。 再点击左侧栏的实例,首先初始化一下密码。 密码初始化后你就可以远程连接服务器了。 测试例子我们稍微修改一下node.js官方文档的例子,开启一个服务器。示例代码:https://github.com/mfaying/le... const http = require('http');const hostname = '0.0.0.0';const port = 3001;const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello, World!\n');});server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`);});登录我们的服务器,将代码通过git clone https://github.com/mfaying/le... 的方式克隆下来启动服务器 [root@iZ8vbfhrv1vsbp44n9fdtoZ start]# node server.jsServer running at http://0.0.0.0:3001/你还需要添加安全组规则,打开服务器防火墙上的3001端口。具体操作如下在实例列表页点击"更多",找到安全组配置点击配置规则点击快速创建规则具体配置如下配置完毕后,就可以调用接口了。

October 16, 2019 · 1 min · jiezi

MySQL-同步复制及高可用方案总结

1.前言mysql作为应用程序的数据存储服务,要实现mysql数据库的高可用。必然要使用的技术就是数据库的复制,如果主节点出现故障可以手动的切换应用到从节点,这点相信运维同学都是知道,并且可以实现的。但是这种情况只是手动的切换,对可用性有要求的业务需要分别实现主库和从库的高可用,保障在数据库出现down机的情况下,可以自动实现数据库的故障转移,保障应用的可用性和用户体验。 本文将会对一些常用的数据库高可用方案进行介绍,根据你不同的场景,选择合适的高可用方案即可。 2.MMM高可用方案2.1.Mysql-MMM介绍 MMM(Master-Master replication managerfor Mysql,Mysql主主复制管理器)是一套灵活的脚本程序,基于perl实现,用来对mysql replication进行监控和故障迁移,并能管理mysql Master-Master复制的配置(同一时间只有一个节点是可写的)。 2.2.组件 mmm_mond:监控进程,负责所有的监控工作,决定和处理所有节点角色活动。此脚本需要在监管机上运行。 mmm_agentd:运行在每个mysql服务器上的代理进程,完成监控的探针工作和执行简单的远端服务设置。此脚本需要在被监管机上运行。 mmm_control:一个简单的脚本,提供管理mmm_mond进程的命令。 mysql-mmm的监管端会提供多个虚拟IP(VIP),包括一个可写VIP,多个可读VIP,通过监管的管理,这些IP会绑定在可用mysql之上,当某一台mysql宕机时,监管会将VIP迁移至其他mysql。 在整个监管过程中,需要在mysql中添加相关授权用户,以便让mysql可以支持监理机的维护。授权的用户包括一个mmm_monitor用户和一个mmm_agent用户,如果想使用mmm的备份工具则还要添加一个mmm_tools用户。 2.3.架构图 正常工作时: 主节点故障时: 2.4.MMM优点 (1)高可用性,扩展性好,出现故障自动转移,对于主主同步,在同一时间只提供一台数据库写操作,保证数据的一致性。(2)配置简单,容易操作。 2.5.MMM缺点 (1)需要一台备份服务器,浪费资源(2)需要多个虚拟IP(3)agent可能意外终止,引起裂脑。 3.MHA介绍MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 3.1.MHA架构介绍 该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。 在MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失(配合mysql半同步复制效果更佳),但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志,只进行故障转移而丢失了最新的数据。使用MySQL 5.5的半同步复制,可以大大降低数据丢失的风险。MHA可以与半同步复制结合起来。如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点的数据一致性。 注意:目前MHA主要支持一主多从的架构,要搭建MHA,要求一个复制集群中必须最少有三台数据库服务器,一主二从,即一台充当master,一台充当备用master,另外一台充当从库,因为至少需要三台服务器,出于机器成本的考虑,淘宝也在该基础上进行了改造,目前淘宝TMHA已经支持一主一从。 3.2.MHA架构图 正常工作时架构图: 主库down机时架构: 3.3.故障转移过程 (1)从宕机崩溃的master保存二进制日志事件(binlog events);(2)识别含有最新更新的slave;(3)应用差异的中继日志(relay log)到其他的slave;(4)应用从master保存的二进制日志事件(binlog events);(5)提升一个slave为新的master;(6)使其他的slave连接新的master进行复制;(7)在新的master启动vip地址,保证前端请求可以发送到新的master。 3.4.MHA优点 (1)不需要备份服务器(2)不改变现有环境(3)操作非常简单(4)可以进行日志的差异修复(5)可以将任意slave提升为master 3.5.MHA缺点 (1)需要全部节点做ssh秘钥(2)MHA出现故障后配置文件会被修改,如果再次故障转移需要重新修改配置文件。(3)自带的脚本还需要进一步补充完善,且用perl开发,二次开发困难。 4.DRBD+(heartbeat,corosync)4.1.方案简介 本方案采用Heartbeat或者corosync双机热备软件来保证数据库的高稳定性和连续性,数据的一致性由DRBD这个工具来保证(如果可以尽量放到分布式存储上面)。默认情况下只有一台mysql在工作,当主mysql服务器出现问题后,系统将自动切换到备机上继续提供服务,当主数据库修复完毕,又将服务切回继续由主mysql提供服务。 4.2.组件 Heartbeat,corosync作为心跳检测机制,监控primary节点的状态。当主节点宕掉之后,迅速提升secondary节点为新的主节点,并切换IP;drbd负责数据同步 4.3.架构图 4.4.数据同步过程 mysql进行刷盘时,会通过不同的sync方式,最终将数据写入disk;drbd收到刷盘成功的信息后,将对应的磁盘块位置,和变更动作,通过网络传递至secondary节点; secondary的drbd接收到变更信息后,将这些信息落盘; 4.5.切换过程 前提:secondary节点的mysql服务不启动; heartbeat检测到primary的mysql服务停止,则摘掉IP、umount掉数据盘、将primary切换为secondary; 在原来的secondary上,提升drbd同步为primary,挂载数据盘,启动mysql服务、绑定IP; 从库跟着IP和端口自动进行迁移; 4.6.方案优点 (1)历史悠久、安全性高、稳定性高、可用性高、出现故障自动切换。(2)数据一致性强 4.7.方案缺点 (1)需要一台备份服务器,浪费资源(2)不方便扩展(3)无论drbd还是headbetart,corosync都可能发生裂脑 5.Mysql route介绍5.1.什么是mysql route ...

October 15, 2019 · 1 min · jiezi

MySQL基础入门之常用命令介绍

接上一篇:MySQL数据库主从同步实战过程 mysql命令介绍mysql 是数据库管理命令 通过mysql --help来查看相关参数及使用说明mysql --help #mysql数据库管理命令Usage: mysql [OPTIONS] [database] #语法格式--help #查看帮助文档--auto-rehash #自动补全功能-A, --no-auto-rehash #不需自动补全-B, --batch #不使用历史文件,禁用交互--character-sets-dir=name #字符集安装目录-C, --compress #客户端与服务端传递信息时压缩-#--debug[=#] #调用功能-D, --database=name #使用数据库--default-character-set=name #设置默认字符集-e, --execute=name #执行sql语句-E, --vertical #垂直打印输出信息-f, --force #跳过错误,执行下面的命令-G, --named-commands #查询结果按列打印-i, --ignore-spaces #忽略空格-h, --host=name #设置连接服务器的地址与IP--line-numbers #显示有错误的行号-L, --skip-line-numbers #忽略有错误的行号-n, --unbuffered #每次执行sql后刷新缓存--column-names #查询时显示列信息-N, --skip-column-names #不显示列信息-p, --password[=name] #输入密码信息-P, --port=# #设置端口信息 --prompt=name #设置mysql提示符 --protocol=name #设置使用协议-s, --silent #一行一行输出,tab间隔-S, --socket=name #连接服务器使用socket文件-t, --table #以表格的格式输出-u, --user=name #连接服务器的用户名-v, --verbose #打印sql执行的命令-V, --version #输出版本信息-w, --wait #服务器停机后等待重启的时间--connect-timeout=# #连接前要等待的时间--max-allowed-packet=# #服务器发送与接收包的最大长度--show-warnings #显示警告信息mysqldump命令介绍mysqldump数据备份命令(逻辑备份) ...

October 15, 2019 · 1 min · jiezi

MySQL数据库入门之备份数据库

接上一次: MySQL数据库入门多实例配置 一提到数据,大家神经都会很紧张,数据的类型有很多种,但是总归一点,数据很重要,非常重要,因此,日常的数据备份工作就成了运维工作的重点中的重点的重点................. 首先来看看数据库中的数据 mysql> select * from test;+-----+------+| id | name |+-----+------+| 1 | 1 || 11 | text || 21 | abc || 9 | bcd || 111 | 1 || 441 | text || 41 | abc || 999 | bcd |+-----+------+8 rows in set (0.00 sec)1、单库备份[root@centos6 ~]# mysqldump -uroot -p test >/download/testbak_$(date +%F).sqlEnter password: [root@centos6 ~]# ll /download/total 2-rw-r--r--. 1 root root 1888 Dec 12 20:34 testbak_2016-12-12.sql下面我们看看这个备份文件到底是什么内容 ...

October 14, 2019 · 4 min · jiezi

Docker安装centos8并使用SSH远程连接

原文链接: http://coderluo.top/2019/10/13/docker/docker-an-zhuang-centos8-bing-shi-yong-ssh-yuan-cheng-lian-jie/ 相信身为程序员的你肯定为了学习,自己安装过虚拟机,然后在里面安装你喜欢的linux系统,进而安装各种软件,一系列的配置,繁琐的不要不要的。。今天给大家带来Docker这款神器,不需要自己在安装虚拟机和下载iso系统安装文件,进行网络配置。 Docker可谓是真正解放了程序员的生产力,我们再也不需要为了每次安装环境花费大量时间,我工作这三年前前后后也折腾了不下数十次,每次还是得依靠搜索引擎,真的学不到啥东西还浪费时间。 接下来就进入今天的主题吧! 安装centos8系统1.搜索并下载镜像 docker search centosdocker pull centos2.启动容器,建立本机对应centos8镜像端口映射 ssh默认的端口为22,我们将docker中centos的22端口映射到宿主机的5022端口docker run -d -p 5022:22 --name centos8 --privileged=true -v h:/docker/data:/data centos /usr/sbin/init-d,后台启动-v,挂载共享磁盘,其中h:/docker/data表示宿主机的目录,冒号后面的/data表示虚拟机中的挂载点。这个挂载点会由docker容器自动创建。如果对docker基础命令不熟悉的同学,可以参考这篇文章 Docker入门; 3.进入容器 docker exec -it centos8 /bin/bash安装常用工具1.安装常用工具 yum install -y openssh-server vim lrzsz wget gcc-c++ pcre pcre-devel zlib zlib-devel ruby openssl openssl-devel patch bash-completion zlib.i686 libstdc++.i686 lsof unzip zip net-tools2.service安装 yum install initscripts 3.ifconfig安装 yum install net-tools.x86_644.ssh安装 sshd rpm -qa | grep sshyum install openssh-server service sshd restartnetstat -antp | grep sshd开启docker-centos8 ssh远程连接aliyun/aws 云服务器,需要在安全组打开 5022端口对外访问权限1. 修改sshd_config 为密码登录 vim /etc/ssh/sshd_config #打开注释 PermitRootLogin yes, 允许密码登录,保存退出2. 设置root用户密码 passwd root3. 换个服务器远程登录 ssh root@宿主机ip -p 5022结束语本文介绍了如果使用Docker安装Centos8系统,从而避免在使用安装vmware等虚拟机软件.接着我们配置了ssh服务,可以使用远程连接。 相信大家一定已经开始迫不及待的想尝试了,just do it! ...

October 13, 2019 · 1 min · jiezi

强大Nginx-配置在线一键生成神器

Nginx作为一个轻量级的HTTP服务器,相比Apache优势也是比较明显的,在性能上它占用资源少,能支持更高更多的并发连接,从而达到提高访问效率;在功能上它是一款非常优秀的代理服务器与负载均衡服务器;在安装配置上它安装,配置都比较简单。 关于Nginx部署、配置的文章公众号已经发布过很多: 深度总结|深入浅出NginxHTTP服务器Nginx服务介绍续Nginx优化配置详解1分钟搞定 Nginx 版本的平滑升级与回滚终极指南:提高Nginx服务器硬度的12个技巧大流量、高负载场景 Nginx+Linux 性能调优利用ELK分析Nginx日志生产实战(高清多图) 文章很多,就不再逐一列举了,有兴趣的、需要的可以去公众号通过检索功能查找相关的文章。 对于Nginx一些配置的详细解释,之前也写过相关的文章: Nginx优化配置详解 但在实际的生产配置环境中,肯定会经常遇到需要修改、或者重新增加Nginx配置的问题,有的时候需求更是多种多样,修修改改经常会出现这样、那样的一些错误,特别的烦索。 基于以上的原因,肯定很多读者伙伴经常会收集一些配置文档、或者电脑里也保存着一些自己日常的常用配置案例,但是终究还是不是很便利。今天,民工哥给大家介绍一款「超级牛掰的神器」,可以在线一键生成Nginx的配置。 网址:https://nginxconfig.io/ NGINX Config 支持 HTTP、HTTPS、PHP、Python、Node.js、WordPress、Drupal、缓存、逆向代理、日志等各种配置选项。在线生成 Web 服务器 Nginx 配置文件。 操作配置也非常简单,你需要做的只需要2步: 打开官方网站按需求配置相关参数系统就会自动生成特定的配置文件。虽然界面是英文的,但是功能的页面做的非常直观,生成的Nginx格式规范。 登陆之后大概的界面如下: 案例展示 配置域名:mingongge.com 实现用户访问*.mingongge.com 域名时会自动跳转到 mingongge.com 此配置,并且开启http强制跳转到https的配置。 这时,Nginx的配置就会实时自动生成在下面,我把生成的配置复制过来,如下: /etc/nginx/sites-available/mingongge.com.conf#文件名都给你按规则配置好了server {listen 443 ssl http2;server_name mingongge.com;# SSLssl_certificate /etc/letsencrypt/live/mingongge.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/mingongge.com/privkey.pem;ssl_trusted_certificate /etc/letsencrypt/live/mingongge.com/chain.pem;# securityinclude nginxconfig.io/security.conf;# additional configinclude nginxconfig.io/general.conf;}# subdomains redirectserver {listen 443 ssl http2;server_name *.mingongge.com;# SSLssl_certificate /etc/letsencrypt/live/mingongge.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/mingongge.com/privkey.pem;ssl_trusted_certificate /etc/letsencrypt/live/mingongge.com/chain.pem;return 301 https://mingongge.com$request_uri;}# HTTP redirectserver {listen 80;server_name .mingongge.com;include nginxconfig.io/letsencrypt.conf;location / {return 301 https://mingongge.com$request_uri;}}非常的方便与快速。 ...

October 9, 2019 · 1 min · jiezi

高逼格企业级MySQL数据库备份方案原来是这样

很多人,这里说的是运维工程师们,一提到写某某方案,很是头疼。不是上某度一统搜索,就是同样一句话在N个群全部群发一遍:“有没有某某方案,可以共享一下的吗??求助,各位大佬们”,估计十有八九,全部石沉大海,杳无音讯。 其实,到底是真的很难,还是说你没有完全掌握整个备份思路的整理?一个方案的好坏,在于对于外行人来说,能不能一眼就能看懂其中要表达的意思,而且不需要很多的思考就可以。 一份好的备份方案无非包括以下几点: 为什么需要备份?备份的方式有哪些?某几种备份方式的区别在哪?备份实战操作概述恢复实战操作概述其它备注信息那么,此文将从以上几个角度,结合一些实际的实战经验,分步阐述一个完整的备份方案到底是怎么样构成的。需要学习更多Mysql数据库相关的知识,可以在公众号:民工哥技术之路的后台回复「MySQL」即可获取一份最全的MySQL数据库学习指南。 为什么需要数据库备份?很多人,一看这标题,肯定张口就会答,这不是废话么。不备份故障了怎么办?跑路吗?数据被沙雕开发(不许喷)误删了怎么办?背锅吗? 当然,大家都知道备份的重要性与必要性。 1、保证数据安全与完整 企业的数据安全应该来说是企业的命脉,一旦丢失或造成损坏,轻则损失客户与金钱,重则倒闭(已经有前例在)。 备份的目的:为了保证数据在被人为失误、操作不当、蓄意等情况下删除或损坏后,能及时、有效的进行恢复并不会很大程度上影响到业务运行。 2、为业务提供不间断服务 实际生产环境对数据库的要求,首先就是具备7×24×365不间断服务的能力,这也是一定要备份数据库的其中原因之一。 数据库的备份方式常用的备份方式包括以下: 逻辑备份物理备份1、逻辑备份 逻辑备份其实就是利用MySQL数据库自带的mysqldump命令,或者使用第三方的工具,然后把数据库里的数据以SQL语句的方式导出成文件的形式。在需要恢复数据时,通过使用相关的命令(如:source )将备份文件里的SQL语句提取出来重新在数据库中执行一遍,从而达到恢复数据的目的。 实例如下: mysqldump -A -B --single-transaction >/server/backup/mysql_$(date +%F).sql一般备份时都会进行压缩处理,以节省磁盘空间,如下 mysqldump -A -B --single-transaction |gzip>/server/backup/mysql_$(date +%F).sql.gz恢复操作 cd /server/backup/gzip -o mysql_$(date +%F).sql.gzmysql -uroot -pMyadmin -h mysqldb.mingongge.com> source /server/backup/mysql_$(date +%F).sql逻辑备份的优点与使用场景 优点:简单,易操作,自带工具方便、可靠。 使用场景:数据库数据量不大的情况可以使用,数据量比较大(超过20G左右)时备份速度比较慢,一定程度上还会影响数据库本身的性能。 2、物理备份 物理备份就是利用命令(如cp、tar、scp等)直接将数据库的存储数据文件复制一份或多份,分别存放在其它目录,以达到备份的效果。 这种备份方式,由于在备份时数据库还会存在数据写入的情况,一定程度上会造成数据丢失的可能性。在进行数据恢复时,需要注意新安装的数据的目录路径、版本、配置等与原数据要保持高度一致,否则同样也会有问题。 所以,这种物理备份方式,常常需要在停机状态下进行,一般对实际生产中的数据库不太可取。因此,此方式比较适用于数据库物理迁移,这种场景下这种方式比较高效率。 物理备份的优点及使用场景 优点:速度快,效率高。 场景:可用于停机维护及数据库物理迁移场景中。 实际生产环境中,具体使用哪种方式,就需要看需求与应用场景所定。 全量与增量备份概述在介绍完备份方式之后,再来介绍一下,增量与全量备份这两个概念。 什么是全量备份? 全量备份:就是将数据库中的所有数据,或者是某一个特定的库里的所有数据,一次全部备份下来。 备份数据库中所有数据 mysqldump -A -B --single-transaction |gzip>/server/backup/All_data_$(date +%F).sql.gz备份某个库的数据 mysqldump -A -B --single-transaction testDB1|gzip>/server/backup/testDB1_$(date +%F).sql.gz什么是增量备份? ...

October 9, 2019 · 1 min · jiezi

CentOS-8的firewalld已经与iptables解绑

文章转载自:CentOS 8的firewalld已经与iptables解绑今天有人找上我,说之前用的一键安装脚本不好使了,希望我能帮忙看看怎么回事。 根据他的描述,初步断定是系统多次安装某个依赖导致。仔细询问,他每次有问题都直接重建vps,不应该存在这个问题。接着猜测应该是脚本与当前系统不匹配,脚本太久没更新所以安装报错。他说的脚本既不是我写的也没用过,让他联系作者反馈估计很难也不能解决当下问题,于是帮忙找了另外一个一键安装脚本让其尝试。 新的脚本很快就将所需软件安装成功,但是出现无法连接的问题。考虑到服务器有可能被屏蔽掉,于是用境外服务器连接,同样不能连上。接着指导他排除服务未启动、iptables端口和服务商防火墙未放行等因素,问题依旧。 很久没碰到这么奇怪的状况,于是向他要了root密码,亲自登录服务器查看问题。首先用ps aux | grep xxx查看进程,确认软件正常运行;接着netstat -nltp查看端口监听,确认端口一直且正在被监听;iptables -nL查看系统内置防火墙,输出为空,说明iptables没有屏蔽进程监听的端口。然而在这样的配置下,依然无法telnet远程连接到这台服务器。问题到底出现在哪里? 会不会是因为进程的问题?于是测试用ssh进程监听端口,无法连接;换一个端口,还是连不上;改成常用的80和443端口,也telnet不过去。测试了多个进程和端口,除了ssh的22端口,不管哪个进程监听的其他端口都不行。 走到这个地步,不是系统有问题便是我的水平有问题。于是用uname -a查看系统版本,输出如下:Linux xxx 4.18.0-80.7.1.el8_0.x86_64 #1 SMP Sat Aug 3 10:14:00 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux。信息略显杂乱,但还是能让人一眼就看出问题所在:el8,系统竟然是CentOS 8! 到此一切都明朗了:之前的一键安装脚本报错不好用了,因为脚本只适用于6和7,CentOS 8刚出来没多久没有测试过;我找的一键安装脚本能安装和运行,无法连接是因为CentOS 8中firewalld已经与iptables解绑,后端改用nftables,这便是iptables -nL输出为空还是无法连接的真正原因;要想连接上,只需要用nft或者firewall-cmd放行相应的端口即可: firewall-cmd --permanent --add-port=xxxx/tcpfirewall-cmd --reload向他解释这些有点难度,于是让他重建vps时选CentOS 7,一键安装脚本好用了,也能远程连接过去了。 CentOS 8打开了一个新世界。 参考https://www.zdnet.com/article...https://developers.redhat.com...

October 7, 2019 · 1 min · jiezi

Zookeeper的安装

Zookeeper的安装安装环境:Linux:centos7.5Jdk:1.7以上版本MobaXterm(连接linux工具) spring容器配置信息微服务service端 <!-- 使用dubbo发布服务 --> <!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="myproject-manager" /> <dubbo:registry protocol="zookeeper" address="192.168.12.***:2181" /> <!-- 用dubbo协议在20880端口暴露服务 --> <dubbo:protocol name="dubbo" port="20880" /> <!-- 声明需要暴露的服务接口 --> <dubbo:service interface="cn.myproject.service.ItemService" ref="itemServiceImpl" timeout="600000" />微服务web端 <!-- 引用dubbo服务 --> <dubbo:application name="myproject-manager-web"/> <dubbo:registry protocol="zookeeper" address="192.168.12.***:2181"/> <dubbo:reference interface="cn.myproject.service.ItemService" id="itemService" />zookeeper安装安装jdk(略)zookeeper压缩包上传到linux并解压 tar -zxvf zookeeper-3.4.6.tar.gz (z:gz压缩文件,x:解压命令,v:查看解析过程,f:解压文件) 进入zookeeper目录,创建data文件夹,将zoo_sample.cfg改名为zoo.cfg [root@localhost ~]# cd zookeeper-3.4.6/[root@localhost zookeeper-3.4.6]# mkdir data[root@localhost zookeeper-3.4.6]# cd conf[root@localhost conf]# mv zoo_sample.cfg zoo.cfg修改zoo.cfg中的属性:dataDir=data目录的位置zookeeper的启动、状态查看、关闭 [root@localhost zookeeper-3.4.6]# cd bin/ 进入bin目录[root@localhost bin]# ./zkServer.sh start 启动zookeeper[root@localhost bin]# ./zkServer.sh status 查看状态[root@localhost bin]# ./zkServer.sh stop 关闭zookeeper ...

October 6, 2019 · 1 min · jiezi

蚂蚁金服自研数据库拿下世界第一性能超Oracle-100

10月4日消息 据中新网报道,10月2日,国际事务处理性能委员会(Transaction Processing Performance Council,简称TPC)公布了数据库最新性能测试结果,阿里巴巴关联公司蚂蚁金服自主研发的数据库位列第一位。 蚂蚁金服自主研发的数据库OceanBase打破数据库基准性能测试的世界记录,成绩是前世界记录保持者、老牌巨头甲骨文(Oracle)的两倍。数据库领域最权威的国际机构国际事务处理性能委员会(TPC,Transaction Processing Performance Council)在官网发表了这一最新结果。

October 4, 2019 · 1 min · jiezi

IDC是什么

IDC:互联网数据中心,是电信部门利用已有的互联网通信线路、贷款资源,建立标准化的电信专业级机房环境,为企业、政府提供服务器托管、服务器租用以及相关增值等方面服务。IDC是全球协作的特定设备网络,用来在Internet网络基础上加速信息的传递,简称机房。正规的IDC公司必须具备有通信管理局发放的互联网数据中心业务许可的IDC证件,由于目前国内ICD行业有90%以上的企业没有相关证件,因此他们就不具备为客户提供此类服务的许可,客户选择他们风险相对较高。华信网通本着诚信发展,创新及服务为本,在全国有多家数据中心运营,可供客户选择的范围较大,以高性价比的绝对优势为用户提供服务。华信网通基于运营多年的IDC数据中心主机托管、主机租用、云主机、虚拟主机、传输链路及与多数据中心间的光纤链路互通优势,具备快速部署能力,及自有的客户多资源管理运营平台,致力于为互联网公司和传统行业公司提供高效、可靠、安全的一站式服务。华信网通已经获得工业和信息化部《互联网数据中心》IDC/ISP、许可证、且同时提交等保三级、ISO27001、ISO9001等经营许可证牌照及资质。网址:https://huaxinnetcom.com

September 10, 2019 · 1 min · jiezi

sonarJenkins-构建代码质量自动化分析平台

1.Sonar 介绍 Sonar 是一个用于管理代码质量的开源工具,可以分析代码中的bug和漏洞以及Code Smells,支持20多种编程语言的检测,如java,c/c++,python,php等语言,当前有超过85000家组织在使用sonar。Sonar可以与DevOps工具链完全整合,可以与大多数构建工具进行内置集成,与Jenkins,TFS / VSTS,TeamCity,Bamboo等持续整合引擎轻松集成,支持众多源代码管理配置工具,如git,svn,cvs等。 官方地址:https://www.sonarqube.org/ 早在2007年,当创建第一行代码时,Sonar的创始人就梦想有一天能够为每个开发人员提供测量其项目代码质量的能力。他的座右铭:“持续检测必须成为持续整合的主流”。 本文的目的就是安装一个sonar,并集成到Jenkins中,实现代码的一个持续质量监测。 2.Sonar 安装 2.1.安装环境介绍 注意:sonar服务器至少需要2G的内存才能有效运行,而操作系统则需要1GB的可用内存。 Centos 7.2安装JDK 1.8安装Jenkins 2.89安装 maven 3.5.2(非必需,用于编译一些插件)mysql 5.6 数据库 (要求版本,不低于5.6)安装完mysql后创建sonar数据库和账号,方式如下: CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;GRANT ALL PRIVILEGES ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;FLUSH PRIVILEGES;2.2.SonarQube安装 cd /data/package/wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.6.zipmkdir /data/service/sonar/unzip sonarqube-6.6.zip -d /data/service/sonar/配置启动脚本: [root@c7-node1 ~]# cat /etc/init.d/sonar#!/bin/sh## rc file for SonarQube## chkconfig: 345 96 10# description: SonarQube system (www.sonarsource.org)#### BEGIN INIT INFO# Provides: sonar# Required-Start: $network# Required-Stop: $network# Default-Start: 3 4 5# Default-Stop: 0 1 2 6# Short-Description: SonarQube system (www.sonarsource.org)# Description: SonarQube system (www.sonarsource.org)### END INIT INFO/usr/bin/sonar $*授权启动脚本执行权限,并配置路径 ...

September 9, 2019 · 2 min · jiezi

springbootplusV123发布CentOS快速安装环境构建部署启动项目

spring-boot-plusV1.2.3发布,CentOS快速安装环境/构建/部署/启动项目[V1.2.3-RELEASE] 2019.09.09 spring-boot-plusV1.2.3发布,CentOS快速安装环境/构建/部署/启动项目⭐️ New Features项目运行环境安装脚本CentOS快速构建/部署/启动项目脚本⚡️ Optimization优化 maven-assembly-plugin 项目打包插件???? Added/ModifiedAdd install-jdk.sh yum安装jdk8脚本Add install-git.sh yum安装git脚本Add install-maven.sh yum安装maven脚本Add install-redis.sh yum安装redis脚本Add install-mysql.sh yum安装mysql脚本Add install-all.sh 安装所有环境脚本Add download-install-all.sh 下载并安装所有环境脚本Add deploy.sh 下载项目/构建/部署/启动项目脚本Add maven-javadoc-plugin java api docs???? DocumentationCentOS Quick Installation Environment / Build / Deploy / Launch Spring-boot-plus Project spring-boot-plus java docs???? Dependency UpgradesUpgrade to springboot 2.1.8.RELEASEUpgrade to Mybatis 3.5.2Upgrade to Mybatis Plus 3.2.0Upgrade to Alibaba Druid 1.1.20Upgrade to Fastjson 1.2.60Upgrade to commons-codec 1.13Upgrade to commons-collections 4.4Upgrade to hutool-all 4.6.4CentOS快速安装环境/构建/部署/启动spring-boot-plus项目1. 下载安装脚本安装 jdk, git, maven, redis, mysqlwget -O download-install-all.sh https://raw.githubusercontent.com/geekidea/spring-boot-plus/master/docs/bin/install/download-install-all.sh2. 运行安装脚本sh download-install-all.sh3. 修改MySQL密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'Springbootplus666!';exitmysql -uroot -pSpringbootplus666!4. 导入MySQL脚本create database if not exists spring_boot_plus character set utf8mb4;use spring_boot_plus;source /root/mysql_spring_boot_plus.sql;show tables;exit5. 下载部署脚本 deploy.shwget -O deploy.sh https://raw.githubusercontent.com/geekidea/spring-boot-plus/master/deploy/deploy.sh6. 执行脚本sh deploy.sh7.访问项目SpringBootAdmin管理页面http://47.105.159.10:8888 ...

September 9, 2019 · 1 min · jiezi

9-月编程语言排行榜发布Python-一枝独秀

看来这个Python得学啊,涨势挺猛的。 关注 民工哥技术之路 微信公众号对话框回复关键字:1024 可以获取一份最新整理的技术干货。

September 8, 2019 · 1 min · jiezi

springbootplus-V121-发布-文件上传下载和静态资源访问

[V1.2.1-RELEASE] 2019.08.21⭐️ New Features文件上传保存到服务器指定目录文件下载访问上传的图片等资源启用项目静态资源访问,可访问static/templates目录下资源⚡️ Optimizationstatic资源访问:http://localhost:8888/static/welcome.htmltemplates资源访问:http://localhost:8888/templates/springbootplus.html上传swagger:http://localhost:8888/swagger-ui.html#!/upload-controller/uploadUsingPOST上传后,图片文件访问:http://localhost:8888//resource/201908210134467.png图片自定义控制访问:http://localhost:8888/image/201908210134467.png???? Added/ModifiedAdd UploadController 上传控制器Add DownloadController 下载控制器Add ImageController 图片访问控制器Add ResourceInterceptor 资源拦截器Add welcome.html 在static目录下Add springbootplus.html 在templates目录下Add ContentTypeUtil 文件类型工具Add mime-type.properties 文件类型自定义拓展配置Add UploadUtil 上传工具类,UploadFileNameHandle 文件名称回调接口,DefaultUploadFileNameHandleImpl 默认文件名称实现类Add DownloadUtil 下载工具类Modify WebMvcConfig 注册资源拦截器,项目静态资源访问配置Modify SpringBootPlusConfig 创建 ResourceInterceptor 资源拦截器Modify SpringBootPlusInterceptorConfig 添加 resourceConfig 资源拦截器配置Modify SpringBootPlusProperties 添加 uploadPath,resourceAccessPath,resourceAccessPatterns,resourceAccessUrl属性Modify application.yml, application-local.yml 添加文件上传/下载配置Modify mysql_spring_boot_plus.sql 添加创建数据库语句,如果不存在,则创建???? Bug Fixes拦截器exclude-path,include-path字符串配置问题,已修改为数组接收String[] excludePath,String[] includePath???? Documentationmime-type大全???? Dependency UpgradesUpgrade to springboot 2.1.7.RELEASE

August 21, 2019 · 1 min · jiezi

CentOS查看进程杀死进程启动进程等常用命令

关键字: linux 查进程、杀进程、起进程1.查进程 ps命令查找与进程相关的PID号:ps a 显示现行终端机下的所有程序,包括其他用户的程序。ps -A 显示所有程序。ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。ps -e 此参数的效果和指定"A"参数相同。ps e 列出程序时,显示每个程序所使用的环境变量。ps f 用ASCII字符显示树状结构,表达程序间的相互关系。ps -H 显示树状结构,表示程序间的相互关系。ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。ps s 采用程序信号的格式显示程序状况。ps S 列出程序时,包括已中断的子程序资料。ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。ps u 以用户为主的格式来显示程序状况。ps x 显示所有程序,不以终端机来区分。最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。ps aux | grep program_filter_word,ps -ef |grep tomcatps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。 2.杀进程 使用kill命令结束进程:kill xxx 常用:kill -9 324 Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME 3.进入到进程的执行文件所在的路径下,执行文件 ./文件名 附: 这是本人花了两天时间整理得来的,一些最常用的地球人都知道的命令就省去啦!最后提供pdf手册下载 更改档案拥有者命令 : chown [-cfhvR] [--help] [--version] user[:group] file... 功能 : 更改文件或者文件夹的拥有者 参数格式 : user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group) -c : 若该档案拥有者确实已经更改,才显示其更改动作 -f : 若该档案拥有者无法被更改也不要显示错误讯息 -h : 只对于连结(link)进行变更,而非该 link 真正指向的档案 -v : 显示拥有者变更的详细资料 -R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更) ...

August 20, 2019 · 4 min · jiezi

Linux下-keepalived-的安装和配置

安装前准备基础系统:CentOS 7yum -y install gcc gcc-c++ autoconf automake make yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel1.下载keepalived方法一: yum -y install keepalived方法二: 下载二进制源码包:http://www.keepalived.org/dow... #下载安装文件cd /usr/localwget http://www.keepalived.org/software/keepalived-2.0.18.tar.gz#解压文件tar -zxvf keepalived-2.0.18.tar.gz#编译cd keepalived-2.0.18/#--prefix 指定安装地址#/usr/local/keepalived/ 安装的目录,不要和自己安装文件一个目录,不然报错./configure --prefix=/usr/local/keepalived/#编译并安装 make && make install2.配置复制文件: [root@localhost ~]# cp /usr/local/keepalived-2.0.18/keepalived/etc/init.d/keepalived /etc/init.d/[root@localhost ~]# mkdir /etc/keepalived[root@localhost ~]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/[root@localhost ~]# cp /usr/local/keepalived-2.0.18/keepalived/etc/sysconfig/keepalived /etc/sysconfig/[root@localhost ~]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/编辑: vi /etc/keepalived/keepalived.conf/etc/keepalived/keepalived.conf内容如下 global_defs { notification_email { #mr@mruse.cn # 指定keepalived在发生切换时需要发送email到的对象,一行一个 #sysadmin@firewall.loc } notification_email_from xxx@163.com # 指定发件人 smtp_server smtp@163.com # smtp 服务器地址 smtp_connect_timeout 30 # smtp 服务器连接超时时间 router_id LVS_1 # 必填,标识本节点的字符串,通常为hostname,但不一定非得是hostname,故障发生时,邮件通知会用到 }vrrp_script chk_tomcat { #详细看下面 script "/etc/keepalived/tomcat_check.sh" #检测服务shell interval 2 #每个多长时间探测一次 weight -20 #每个多长时间探测一次 }_instance VI_1 { # 实例名称 state MASTER # 必填,可以是MASTER或BACKUP,不过当其他节点keepalived启动时会将priority比较大的节点选举为MASTER interface ens33 # 必填, 节点固有IP(非VIP)的网卡,用来发VRRP包做心跳检测 mcast_src_ip 192.168.2.89 #本机的ip,需要修改 virtual_router_id 101 # 必填,虚拟路由ID,取值在0-255之间,用来区分多个instance的VRRP组播,同一网段内ID不能重复;主备必须为一样; priority 100 # 必填,用来选举master的,要成为master那么这个选项的值最好高于其他机器50个点,该项取值范围是1-255(在此范围之外会被识别成默认值100) advert_int 1 # 必填,检查间隔默认为1秒,即1秒进行一次master选举(可以认为是健康查检时间间隔) authentication { # 必填,认证区域,认证类型有PASS和HA(IPSEC),推荐使用PASS(密码只识别前8位) auth_type PASS # 默认是PASS认证 auth_pass 1111 # PASS认证密码 } virtual_ipaddress { 192.168.2.90 # 必填,虚拟VIP地址,允许多个 } track_script { # 检测shell chk_tomcat }}vrrp_script 里的script返回值为0时认为检测成功,其它值都会当成检测失败; ...

August 18, 2019 · 2 min · jiezi

CentOS-7-时间管理和设置

1、显示系统当时日期和时间 #timedatectl status //可忽略status,即timedatectl2、查看当前时区 #timedatectl | grep Time3、查看所有可用时区 #timedatectl list-timezones4、设置中国上海时区 #timedatectl set-timezone "Asia/Shanghai"5、设置日期时间 #timedatectl set-time 12:00:006、设置日期 #timedatectl set-time 201907097、设置日期时间 #timedatectl set-time "12:00:00 2019-7-9"8、将硬件时钟设置为本地时区 #timedatectl set-local-rtc 19、将硬件时钟设置为协调世界时(UTC) #timedatectl set-local-rtc 010、将系统时钟同步到远程NTP服务器 #timedatectl set-ntp true //启用#timedatectl set-ntp false //禁用

August 7, 2019 · 1 min · jiezi

Ceph-Plugin-Dashboard-By-Anoyi

▶ 部署 Dashboard1、安装 ceph-mgr-dashboard yum install -y ceph-mgr-dashboard2、禁用 SSL ceph config set mgr mgr/dashboard/ssl false3、【可选】配置 host 和 port ceph config set mgr mgr/dashboard/server_addr $IPceph config set mgr mgr/dashboard/server_port $PORTIP 不设置,默认绑定 ::,禁用 ssl 之后,PORT 默认 80804、启用 Dashboard ceph mgr module enable dashboard5、用户、密码、权限 # 创建用户ceph dashboard ac-user-create <username> <password> administrator# 更多操作,查看帮助ceph dashboard -h6、查看 Dashboard 状态 ceph mgr services ▶ 其他设置使变更的配置生效 ceph mgr module disable dashboardceph mgr module enable dashboard配置访问前缀 ...

July 12, 2019 · 1 min · jiezi

在虚拟机VMware中安装Centos7系统详细版

环境准备虚拟机下载:VMware http://xiazai.sogou.com/comm/redir?softdown=1&u=YRyEVuHeM45mBjjEUSPVUEJm8GF_McJfVdEjKPrgnocp6RPTnPFSKls2-N19zn1Vlw2_0E4CK2cvMCNrcB54VFgXJ8-dW6ZyJd2HMCZpOTvLIGNafI07QZpggfaFdLzRilLVZzhV53fF-ago-P3fEFbS13TuCDFblKjNaGCwHJ4G1pYeYmWyHb6BwiV98jmIKKp6ajj03Yw7nbcXLmHkmLtnzwoaVySAtwbBcop3tRSL0voz2iIqkQ..&pcid=-1371309034307616229&filename=VMware-workstation-full-15.1.0-13591040_15.1.0.46741.exe&w=1907&stamp=20190712Centos系统下载:Centos 7 http://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso虚拟机的安装一直下一步即可。安装完成后打开,输入下面的产品密钥:VMware15密钥: UG5J2-0ME12-M89WY-NPWXX-WQH88GA590-86Y05-4806Y-X4PEE-ZV8E0YA18K-0WY8P-H85DY-L4NZG-X7RADUA5DR-2ZD4H-089FY-6YQ5T-YPRX6ZF582-0NW5N-H8D2P-0XZEE-Z22VA环境准备好后,接下来就是安装Centos7系统 第一步:打开VMware,点击编辑虚拟网络编辑器 点击虚拟网络编辑器,选择NAT模式,注意自己的配置,目的是查看子网网段,方便装机后配置IP和网关。 第二步:上面的步骤完成后,新建虚拟机,在主页上点击“创建新的虚拟机” 第三步:虚拟机创建完成后,注意不要打开虚拟机。首先选择编辑虚拟机设置 第四步:开启虚拟机后,按照如下操作 第五步:按照下图进行设置:时间设置为Asia-Shanghai 第六步:选择安装模式 第七步:选择安装位置,对磁盘进行分区,手动分区;如果已经安装操作系统,那么需要删除之前的分区;分区要求: home:5G boot:500M Swap:2G / 根目录分区剩余所有【保留空白】 第八步:进入KDUMP,取消勾选 第九步:设置网络 第十步:设置root密码和其他账户 第十一步:等待完成,点击reboot,然后进入系统

July 12, 2019 · 1 min · jiezi

Linux云计算笔记二

vim编辑器的使用vim主要模式,vim命令模式检查有没有安装vim只需要敲出vim回车就行,安装了就会显示办版本等信息which vim 检查安装的绝对路径扩展:vi和vim是同一个软件安装包吗?答:不是,vim是vi的增强版,最明显的区别是vim可以语法加量,它完全兼容vi.i 当前字符之前插入(光标前)I 行首插入(行首)a 当前字符之后插入(光标后)A 行尾插入(行尾)o 下一行插入(另起一行)O 上一行插入x 向后删除一个字符 等同于deleteX 向前删除一个字符u 撤销异步 每按一次就撤销一次r 替换光标定位hjkl 左下右上0和home键表示切换到行首 $和end键表示切换到行尾gg快速定位到文档的首航,G定位到末行3gg 或者 3G 快速定位到第三行/string(字符串) 查找关键字 取消用:noh编辑:(如何对文本进行编辑)y (复制)【以字符为单位】表示对单个字符进行复制 如果再复制整行,就用yy复制n行:nyydd 删除ndd 删除n行/剪切n行粘贴:p剪贴:ddx 删除光标所在位置的字符D 从光标处删除到行尾u 撤销操作ctrl+r 还原撤销的操作,将撤销后的操作还原回去r 替换,或者说用来修改一个字符v模式(列):进入v模式 移动光标选择区域编程的时候需要进行多行注释:1)ctrl+v 进入列编辑模式2)向下或向上移动光标,把需要注释、编辑的行开头选中起来3)然后按大写的I4)再插入注释符或你需要插入的符号,比如:’#’5)再按esc就会全部注释或添加了删除:再按ctrl+v 进入列编辑模式;向上或向下移动光标,选中注释部分,然后按d,就会删除注释符号命令行模式操作:wq 保存并退出:wq! 强制保存退出:set nu 设置行号:set nonu 取消行号其他编辑器:nano编辑器emacs编辑器gedit GHOME编辑器用户管理:Linux用户三特色超级用户:root 拥有对系统的最高的管理权限普通用户 UID:1-999(centos7版本) 1-499(centos6版本) 本地用户 UID:1000+ 500+ UID:即每个用户的身份标示,类似于每个人的身份证号码虚拟用户:伪用户 一般不会用来登录系统,它主要是用于维持某个服务的正常运行。用户配置文件 /etc/passwd用户组文件 /etc/group用户对应的密码信息 /etc/shadow用户命令:useradduseradd -d -u “UID” -g ‘初始组’ -G ‘附加组’ -s ‘登陆的shell’ 用户用户密码修改**进入centos7紧急模式恢复root密码**实战场景:公司一台centos系统,忘记root密码,需要快速把root密码修改为made,找回root身份第一种方法描述: ...

July 11, 2019 · 1 min · jiezi

CentOS之间rsync做文件增量备份同步

服务器192.168.0.248:本地服务器47.56.34.2:远程服务器目的将远程服务器数据同步到本地服务器 前提两台服务器安装rsync和crontabsyum install -y rsyncyum install -y crontabs设置免密登陆在本地服务器中执行# 产生keyssh-keygen -t rsa# 拷贝到远程服务器ssh-copy-id -i /root/.ssh/id_rsa.pub "-p22 root@47.56.34.2"# 免密登陆ssh -p 22 root@47.56.34.2执行命令进行文件同步rsync -vzrtopg --progress --delete -e 'ssh -p 22' root@47.56.34.2:/root/fileUpload /home/backup/fileUpload/# 输出日志rsync -vzrtopg --progress --delete -e 'ssh -p 22' root@47.56.34.2:/root/fileUpload /home/backup/fileUpload/ 1> /home/logs/rsync.log 2>&1采用crond定时同步# 在本地服务器上,定时同步0 2 * * * root /home/backup/script/auto_rsync.sh# 在远程服务器上,定时备份数据库0 2 * * * root /root/backup/script/auto_mysqldump.sh同步脚本备份数据库脚本auto_mysqldump.sh#!/bin/bashDATE="$(date +%F)"backup_dir=/root/backup/databasemysqldump -uroot -pAsdf@123 pms > ${backup_dir}/pms-${DATE}.sql# 只保留前100个lPkgList=($(ls "${backup_dir}" | sort -nr))for ((j=100; j<${#lPkgList[@]}; ++j)); do rm -rf "${backup_dir}/${lPkgList[$j]}"done备份文件脚本auto_rsync.sh#!/bin/bashrsync -vzrtopg --progress --delete -e 'ssh -p 22' root@47.56.34.2:/root/fileUpload /home/backup/fileUpload/ 1> /home/logs/rsync.log 2>&1 rsync -vzrtopg --progress --delete -e 'ssh -p 22' root@47.56.34.2:/root/backup/database /home/backup/database/ 1> /home/logs/rsync-database.log 2>&1 命令详细使用方法http://man.linuxde.net/rsync-v, --verbose 详细模式输出。-q, --quiet 精简输出模式。-c, --checksum 打开校验开关,强制对文件传输进行校验。-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。-r, --recursive 对子目录以递归模式处理。-R, --relative 使用相对路径信息。-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。--backup-dir 将备份文件(如~filename)存放在在目录下。-suffix=SUFFIX 定义备份文件前缀。-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件,不覆盖更新的文件。-l, --links 保留软链结。-L, --copy-links 想对待常规文件一样处理软链结。--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结。--safe-links 忽略指向SRC路径目录树以外的链结。-H, --hard-links 保留硬链结。-p, --perms 保持文件权限。-o, --owner 保持文件属主信息。-g, --group 保持文件属组信息。-D, --devices 保持设备文件信息。-t, --times 保持文件时间信息。-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间。-n, --dry-run现实哪些文件将被传输。-w, --whole-file 拷贝文件,不进行增量检测。-x, --one-file-system 不要跨越文件系统边界。-B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节。-e, --rsh=command 指定使用rsh、ssh方式进行数据同步。--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息。-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件。--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件。--delete 删除那些DST中SRC没有的文件。--delete-excluded 同样删除接收端那些被该选项指定排除的文件。--delete-after 传输结束以后再删除。--ignore-errors 及时出现IO错误也进行删除。--max-delete=NUM 最多删除NUM个文件。--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输。--force 强制删除目录,即使不为空。--numeric-ids 不将数字的用户和组id匹配为用户名和组名。--timeout=time ip超时时间,单位为秒。-I, --ignore-times 不跳过那些有同样的时间和长度的文件。--size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间。--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0。-T --temp-dir=DIR 在DIR中创建临时文件。--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份。-P 等同于 --partial。--progress 显示备份过程。-z, --compress 对备份的文件在传输时进行压缩处理。--exclude=PATTERN 指定排除不需要传输的文件模式。--include=PATTERN 指定不排除而需要传输的文件模式。--exclude-from=FILE 排除FILE中指定模式的文件。--include-from=FILE 不排除FILE指定模式匹配的文件。--version 打印版本信息。--address 绑定到特定的地址。--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件。--port=PORT 指定其他的rsync服务端口。--blocking-io 对远程shell使用阻塞IO。-stats 给出某些文件的传输状态。--progress 在传输时现实传输过程。--log-format=formAT 指定日志文件格式。--password-file=FILE 从FILE中得到密码。--bwlimit=KBPS 限制I/O带宽,KBytes per second。-h, --help 显示帮助信息。问题遇到ssh修改了默认的端口22不能免密钥登录解决方法: ...

July 11, 2019 · 1 min · jiezi

CentOS7-linux下yum安装redis以及使用

前言继之前 window环境下安装Redis及可视化工具Redis Desktop Manager 文章后,这里记录一下Linux系统下的redis的使用安装redis检查是否有redis yum 源yum install redis下载fedora的epel仓库yum install epel-release安装redis数据库yum install redis安装完毕后,使用下面的命令启动redis服务# 启动redisservice redis start# 停止redisservice redis stop# 查看redis运行状态service redis status# 查看redis进程ps -ef | grep redis设置redis为开机自动启动chkconfig redis on进入redis服务# 进入本机redisredis-cli# 列出所有keykeys *``- 防火墙开放相应端口开启6379/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT 开启6380/sbin/iptables -I INPUT -p tcp --dport 6380 -j ACCEPT 保存/etc/rc.d/init.d/iptables save centos 7下执行service iptables save`` 修改redis默认端口和密码打开配置文件vi /etc/redis.conf修改默认端口,查找 port 6379 修改为相应端口即可 修改默认密码,查找 requirepass foobared 将 foobared 修改为你的密码 ...

July 10, 2019 · 1 min · jiezi

经验拾忆纯手工-Linux实用工具命令

Ubuntu16升级到18.04“”“ 有特殊新颖强迫症癖好可以升下,如果你觉得16.04好用,就根本没必要升了”“”我当时租的 云服务器通常都是16.04,现在估计也是16.04较多我是个Python3的玩家, 我只想用Python的最新版,或最新标准版3.6-3.7道理很简单,我追求新颖,虽然新版不稳定,但是你可以尝鲜并领先于别人。。。废话不多说: Ubuntu16.04: 默认装的是Python2.7 + Python3.4 或3.5 Ubuntu18.04: 默认装的是Python2.7 + Python3.6.+我喜欢升级系统版本来直接让对应软件升级: lsb_release -a # 查看系统版本 apt update # 一路选Y apt dist-upgrade apt autoremove # 一路选Y apt install update-manager-core # 比较重要 do-release-upgrade -d # 完事注: 如果其中某个命令过程弹出一个黑窗口让你选择, 我记得有个 core-new-update 字眼的,选这个即可 # 选择 新 核心vim多行注释(Python为例)Ubuntu是肯定可以用, CentOS我记得好像用不了直接一套连招:注释: 1. ctrl + v 2. 按 下 箭头方向键,选中多行 3. shift + i 4. 输入 # 5. 按两下 ESC键 取消注释: 1. ctrl + v 2. 按 下 箭头方向键,选中多行 3. 按 x 键注: 此套连招,需要熟练度, 如果不行就多练练。 手不好使,就不要怪我了~~~~ vimrc简单配置:“”“ tab = 4缩进, 设置行号 基于文件名的简单语法高亮 不要想着删一行,直接打开vimrc 全部复制上去,保存退出就可以用了”“”vi ~/.vimrc syntax on set nu set expandtab set tabstop=4 set shiftwidth=4 set softtabstop=4locate查询库locate xxx # 虽然很简单的命令,但是如果,一直为下线,并且还想查找新东西,那么需要更新库updatedb # 更新搜索库, 完事如果 updatedb命令出错,那就安装一下 mlocate就好了: yum/apt-get install mlocatehtop查看服务器负载ubuntu/centos中有 top : 此命令可以详细查看服务器各种负载,资源状况,但是看着不方便,非常费劲 htop : top的升级版, 容易看出资源消耗情况 如果未安装,可通过 apt-get/yum install htop 安装 htop -d 0.1 # 0.1秒动态更新一次资源数据。 看起来有一点炫。 pkillps -el 查看 PId + kill -9 PID # 这套连招可强制杀死一个进程但假如你有一连串的python进程 想要 全部KILL pkill python # 完事,和python有关的全KILL掉了,也可以通过通配符* 的方式来简写patree列出进程tree: 此命令用来列出目录层级结构pstree: 用来列出 正在运行的 程序(所有进程的层级结构,进程名)pstree -p: 以层级的方式,不仅列出进程名, 还列出所有进程的(PID)alias改名vi /etc/profile alias python='python3' # 这里是举个例子,配完,python命令就等价于 python3命令 alias pip='pip3'source /etc/profile # 不要忘记,这条命令 更新一下配置文件重定向管道 ( > 与 tee )date > date.txt # 截流, 屏幕上不显示date | tee date.txt # 不截流, 屏幕上显示, 并且还能输入到文件! 叹号命令”“ !命令前缀 : 运行最后一条以这个前缀开头的命令”“假如下面是你最后按顺序再command终端 输入的四条命令: python aaa.py python bbb.py npm run dev pip install ccc需求:你想迅速运行 python bbb.py这条命令你只需 !py # 即可, 愣着干啥呢, 已经完事了,这条命令就等于你上面那一大串 解惑: 1. !py -> py开头的有两条,为啥不执行第一条 python aaa.py 因为 ! 叹号 的语法意思就是选择 最后出现以py开头的执行。 2. 为啥直接 !p 不行呢? 因为以p开头的最后一条命令是 pip install ccc。 这也不是你想要的啊。ctrl+z 和 & 和 nohup 和 screenctrl+c: 强制终止(最常用的,先提出来。。。。 应该都知道的。。)ctrl+z: 可以把正在运行中的程序挂起到后台(注意这时候程序就暂停了)jobs: 粗略列出 后台挂起的程序jobs -l: 详细列出 后台挂起的程序 (其实就是多列出了个PID) kill -9 PID # 顺水推舟地使用此命令来通过 PID 干掉后台挂起的程序 fg: 把挂起的后台的程序 拿回来继续执行fg 程序编号: 如果有多个后台挂起的程序,选择一个继续执行,编号可通过 jobs 查看。使用场景: 加入正在 vim 编辑东西,想跳出编辑器,写点别的,那么可以 进行下面操作: 不要保存, 直接 ctrl+z 然后去 做别的事 做完了想回到 vim继续编辑剩下的内容, 直接 fg &: 运行 的 时刻 就直接 放到后台 (不实用) eg: (通常是费时的操作,或者长时间占用 command命令行) sleep 100 & # 这样费时100秒的操作,直接让它滚去后台执行,别占我地方 局限: 假如你用 python xxxx.py & 运行一个web服务器,虽然它会滚去后台一直运行。 前台command界面看起来很干净了。 但是,如果有用户请求过来, 你服务器收到打印在终端的信息 可不会乖乖打印在后台。 打印信息会钻出来到前台command界面来恶心你。。。。。 为了解决这一问题, 请移步 下面 ...nohup: (通常和 上面的 & 联合使用) (实用性一般) eg: 同样运行一个服务器 nohup python xxx.py & # 它会乖乖的滚去后台执行,并且将要打印的消息 也不会打印到前台,也不会打印到后台。 那打印的内容去哪了呢?? nohup会自动给你 把打印的东西重定向 到一个 nohup.out文件,通常在当前目录下 # 这时你的前台command 就不会受到 骚扰了。。。。 也许你以为它很好用了,可以完美的决绝运行一个费时的进程。但是 它依然是个 loser。。. 局限: 当我一直用 nohup.out 部署一些服务程序的时候,一部署就是很多天。 当时学校断电(我租的阿里云ECS服务器). 虽然服务器可以不间断的执行。 但是 我需要 用 xshell 一直去远程 查看我的 程序运行的怎么样了啊, 是否崩了? 可惜的是,每次xshell关闭了,你再上去, 想找 通过 nohup & 连招 放到后台程序的时候, 你会痛苦无比。。。非常惨 后来。。。。。。。。。 screen: (会话机制) 没错,后来我就发现了 这个 screen工具 如果你那里没有,就安装一下喽: apt-get / yum install screen 然后需要配置一下: vi ~/.screenrc # 创建文件 shell -$SHELL # 输入此行内容,保存退出 至于为何配置这个: 说实话我有点忘了 貌似不同screen会话对于不同的shell 权限有限制,导致很多东西用不了,so do it 直接说一套我常用且超级实用连招把: eg: screen -S 会话名 # 创建 并 进入这个会话(就像进入另一个世界,但资源共享) python xxx.py # 举例子,这是我的爬虫程序,需要运行 三天 ctrl + a + d # 跳出会话,回到正常命令行,但是这个会话以及你的程序依然在运行, ....... 这段时间(除了关闭服务器)你做什么都行,关闭 shell也可以的。 screen -r 上面的会话名 # 恢复到会话中, 你会发现,爬虫程序还在那里好好的运行呢。 如果你忘记会话名了,不要紧: screen -ls # 这条命令会列出所有 你创建过的会话,你也可以看到会话名 总结: 所以,我不知道阁下能不能感受到 screen的魅力。 我们可以 通过 screen -r 这一条命令来 迅速回到程序运行的环境。 nohup &: 你用这个执行的程序,关了 xshell, 你再连,你就不好找这个运行的程序了 screen 有一套完好的系统(就像有开关一样)来控制会话 你进入screen会话中写程序,screen 自然就能有条不紊的管理好 你程序的运行状态 举个白话例子: 你正遛二哈呢,突然有急事: nohup & : 你说:‘二哈,等我回来,自己玩把’ 你回来时, 二哈跑丢了。 (不受控制,程序找不到了,虽然可以花力气找到) screen : 你说:‘二哈,等我回来,自己玩吧,但我要把你拴起来’ 你回来时, 二哈还在那里乖乖的玩。(程序有效的受到控制,你可以轻松定位)sudo su等操作不好意思,用了好几年linux: 什么 su- su 之类的, 我至今都没搞太明白。。。。。。。。。。但是,我只用下面这一条命令,这些年就没遇到过问题: sudo -s # 变为root, 如果你之前输入过密码, 这条命令还会免去让你输入密码的环节环境变量把某路径加入到环境变量中: vi /etc/profile export PATH=$PATH:/XXX/XX做一些配置: vi /etc/profile vi ~/.bashrc 等修改完后 source /etc/profile # 用一个 source 命令执行一下使配置更新生效 注: Linux-shell我研究的不深,所以这里可能有些说的不是特别明朗。 其实 这些配置文件 以及 source . sh bash 这些命令 和 用户 以及权限等都是有很大关系的。 有兴趣可自行深入了解SSH远程连接小坑假如你的 xshell 连接不上远程服务器, 可能未开启 或 未安装 sshd服务如下命令即可: sudo apt-get install openssh-client # 安装客户端配置 sudo apt-get install openssh-service # 安装服务器配置 systemctl start sshd.service # 开启服务如果你的普通用户可以连接,但是你的root不能登录: vim /etc/sshd/ssh_config PermitRootLogin yes # 找到这个改为yes , 保存退出就完事了 MySQL5.7+/MariaDB修改密码小坑当阁下还在停留在Mysql5.7版本之前,修改密码可以用下面这两种方式: mysqladmin -uroot password -p 或内部设置: update user set password=password('root') where user='root'但是 MySQL5.7 之后 或者 MariaDB ,上面这俩方法 都不能 修改密码了。正确修改方式: 先进入MySQL交互式: MySQL -uroot -p update mysql.user set authentication_string=password("密码") where user="用户名" update user set plugin="mysql_native_password"; flush privileges 最后重启服务, 完事 另外,值得提醒的一点容易出现的问题: 无论你连接的是什么数据库,如果你连不上 首先你应该想到的是,数据库配置文件: bind 0.0.0.0 # 每种数据库几乎都需要先改成这样,才能被外界访问 其次,你用的是云服务器的话 看看是否放通了 对应数据库的宽口 最后,是否开了防火墙: 没记错的话,Centos 和 Ubuntu 防火墙不是同一种,真正需要关闭可自行百度 其他命令""" 一时间也记不起来还用过哪些了"""wc : 统计字,词,行(自己选参数)curl : 可以请求 url,并返回数据(相当于一个小小爬虫),也可以向某个接口发送请求ssh-keygen :生成公私密钥cd - : 跳回到上一次的路径lsb_release -a : 查看Linux发行版信息grep : 过滤字符tar : 压缩/解压netstat : 查端口等

July 10, 2019 · 3 min · jiezi

Linux云计算笔记一

基本网络知识ifconfig 用来配置网络或查看当前网络接口的状态临时修改网卡IP地址ifconfig 网卡名称 IP地址 —直接修改网卡的IP地址,重启失效说明:修改后当前终端会终端,需要重新使用新的IP地址进行连接systemctl restart network #Centos7的网卡重启方法service network restart #Centos6的网卡重启方法添加多个临时IP地址ifconfig 网卡名称:0 第一个IP地址 (netmask 子网掩码) —增加一个IPifconfig 网卡名称:1 第二个IP地址 (netmask 子网掩码) —增加一个IPNetworkManager概述:管理和监控网络设置的守护进程systemctl status NetworkManagerLinux网络相关的配置文件ls /etc/sysconfig/network-scripts #网络相关的配置文件路径永久修改网卡地址 方法1:使用nmtui文本框方式修改IP方法2:通过修改网卡配置文件改IP地址 vim /etc/sysconfig/network-scripts/ifcfg-ens33关闭防火墙并设置开机不启动 关闭防火墙:systemctl stop firewalld开启防火墙:systemctl start firewalld开机自动关闭:systemctl disable firewalld //centos7开机自启动:systemctl enable firewalld chkconfig —list|grep network //centos6查看防火墙状态:systemctl status firewalld设置系统光盘开机自动挂载 打开 vim /etc/fstab 并添加下面一行验证是否挂载成功mount -aLinux基本命令操作输出:echo广播消息:wall "消息内容”ls查看当前目录下有哪些文件(list)-l 列出文件的详细信息-a 列出目录下所有文件(包括隐藏文件)-d 查看目录(不查看里面的内容)-S 以文件的大小进行排序ls -l 和 ll这两个命令是等价的alias 起别名alias 别名='原始命令'删除别名:unalias + 别名cd切换目录cd .. 表示返回上级目录位置,也就是父级目录cd - 表示返回之前的目录历史命令:historyctrl+r 搜索历史命令(输入某条命令的关键字)!数字 执行历史命令中对应行的命令系统时间管理硬件时钟 系统时钟hwclock 硬件时间date 系统时间CST:中国标准时间UTC:世界标准时间GMT:格林尼治时间时间的参数可通过命令date —help查看帮助命令man 查看手册页或命令描述 退出时按qhelp关机shutdown-r 重新启动计算机-h 定时关机7个启动级别作用:切换系统运行级别语法:init 0-6Linux 7个启动级别:0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的1 单用户模式,root权限,用于系统维护,禁止远程登录,就像windows下的安全模式登录2 多用户模式,没有NFS和网络支持3 完整的多用户文本模式,有NFS和网络,登录后进入控制命令行模式4 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情5 图形化模式,登陆后进入图形GUI模式6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init6机器就会重启文件的管理文件管理昂视有多种改变目录:cd创建/修改/移动/删除:touch mkdir mv vi rm cp创建文件和文件夹:命令:touch作用:常用来创建空文件,如果文件存在,则修改这个文件的时间访问时间:atime 查看内容 cat a.txt修改时间:mtime 修改内容 vim a.txt改变时间:ctime 文件属性,比如权限 change time创建目录命令:mkdir语法:mkdir (选项)文件名删除文件和目录命令:rm作用:可以删除一个目录中的一个或多个文件或目录,对于链接文件,知识删除整个链接文件,而源文件保持不变语法:rm (选项)处理对象选项:-f 强制删除,没有提示-r 删除目录复制文件命令:cp 源文件/目录 目录文件/目录选项:-R/r:递归处理,将指定目录下的所有文件与子目录一并处理查看文件(1)命令:cat 语法:cat 文件名 作用:查看文件内容,一次显示整个文件的内容(2)命令:more 语法:more 文件名 作用:按下回车刷新一行,按下空格刷新一屏,输入q退出(3)命令:less 语法:less 文件名 作用:和more功能一样head作用:用于显示文件开头的内容。在默认情况下,head命令显示文件的头10行内容语法:head (选项) 文件名参数:-n 显示从文件头开始的行数tail作用:用于显示文件中的尾部内容。默认在屏幕上显示指定文件的末尾10行语法:tail (选项)文件名参数:-n 显示文件尾部多少行的内容(n为数字)-f 动态显示数据(不关闭),常用来查看日志,也可以写成tailf日志在/var/log/securexfs文件系统的备份和恢复xfs提供了xfsdump和xfsrestore工具协助备份xfs文件中的数据。xfsdump按inode顺序备份一个xfs文件系统。centos7选择xfs格式作为默认文件系统,而且不再使用以前的ext,仍然支持ext4,xfs专为大数据产生,每个单个文件系统最大可以支持8eb,单个文件可以支持16tb,不仅数据量大,而且扩展性高。还可以通过xfsdump,xfsrestore来备份和恢复。原始备份数据方法:cp与传统的unix文件系统不同,xfs不需要再备份前卸载;对使用中的xfs文件系统备份就可以保证镜像的一致性。xfs的备份和恢复的过程是可以被终端然后后继续的,无须冻结文件系统。xfsdump甚至提供了高性能的多线程备份操作,它把一次dump拆分多个数据流,每个数据流可以被发往不同的目的地。备份级别:0 级别代表 完全备份1到9 级别代表 增量备份扩展:完全备份:每次都把指定的备份目录完整的复制一遍,不管目录下的文件有没有变化增量备份:每次将之前(第一次、第二次。。。直到前一次)做过备份之后又变化的文件进行备份差异备份:每次都将第一次完整备份以来有变化的文件进行备份对新增加的硬盘进行格式化:fdisk /dev/sdbp 查看当前的分区表备份:1.备份整个分区xfsdump -f 备份存放位置 要备份路径或设备文件注意:备份的路径这里不能写成/sdb1/ 可以是/dev/sdb1 或 /sdb1dump_sdb1 指定备份会话标签sdb1 指定设备标签2.指定备份时免交互操作,方便后期做定时备份文件系统恢复:语法:xfsrestore -f 指定恢复文件的位置

July 8, 2019 · 1 min · jiezi

redis主从同步机制

redis的同步机制redis同步,第一次主节点会做一个bgsave,将之后期间产生的数据存在内存buffer中,待bgsave后将rdb文件全量复制到从节点,从节点再接受完全量文件会加载到内存中,加载内存完后再通知主节点将期间数据同步到从节点,进行重放即可完成。 redis的高可用方式-哨兵(redis sentinel)哨兵部署最少3个,而且使用奇数个哨兵 redis的高可用方式-redis cluster使用16384长度槽,固定的,没有就虚拟出来均匀分布。redis cluster中的每个master会负责一部分槽,槽口可以自定义也可让他自动生成(redis-trib.rb脚本)。只有master节点拥有所有权,从节点只有使用权。

July 5, 2019 · 1 min · jiezi

gitlab使用

关闭gitlab的自动启动 systemctl disable gitlab-runsvdir.service开启gitlab的自动启动 systemctl enable gitlab-runsvdir.service 启动gitlabsystemctl start gitlab-runsvdir.servicegitlab-cmd start 关闭gitlabgitlab-cmd stop 作者:weixin_34195142 来源:CSDN 原文:https://blog.csdn.net/weixin_... 版权声明:本文为博主原创文章,转载请附上博文链接!

July 4, 2019 · 1 min · jiezi

centos-7x主机下的limits资源限制

写此文章的起因是Centos 7.x环境安装MySQL时遇到了问题,之前在Centos 6.x环境安装MySQL,在/etc/security/limits.conf文件中对打开文件nofile做了限制,重启MySQL后生效,但是在Centos 7.x环境却没用。 分析发现/etc/security/limits.conf只对pam登录用户起作用,而若通过systemd启动服务,此配置文件不起作用。对于systemd启动的服务,按照优先级(后者覆盖前者)起作用的是: /etc/systemd/system.conf :设置系统级服务全局默认值(PS:需重启系统生效),如:% vi /etc/systemd/system.conf ...DefaultLimitNOFILE=50000...服务本身,如mysql进程:% vi /usr/lib/systemd/system/mysqld.service[Service]...LimitNOFILE = 20000...% systemctl deamon-reload% systemctl restart mysqld检查: % cat /proc/13010/limits Limit Soft Limit Hard Limit Units Max open files 20000 20000 files ...注意:上面只是争对系统级服务,即使用systemctl start/stop管理的服务,而对于systemctl --user管理的用户级服务(PS:非常少用,且需要特殊配置),环境变量或limits限制由如下文件限制: ~/.config/systemd/user.conf:对于有HOME的用户,可再此目录配置;/etc/systemd/user.conf:用户级别默认配置;/etc/systemd/system/user@.service.d/:对于所有用户级别管理的服务生效;/etc/systemd/system/user@<uid>.service.d:对于特定用户生效;参考文档: https://immae.eu/blog/2014/05...;https://bugzilla.redhat.com/s...;https://wiki.archlinux.org/in...;

June 28, 2019 · 1 min · jiezi

CentOS7安装python3

一:背景 CentOS7里内置了一些应用,比如python2。现在需要在系统中安装python3。 二:实验环境 CentOS7系统中一个普通用户(root也无所谓,如果你愿意的话三:实验步骤 准备工作(1) 更新yum源。yum是基于Red Hat的Linux系统中常用的包管理工具,可以使用yum安装、更新、移除软件安装包。使用sudo yum -y update,-y的主要作用就是省略确认步骤,详情见man yum。(2) 安装yum-utils。yum-utils是拓展yum功能的一些插件的集合。使用sudo yum -y install yum-utils安装。这里的-y功能同(1)。 (3) 安装CentOS Development,作用是允许我们从源码构建和编译软件。(此步如果安装失败不会对接下来的而步骤造成影响。使用sudo yum -y groupinstall development安装。 安装python3(1) 安装IUS。IUS提供了一些软件较新版本的RPM包。使用sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm安装。(2) 安装完IUS之后,就可以安装最近较新的python版本了(当然IUS上的最新python版本通常落后于python官网上最新版本,这是因为IUS同步也需要一定的时间。使用sudo yum -y install python36u安装。(3) 安装完成后使用python3.6 -V检测是否安装成功,如果成功会输出python版本。注意‘V’的大小写,如果使用小写‘v’,会进入编译环境,区别详情见man python。(4) 安装pip,pip是python的包管理工具。使用sudo yum -y install python36u-pip安装。安装完成后可使用pip3.6 -V检测是否安装成功。注意此时尚未创建python3.6的虚拟环境,不能使用pip -V。(5) 安装python36u-devel,这个包提供了一些开发需要的包和头文件。使用sudo yum -y install python36u-devel安装。创建虚拟环境,虚拟环境保证了所有python项目拥有一个独立的空间并且每个项目都有自己独立的依赖,不受其它项目的干扰,同时虚拟环境有利于我们管理自己的项目和不同版本的依赖包。可以创建多个虚拟环境,每个虚拟环境由一个目录及一些描述文件组成。(1) 选择一个已经存在的目录或新建一个目录。本实验选择新建目录,使用mkdir py_env创建目录,使用cd py_env进入该目录,使用python3.6 -m venv my_env(my_env是本次实验创建的虚拟环境所在目录的名称,可以根据自己需要更改名称。实际上这条命令创建了一个名为my_env的目录,里面包含如下基本内容(2) 使用source my_env/bin/activate激活虚拟环境,这条命令会调用/bin下的‘activate’脚本。(3) 执行(2)之后就已经进入到了新创建的虚拟环境,前缀()里的内容就是虚拟环境的名称,在这个虚拟环境中我们可以使用python代替python3.6,使用pip代替pip3.6。创建一个简单的hello.py(1) 使用vi hello.py或vim hello.py创建一个文件。(2) 进入编辑模式,增加print('Hello, World'),保存并退出,使用python hello.py执行。(3) 使用deactivate 离开当前虚拟环境。

June 26, 2019 · 1 min · jiezi

CentOSNginxhttpsflask域名备案

这篇文章内容比较杂,但是这次我准备多写些干货,自己备查,也方便别人参考。记录日期为2019年06月21日 阿里云域名购买及备案在阿里云购买域名和服务器以后,先进行服务器备案,生成备案号,然后进行实名采集认证等操作,全部结束以后,才可以进行域名备案申请。这些都有完整的操作流程和文档,很简单。需要注意的是:备案对网站名称有很详细的要求,比如不允许带有任何空间、博客等字样,提供的证件照必须穿着适宜的衣服,我穿背心的照片被打回了…… 这一步其实是阿里云代通信局进行初审,只有通过阿里云初审,才有可能备案成功。提交资料需要用阿里云手机APP提交,一个工作日左右会有人员和你联系,确认信息。通过初审以后,会替你将资料提交到所属省份的通信局进行正式备份,3-20个工作日有结果。我是5.25号转到通信局审核,6.10号通知我域名备案成功。 对了,备案成功以后,只要在阿里云控制台设置域名解析地址到你的公网IP即可。路径是:云解析DNS/域名解析/解析设置。别忘了在网站底部添加ICP备案号和备案链接,这个是必须写的,备查。友情提示,别忘了标注版权所属。 <el-link style="font-size: 22px;" href="http://www.beian.miit.gov.cn/" target="_blank">辽ICP备xxxxxxxx号</el-link>ps:用的element-ui的链接组件 https证书既然有了域名,为何不来一发https呢?产品列表里,进入SSL证书管理功能。申请一个新的免费证书,很简单,填写一些简单的资料即可。大概几天就可以申请下来,然后下载证书包,文档很全。压缩包里有俩证书文件,这俩后面在nginx里配置的时候需要用到。 这一步就没什么好说的了,参考阿里云文档https://help.aliyun.com/knowl... 如果需要强制http跳转到https,需要修改80端口的配置文件为: server { listen 80 default_server; listen [::]:80 default_server; server_name www.xxx.com; return 301 https://$host$request_uri; }这样就可以强制跳转 二级域名配置写到这发现似乎内容太少了,再来点吧。 Vue项目打包到dist以后,上传到服务器上。配置好nginx.conf文件,就能顺利解析。如果你是用vscode开发的小机灵鬼,推荐插件Sync-Rsync。当然别用在生产环境里,不然会被老板打死。 依然是进入云解析DNS的功能中,点击解析设置,点击添加记录。我这里添加一个隐性URL,也就是能够隐藏真实地址的功能,我想在服务器新开一个8000端口,做一些flask的api开发。嗯,归根结底还是因为穷,买不起第二台服务器…… 久等了.jpg,终于配图了。这样就可以用demo.xxx.com代替www.xxx.com:8000,在服务器上再开一个窟窿…… Flask服务器配置推荐用uwsgi+nginx+flask,配置文档http://docs.jinkan.org/docs/f...未完待续,苦逼开发中,9102年了,貌似很多教程都不用自己写啦,我只是个搬运工,果然站在巨人的肩膀上尿的远。

June 21, 2019 · 1 min · jiezi

Shell-学习笔记2

第四章特殊位置参数变量$0 # 路径$n # 1~9不用说了,0表示脚本的文件名,大于9,带大括号$# # 参数的总个数$* # 不加引号和$@相同,加双引号视为单个字符串,相当于“$1 $2 $3”$@ # 不加引号和$*相同,加双引号有区别,视为不同的独立字符串,相当于"$1" "$2" "$3" "..." $n# \ ${1..15} > n.sh # 四个echo \${1..15} >n.sh # 利用大括号输出15个位置参数并定向到文件 n.sh 里。echo ${10} # 正确echo $10 # 不正确只需要关注特殊变量($1)的内容。 获取脚本的名称及路径# 写好vi n.shsh /server/scripts/n.sh # 输出 /server/scripts/n.sh# dirname 及 basenamedirname /server/scripts/n.sh # /server/scriptsbasename /server/scripts/n.sh # n.sh# $0dirname $0 # 输出结果见上面basename $0rpcbind 系统脚本 通过 $# 获取脚本传参的个数[ $# -ne 2 ] && { echo "muse two args" 输入除了两个数字或连续字符串,才输出结果。三个以上能不,也不能。 exit 1}echo wyc # 输入两个数字或连续字符串,才能输出结果。##########if [ $# -ne 2 ] then echo "USAGE:/bin/sh $0 arg1 arg2" # 输入除了两个数字或连续字符串,输出结果是USAGE:/bin/sh b.sh arg1 arg2。 exit 1fiecho $1 $2 # 输入两个数字或连续字符串,才能输出结果;$* $@ ...

June 20, 2019 · 2 min · jiezi

Shell-学习笔记

第三章环境变量定义 export NAME=wycdeclare -x NAME=wycNAME=wyc ;export NAME打印环境变量 echo $HOME /$UID /$PWD /$SHELL /$USERprintf "$HOME\n" # printf "" $HOME \n用unset消除本地变量和环境变量 echo $USERunset USER知识小结:变量名通常要大写。常用export来定义环境变量。输出时用“$变量名”,取消时用“unset 变量名”。定义本地变量1.普通变量定义变量名=value # 无引号变量名='value' # 单引号变量名="value" # 双引号 2.必掌握知识点变量名一般是由字母、数字、下划线组成的,开头除了数字。 $变量名表示输出变量,可以用$a和${a}两种用法。 数字的话,就用无引号,一般情况用双引号,原样用单引号。 3.命令作为变量变量名=`ls`变量名=$(ls)W=`ls`echo $WY=$(pwd)echo $Y知识小结连续的数字或字符串,不加引号;有空格,需解析,就加双引号;原样就用单引号;命令用反引号,或者括号,注意反引号和单引号的区别;一般用echo,复杂用printf; $A=${A};输出变量,可以用单双反引号,例如:echo $A、"$A"、`$A` ; $dbname_tname,改${dbname}_tname

June 18, 2019 · 1 min · jiezi

Linux-笔记

目的(前言?)2016年7月毕业到现在,特不顺利,总是半途而废,损失很多时间和金钱。清单数量上二百了,障碍了。(请原谅我写作水平,但我还在努力。) 书名:跟老男孩学Linux运维 Shell编程实战1.书的难点2.软件上解决的笔记2-1.我的本本 我的台式 服务器所需的准备VMware Workstations 15 Pro难点:对vmware网络模式没弄懂。 3.整理旧笔记3-1.yum mysql[20:10:58][root@#localhost ~]# rpm -qa|grep mariadb[20:10:59]mariadb-libs-5.5.52-1.el7.x86_64 #查找,删掉[20:11:07][root@#localhost ~]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64[20:11:19][root@#localhost ~]# rpm -qa|grep mysql[20:14:32][root@#localhost ~]# mkdir /data[20:22:32][root@#localhost ~]# wget http://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm[20:23:15][root@#localhost ~]# rpm -ivh mysql57-community-release-el7-11.noarch.rpm [20:24:13][root@#localhost ~]# yum install mysql-server -y [20:29:12][root@#localhost ~]# cat /etc/my.cnf #默认[20:29:12]# For advice on how to change settings please see[20:29:12]# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html[20:29:12][20:29:12][mysqld][20:29:12]#[20:29:12]# Remove leading # and set to the amount of RAM for the most important data[20:29:12]# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.[20:29:12]# innodb_buffer_pool_size = 128M[20:29:12]#[20:29:12]# Remove leading # to turn on a very important data integrity option: logging[20:29:12]# changes to the binary log between backups.[20:29:12]# log_bin[20:29:12]#[20:29:12]# Remove leading # to set options mainly useful for reporting servers.[20:29:12]# The server defaults are faster for transactions and fast SELECTs.[20:29:12]# Adjust sizes as needed, experiment to find the optimal values.[20:29:12]# join_buffer_size = 128M[20:29:12]# sort_buffer_size = 2M[20:29:12]# read_rnd_buffer_size = 2M[20:29:12]datadir=/var/lib/mysql[20:29:12]socket=/var/lib/mysql/mysql.sock[20:29:12][20:29:12]# Disabling symbolic-links is recommended to prevent assorted security risks[20:29:12]symbolic-links=0[20:29:12][20:29:12]log-error=/var/log/mysqld.log[20:29:12]pid-file=/var/run/mysqld/mysqld.pid[20:30:41][root@#localhost ~]# service mysqld status #记法:系统在前,服务在后。systemctl status xxx service xxx status[20:30:52][root@#localhost ~]# service mysqld start[20:31:23][root@#localhost ~]# grep "password" /var/log/mysqld.log[20:31:23]2019-03-21T12:31:07.638261Z 1 [Note] A temporary password is generated for root@localhost: QChl.QsN9IrY[20:31:40][root@#localhost ~]# mysql -uroot -p[20:32:09]Enter password: [20:32:57]mysql> alter user 'root'@'localhost' identified by 'you_password'; #字母大小写,数字,符号都要!也可以设置取消复杂要求。[20:33:13]mysql> quit;[20:33:30][root@#localhost ~]# service mysqld restart[20:33:58][root@#localhost ~]# mysql -uroot -p [20:34:04]Enter password: [20:34:04]Welcome to the MySQL monitor. Commands end with ; or \g.[20:34:04]Your MySQL connection id is 2[20:34:04]Server version: 5.7.25 MySQL Community Server (GPL)[20:34:04][20:34:04]Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.[20:34:04][20:34:04]Oracle is a registered trademark of Oracle Corporation and/or its[20:34:04]affiliates. Other names may be trademarks of their respective[20:34:04]owners.[20:34:04][20:34:04]Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.[20:34:04][20:34:12]mysql> show databases;[20:34:12]+--------------------+[20:34:12]| Database |[20:34:12]+--------------------+[20:34:12]| information_schema |[20:34:12]| mysql |[20:34:12]| performance_schema |[20:34:12]| sys |[20:34:12]+--------------------+[20:34:12]4 rows in set (0.00 sec)[20:34:12][20:34:18]mysql> quit;[20:34:18]Bye #注意:上面标点符号不准,csdn保存后,符号有变化!!!

June 18, 2019 · 2 min · jiezi

Centos7-安装openvpn-by-easyrsa30

# Centos7 安装openvpn by easy-rsa3.0 -----------------------------------------------------------------------------------------------------------------------------------------------------安装openvpn等所需要的软件首先你应该有一个外网ip,否则一切都是空谈 yum install -y epel-releaseyum install -y openvpn easy-rsa openssl openssl-devel lzo lzo-devel pam pam-devel automake pkgconfig server端 制作证书,密钥等文件CA证书生产[root@localhost ~]#cp /usr/share/doc/openvpn-2.4.6/sample/sample-config-files/server.conf /etc/openvpn/ //复制服务端配置文件到配置文件目录[root@localhost ~]# cp /usr/share/doc/openvpn-2.4.7/sample/sample-config-files/server.conf /etc/op[root@localhost ~]# mkdir /etc/openvpn/easy-rsa[root@localhost ~]# cp -r /usr/share/easy-rsa/3.0.3/* /etc/openvpn/easy-rsa/[root@localhost ~]# cd /etc/openvpn/easy-rsa/[root@localhost easy-rsa]# cp /usr/share/doc/easy-rsa-3.0.3/vars.example var[root@localhost easy-rsa]# lseasyrsa openssl-1.0.cnf var x509-types[root@localhost easy-rsa]#vim vars #×××的相关配置,根据需要自定义,也可以忽略不设置 set_var EASYRSA_REQ_COUNTRY "CN" #国家set_var EASYRSA_REQ_PROVINCE "BJ" #省set_var EASYRSA_REQ_CITY "Beijing" #城市set_var EASYRSA_REQ_ORG "My ***" #组织set_var EASYRSA_REQ_EMAIL "disk@skyii.com" #邮箱set_var EASYRSA_REQ_OU "sky" #公司、组织 [root@localhost easy-rsa]# ./easyrsa init-pki #初始化pki,生成目录文件结构init-pki complete; you may now create a CA or requests.your newly created PKI dir is: /etc/openvpn/easy-rsa/pki[root@localhost easy-rsa]# lseasyrsa openssl-1.0.cnf pki var x509-types[root@localhost easy-rsa]# ./easyrsa build-ca #创建ca证书Note: using Easy-RSA configuration from: ./vars #使用vars文件里面配置的信息Generating a 2048 bit RSA private key.................+++........................................................................................+++writing new private key to '/etc/openvpn/easy-rsa/pki/private/ca.key.Lg8IKADc4Q'Enter PEM pass phrase: #设置ca密码(我此处是写的silence)Verifying - Enter PEM pass phrase: #再输一遍上面的密码-----You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Common Name (eg: your user, host, or server name) [Easy-RSA CA]: #直接回车,就是默认的CA作为名字CA creation complete and you may now import and sign cert requests.Your new CA certificate file for publishing is at:/etc/openvpn/easy-rsa/pki/ca.crt #ca证书存放路径 ...

June 17, 2019 · 4 min · jiezi

Linux-SVN-命令

SVN 安装官网下载: http://subversion.apache.org/... SVN客户端TortoiseSVN :https://tortoisesvn.net/downl... 1 yum install subversion安装 yum install subversion2 新建一个目录用于存储SVN目录 mkdir svn 3 新建一个测试仓库 svnadmin create /svn/code/ 4 目录结构说明 hooks目录:放置hook脚步文件的目录locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端format目录:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号conf目录:是这个仓库配置文件(仓库用户访问账户,权限)5 conf 目录详情 5.1 authz 配置新用户的授权文件. [groups]admin = demo1,demo2user = demo1[/svn/code/]@admin = rw @user = r备注: admin = demo1,demo22 创建admin组,组成员为:demo1,demo2 user = demo1 创建用户组,用户成员:demo1 [code:/] 赋予根权限,为了便于管理和权限的控制,可以把权限细化到版本库中相应的目录 @admin = rw admin组有读写的权限 @user = r user组只有读的权限5.2 passwd 配置访问用户及密码 [users]demo1 = 123456demo2 = 1234565.3 svnserve.conf 配置SVN服务的配置文件 ...

June 17, 2019 · 1 min · jiezi

centos7安装selenium

基本环境:centos7,python3.x1.安装seleniumpip3 install selenium 2.安装chrome-browserwget https://dl.google.com/linux/d... --no-check-certificate yum install ./google-chrome-stable_current_x86_64.rpm 3.下载chromedriver(注意要和chrome-browser版本对应)wget http://chromedriver.storage.g...解压此文件,并将文件移动到/usr/bin目录下unzip chromedriver_linx64.zipmv chromedriver /usr/bin/ 4.测试selenium是否可用,请执行以下python脚本,如返回html内容,则说明安装成功python3 test.py from selenium import webdriverurl='http://bing.com'option = webdriver.ChromeOptions()option.add_argument('--no-sandbox')option.add_argument('--headless')driver = webdriver.Chrome(chrome_options=option)driver.get(url)print(driver.page_source)

June 12, 2019 · 1 min · jiezi

手摸手教你在阿里云服务器部署express项目

首先声明,我是一名前端,之前没有接触过服务器,秉着好好学习积极向上的精神,最近弄了阿里云个服务器捣鼓,如以下教程中有不正确的地方,欢迎指出,欢迎轻喷。 一、购买服务器到阿里云免费领取一个试用版的(新注册用户)https://free.aliyun.com/ntms/... 这里就不多说了,领取了就好,领取不了就买一个吧,选centOS系统就行 二、连接服务器直接通过阿里云控制后台连接 输入密码,登录进服务器 ps:如果不知道密码,可以点击如下图地方进行修改 通过xshell登录我是windows系统,所以用xshell,mac的话就用iterm就可以连了,上网下载xshell(这里就自行百度吧,网上一堆的),打开xshell,新建会话 输入密码,好了,连接上服务器了,如下: 三、基础安装安装git之前上网一顿搜索,又说要下载啊,解压啊什么的,后来发现阿里云服务器自带了git安装包的了(反正我买的这个就有),直接上命令: yum install git安装node我是使用nvm安装的,方便以后可以切换node的版本,首先使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。 git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`然后激活NVM echo ". ~/.nvm/nvm.sh" >> /etc/profilesource /etc/profile然后安装node(我是安装目前的LTS版10.16.0) nvm install v10.16.0最后使用nodev10.16.0 nvm use v10.16.0测试一下有没有安装成功 node -vnpm -v如果有版本号的话,就证明安装成功了。PS:这里有个小坑,你试一下输入 reboot 重启服务器?然后 node -v ? 没了吧。每次重启服务器,都要用node use 版本号才能用node和npm,设置一下别名,这样就可以重启后直接用了 nvm alias default v10.16.0四、上传项目通过git拉取代码到服务器(这里是我放在git上的一个测试项目,就是用express脚手架直接搭出来的一个东西而已,啥也没有)git clone https://github.com/SuperMrBean/test.git通过winSCP上传项目下载winSCP:https://winscp.net/eng/downlo... 直接登录上就可以往上面传东西啦,把你本地的express项目直接放上去吧 五、运行项目首先要下载pm2(pm2是啥?自己百度一下吧,我也是这么过来的) npm install -g pm2然后cd到你的express项目里面 pm2 start ./bin/www ...

June 5, 2019 · 1 min · jiezi

centos7配置双网卡bond

环境:centos7.5ip:10.0.0.5网卡:ens33,ens38 编辑主配置文件vim /etc/sysconfig/network-scripts/ifcfg-bond0 #编辑bond配置 配置主从网卡配置文件vim /etc/sysconfig/network-scripts/ifcfg-ens33 vim /etc/sysconfig/network-scripts/ifcfg-ens38 服务开启与检测重启网络服务: systemctl restart network查看网卡信息是否正常: ifconfig也可通过查看内存信息来判断bond状态: cat /proc/net/bonding/bond0

May 30, 2019 · 1 min · jiezi

zabbix-40-图形界面乱码问题

新安装一个zabbix, 创建图形后,指标栏乱码。 莫慌~1、首先选择一个你需要的字体,下载并上传到/usr/share/zabbix/fonts中。我选择楷体,习惯- -,(当然也可以搞点花里胡哨的) 可以从网上下载任意风格的字体 2、删除原先字体的软连接,并把下载好的字体链接到/etc/alternatives/zabbix-web-fontrm /etc/alternatives/zabbix-web-fontln -s /usr/share/zabbix/fonts/simkai.ttf /etc/alternatives/zabbix-web-fontls -la /etc/alternatives/zabbix-web-font # 查看是否正确链接 检查ok~ 3、不需要重启zabbix-server,刷新页面。 可以看到已经正确显示中文。不在是□。

May 29, 2019 · 1 min · jiezi

Python爬虫入门教程-9100-河北阳光理政投诉板块

1.河北阳光理政投诉板块-写在前面之前几篇文章都是在写图片相关的爬虫,今天写个留言板爬出,为另一套数据分析案例的教程做做准备,作为一个河北人,遵纪守法,有事投诉是必备的技能,那么咱看看我们大河北人都因为什么投诉过呢? 今天要爬取的网站地址 http://yglz.tousu.hebnews.cn/l-1001-5-,一遍爬取一遍嘀咕,别因为爬这个网站在去喝茶,再次声明,学习目的,切勿把人家网站爬瘫痪了。 2.河北阳光理政投诉板块-开始撸代码今天再次尝试使用一个新的模块 lxml ,它可以配合xpath快速解析HTML文档,官网网站 https://lxml.de/index.html利用pip安装lxml,如果安装失败,可以在搜索引擎多搜搜,内容很多,100%有解决方案。 pip install lxml废话不多说,直接通过requests模块获取百度首页,然后用lxml进行解析 import requestsfrom lxml import etree # 从lxml中导入etreeresponse = requests.get("http://www.baidu.com")html = response.content.decode("utf-8")tree=etree.HTML(html) # 解析htmlprint(tree)当你打印的内容为下图所示,你就接近成功了! 下面就是 配合xpath 语法获取网页元素了,关于xpath 这个你也可以自行去学习,非常简单,搜索一下全都是资料,咱就不讲了。 通过xpath我们进行下一步的操作,代码注释可以多看一下。 tree=etree.HTML(html) # 解析htmlhrefs = tree.xpath('//a') #通过xpath获取所有的a元素# 注意网页中有很多的a标签,所以获取到的是一个数组,那么我们需要用循环进行操作for href in hrefs: print(href)打印结果如下 <Element a at 0x1cf64252408><Element a at 0x1cf642523c8><Element a at 0x1cf64252288><Element a at 0x1cf64252308><Element a at 0x1cf64285708><Element a at 0x1cf642aa108><Element a at 0x1cf642aa0c8><Element a at 0x1cf642aa148><Element a at 0x1cf642aa048><Element a at 0x1cf64285848><Element a at 0x1cf642aa188>在使用xpath配合lxml中,记住只要输出上述内容,就代表获取到东西了,当然这个不一定是你需要的,不过代码至少是没有错误的。 ...

May 29, 2019 · 2 min · jiezi

Tshare校园资源分享平台网站开发四之功能模块设计

上一篇博客地址:Tshare校园资源分享平台(网站开发三之数据库连接) 功能设计虽然我们能访问web站点,能连接数据库了,但是并不意味着我们马上就要开始写代码,我们得先分析一下我们的网站都需要实现哪些功能,这样我们才能针对如何实现这些功能进行编码。 宣传页由于网站的主要目的是校园内部提供服务,所以不是每一个人都能享受网站的服务,所以制作一个宣传首页用于吸引用户,也在此首页中实现用户的注册、登录功能。 资料分享平台当用户注册完之后登录网站,应该能够互相分享自己手中的资源(主要指学习资源,试卷、课件等等)。所以要提供文件的上传、搜索、预览、下载功能。 后续扩展功能闲置交易、表白墙、失物招领等等。 详细设计用户的注册用户注册必须使用校内教育邮箱进行注册,所以我们需要给邮箱发送一个验证码,只有邮箱验证吗验证成功才能进行注册。所以需要有发送邮件的功能 用户的登录用户登录只需要验证用户名和密码。为了让用户有良好的体验,可以设置7天内自动登陆,所以在用户登录的时候将用户名和密码进行加密后写入浏览器cookie。所以需要有加密功能和cookie设置读取功能。 文件上传通过收集身边的同学的学习资料信息,设计文件上传时需要填写的表单信息。同时只能上传单个文件,如果要上传文件夹需要压缩为zip后才能上传。而上传的zip压缩包在服务器端需要解压缩成一个文件夹保存。所以需要提供zip压缩包解压缩功能。 文件搜索通过关键字搜索文件,搜索时采用模糊搜索,可以对整个关键字进行模糊搜索,还可以将关键字进行中文分词后再依次模糊搜索。所以需要提供中文分词的功能。 文件预览我们决定将最终的预览文件定为png图片,也就是说所有可以预览的文件类型我们都以png格式显示。对于word类型的文件,需要先转为pdf,然后选取pdf前10页进行拆分,然后将拆分得到的pdf转为png,最后将所有的png进行合并为一张长图。所以需要提供有word转pdf的功能、pdf拆分的功能、pdf转png的功能以及png合并功能。 文件下载如果下载的是文件夹,需要将文件夹压缩为zip再下载。所以需要提供有zip压缩功能 总结以上所有的功能都是从后端的角度分析的(毕竟我在小组中负责的是后端控制),那么根据正常的流程图,我们可以开始编写代码了。应该先实现宣传页中的注册登录功能,在实现资料分享的上传、搜索、预览和下载功能。由于我们的工程已经结束了,而且我也不可能一行代码一行代码的写在博客中,所以我会按板块来写后面的博客。

May 28, 2019 · 1 min · jiezi

Tshare校园资源共享平台网站开发二之主机浏览器访问虚拟机apache

上一篇博客地址:Tshare校园资源分享平台(网站开发一之环境搭建) 回顾上一篇博客我们已经在一个虚拟机上搭建好了apache+mysql+php的环境,并且在虚拟机的浏览器中成功的访问到了web站点中的index.php。 新内容本篇博客将会讲解如何在主机的浏览器中访问到虚拟机的apache服务,毕竟虚拟机流畅性不如主机,而且主机是Windows系统或mac os系统,可以方便地下载安装自己喜欢地浏览器(这里建议使用Chrome浏览器)。 让虚拟机和主机能够互ping前面说过,我选择的是VMware虚拟机,在VMware上实现虚拟机和主机通讯并不需要繁琐的步骤。 1.将虚拟机的网络连接模式设置为NAT模式(网络地址转换) 2.点击编辑,选择虚拟网络编辑器,点击右下角的更改设置,然后修改子网ip和子网掩码 3.将多余的网络移除,只剩下VMnet8 4.选择NAT模式(与虚拟机共享主机IP),在点击NAT设置,设置网管IP为192.168.10.2 5.将两个钩选中,然后点击DHCP设置 6.设置动态IP范围 7.打开网络适配器中的VMnet8属性 8.设置其ip地址和子网掩码 9.重启虚拟机,打开终端输入ifconfig查看虚拟机ip地址,并尝试在主机的命令行下ping这个ip 主机通过虚拟机ip访问虚拟机的apache服务centos系统的防火墙会禁止外网访问某些端口,除非让防火墙开放端口。当然seLinux也是一个让人非常头疼的东西,很多时候即使防火墙开发端口,仍然不能访问,原因就是selinux在搞鬼。所以首先我们就把selinux关闭了。 vim /etc/selinux/config#将SELINUX=enforcing改为SELINUX=disable#保存退出,重启虚拟机,开启apache服务,在主机浏览器中访问虚拟机ip 访问成功!(如果访问失败,可能是防火墙没有开启80端口,可以百度如何让防火墙开放端口的指令) 主机上连接mysql如果你的主机上下载mysql的图形操作界面(navicat for mysql),还可以在主机上远程连接虚拟机的mysql(当然前提是虚拟机开启了mysql服务) 此时连接会报错,告诉我们192.168.10.1这个ip地址无法远程连接到虚拟机数据库,需要对虚拟机数据库做一些更改 #登录mysql/var/mysql/bin/mysql -uroot -ppassword:此处输入密码mysql> use mysql;mysql> update user set host = '%' where user ='root';mysql> flush privileges;#重启mysql服务再次远程连接,即可连接到虚拟机的数据库。当然我这里直接使用了root用户登录,你可以创建一个新用户 总结虚拟机和主机能够通讯是关键,然后是绕过防火墙,就能达到我们的目的了。下一篇博客地址:Tshare校园资源分享平台(网站开发三之数据库连接)

May 28, 2019 · 1 min · jiezi

Tshare校园资源分享平台网站开发三之数据库连接

上一篇博客:Tshare校园资源分享平台(网站开发二之主机浏览器访问虚拟机apache) 新内容环境搭建、web站点访问和数据库连接是本次开发的三个最基础的前提,这篇博客之后我们将开始真正的开发之旅 php连接数据库在虚拟机上安装sublime text 3下载地址:http://www.sublimetext.com/3#复制到/mnt目录下,直接解压缩tar -jxvf sublime_text_3.tar.bz2#配置桌面快捷方式#1. 将解压缩后目录中的sublime_text.desktop复制到/usr/share/applications下#2. 修改/usr/share/applications/sublime_text.desktop#3. 将快捷方式复制到桌面,双击即可打开sublime编辑器cp /mnt/sublime_text_3/sublime_text.desktop /usr/share/applicationsvim /usr/share/applications/sublime_text.desktop#将Exec修改为/mnt/sublime_text_3/sublime_text#将icom修改为/mnt/sublime_text_3/Icon/48x48/sublime-text.png#保存退出 主机连接上虚拟机的数据库,并创建一个新的测试数据库test 编写Db.php连接数据库,编写test.php操作数据库Db.php<?php/** * 专门用来操作数据库的类,继承mysqli类 */class Db extends mysqli{ public function __construct() { $host = "192.168.10.31"; // 数据库的主机名称,此处也就是我们虚拟机的ip地址 $user = "root"; // 数据库用户名,我们使用root用户连接 $password = "fuhao520999"; // root用户的密码,在安装mysql时我们修改过 $dbname = "test"; // 连接的目标数据库名,为我们刚才创建的test数据库 parent::__construct($host, $user, $password, $dbname); }}?>test.php<?phpinclude_once("Db.php");$db = new Db();var_dump($db);?>主机浏览器访问 此时我们成功的在php中连接上数据库了。有一个我没想到的是,竟然不需要我配置mysqli的扩展,可能是之前编译安装php的时候已经把mysqli扩展安装了。 总结本次博客内容虽然不多,但是却很重要,如果有的朋友遇到了缺少mysqli扩展的错误,可以参考以下链接:http://www.jquerycn.cn/blog/p...当然我们不需要重新下载php的源代码,因为之前我们已经下载过了,直接到指定的目录找到扩展文件,编译安装即可。

May 28, 2019 · 1 min · jiezi

Python爬虫入门教程-8100-蜂鸟网图片爬取之三

1. 蜂鸟网图片-啰嗦两句前几天的教程内容量都比较大,今天写一个相对简单的,爬取的还是蜂鸟,依旧采用aiohttp 希望你喜欢爬取页面https://tu.fengniao.com/15/ 本篇教程还是基于学习的目的,为啥选择蜂鸟,没办法,我瞎选的。 一顿熟悉的操作之后,我找到了下面的链接https://tu.fengniao.com/ajax/ajaxTuPicList.php?page=2&tagsId=15&action=getPicLists 这个链接返回的是JSON格式的数据 page =2页码,那么从1开始进行循环就好了tags=15 标签名称,15是儿童,13是美女,6391是私房照,只能帮助你到这了,毕竟我这是专业博客 ヾ(◍°∇°◍)ノ゙action=getPicLists接口地址,不变的地方2. 蜂鸟网图片-数据有了,开爬吧import aiohttpimport asyncioheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36", "X-Requested-With": "XMLHttpRequest", "Accept": "*/*"}async def get_source(url): print("正在操作:{}".format(url)) conn = aiohttp.TCPConnector(verify_ssl=False) # 防止ssl报错,其中一种写法 async with aiohttp.ClientSession(connector=conn) as session: # 创建session async with session.get(url, headers=headers, timeout=10) as response: # 获得网络请求 if response.status == 200: # 判断返回的请求码 source = await response.text() # 使用await关键字获取返回结果 print(source) else: print("网页访问失败")if __name__=="__main__": url_format = "https://tu.fengniao.com/ajax/ajaxTuPicList.php?page={}&tagsId=15&action=getPicLists" full_urllist= [url_format.format(i) for i in range(1,21)] event_loop = asyncio.get_event_loop() #创建事件循环 tasks = [get_source(url) for url in full_urllist] results = event_loop.run_until_complete(asyncio.wait(tasks)) #等待任务结束 ...

May 28, 2019 · 2 min · jiezi

CENTOS7-高性能Linux集群-通过yum进行-haproxy配置-安装-使用HAProxy配置文件详解

照片参考:https://blog.csdn.net/weixin_... Haproxy配置 永久修改名字:便于区分虚拟机!Haproxy:hostnamectl set-hostname haproxyWeb1: hostnamectl set-hostname WEB1Web2:hostnamectl set-hostname WEB2Test:hostnamectl set-hostname test 1、haproxy安装并将过程截图yum list |grep haproxy:查看haproxyl列表,查询可能会花费较长时间! yum -y install haproxy:安装: [点击并拖拽以移动] 2、填写IP分配表:服务器角色 IP地址 Haproxy 192.168.1*8.128 Web1 192.168.1*8.137 Web2 192.168.1*8.138test 192.168.1*8.135 3、简答:说明haproxy配置文件中global、defaults、frontend、backend参数的作用?Global: 用于设置全局配置参数,属于进程级的配置,通常用操作系统配置相关 defaults: 默认参数的配置部分。在些部分设置的参数,默认会自动引用到下面的frontend, backend和listen部分 frontend: 用于设置接收用户请求的前端虚拟节点。frontend可以根据ACL规则直接指定要使用的后端backend backend: 用于设置集群后端服务集群的配置,也就是用来添加一组真实服务器,以处理前端用户的请求4、Haproxy配置并截图编辑/etc/haproxy/haproxy.cfg配置文件,配置内容如下:位置:/etc/haproxy/haproxy.cfgvim /etc/haproxy/haproxy.cfg global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon stats socket /var/lib/haproxy/stats defaults mode http log global option httplog option dontlognull ...

May 22, 2019 · 2 min · jiezi

CENTOS-7安装步骤apachetomcat8534windowsx86

1,全文可能比较详细(就是比较琐碎)(对新手比较友好)全部命令在行末!2,首先克隆一个VM虚拟机。以下这个操作出错率较高,防止不必要损失。建议在虚拟机上动手操作! 选择完整克隆: 克隆OK 3,如果忘记root密码。我在其他博客有写解决方法!确保你的CONNECT是连接状态!(不用PUTTY就无碍啦) 开始操作: 4,从WINDOWS桌面,直接拖拽apache-tomcat-8.5.34-windows-x86.zip到VM虚拟机。 如图: 我们先找到他的位置: find / -name 'apache-tomcat-8.5.34-windows-x86*' 进入此目录,pwd记录下路径:[root@localhost Desktop]# pwd/home/yuanlai/Desktop5,将其拷贝到/usr/local/下。(记得将被拷贝的那个删除掉。节省磁盘空间。)已经删除:6,解压缩:unzip apache-tomcat-8.5.34-windows-x86.zip 同样记得删除: 最好重命名一下:改为tomcat。这样比较好找。 7,cd bin 不是 cd /bin 这两个完全不同的! 一个.bat用于WINDOWS。 另外一个.sh用于Linux。 查看权限:没有执行权限。 加上就好啦: chmod 777 startup.sh 但是,又出现: Catalina方便记忆: 改完之后就OK啦! 8,连接测试:默认是8080.要想在WINDOWS访问。要开放一下这个8080端口。![在这里插入图片描述](https://img-blog.csdn.net/20181004142057221?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg1OTI4MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) firewall-cmd --zone=public --add-port=8080/tcp --permanent在防火墙中新增8080端口 firewall-cmd --reload重新加载防火墙,这样开启的8080端口才生效 ![在这里插入图片描述](https://img-blog.csdn.net/20181004142110401?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg1OTI4MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 9,启用:![在这里插入图片描述](https://img-blog.csdn.net/20181004142117355?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg1OTI4MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 然而开启不了。还要再写个文件。/etc/init.d/tomcat。/etc/init.d:存放着很多的服务程序(当然都是可执行的)init最初的意思。![在这里插入图片描述](https://img-blog.csdn.net/20181004142128763?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjg1OTI4MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 复制到具有很多服务的/etc/init.d里面。Vim编辑即可。如图,写入:# chkconfig: 112 63 37description: tomcat server init scriptSource Function Library. /etc/init.d/functions JAVA_HOME=/usr/local/jdk/CATALINA_HOME=/usr/local/tomcat 编辑完成后,再次编辑打开查看一下确认。赋予权限。 10, OK! 11,history 命令仅供参考。我也不知道哪个是必不可少的。 History可以查看最近500条命令! [root@localhost bin]# history 1 find / -name 'apache-tomcat-8.5.34-windows-x86*' 18 cd /home/yuanlai/Desktop/ 19 pwd 22 cd /usr/local/ 23 ls 27 cp /home/yuanlai/Desktop/apache-tomcat-8.5.34-windows-x86.zip ./ 28 ls 29 cd /home/yuanlai/Desktop/ 30 rm apache-tomcat-8.5.34-windows-x86.zip apache-tomcat-8.5.34-windows-x86.zip 31 ls 32 cd /usr/local/ 33 ls 34 unzip apache-tomcat-8.5.34-windows-x86.zip 35 ls 36 rm apache-tomcat-8.5.34-windows-x86.zip 37 ls 38 mv apache-tomcat-8.5.34 tomcat 39 ls 43 cd tomcat/ 44 ls 5 7 cd bin 61 ls 62 ./startup.sh 63 ls -al 64 chmod 777 startup.sh 65 ls -al 67 ./startup.sh 69 chmod 777 catalina.sh 70 ./startup.sh 72 firewall-cmd --zone=public --add-port=8080/tcp --permanent 73 firewall-cmd --reload 76 service tomcat start 77 cp -p /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat 78 vim /etc/init.d/tomcat 79 chmod 755 /etc/init.d/tomcat 80 chkconfig --add tomcat 81 chkconfig tomcat on 82 service tomcat start 83 service tomcat restart 84 service tomcat stop 85 service tomcat start ...

May 22, 2019 · 1 min · jiezi

清除CentOS-6或CentOS-7上的磁盘空间

清除CentOS 6或CentOS 7上的磁盘空间以下是清除CentOS 6或CentOS 7服务器上的磁盘空间的快速命令。首先需要安装yum-utils包: yum -y install yum-utils1.修剪日志文件find /var -name "*.log" ( ( -size +50M -mtime +7 ) -o -mtime +30 ) -exec truncate {} --size 0 ;这将截断*.log卷/var上超过7天且超过50M或超过30天的所有文件。 2.清理YUM缓存清理yum缓存很简单: yum clean all请注意,上面的命令不会删除yum已安装的与之相关的所有文件。您可能希望释放禁用或删除的存储库中的孤立数据占用的空间: rm -rf /var/cache/yum此外,当您意外地yum通过普通用户(忘记sudo)时,yum将创建用户缓存。所以我们也删除它: rm -rf /var/tmp/yum-*3.删除孤儿包检查现有的孤儿包 package-cleanup --quiet --leaves --exclude-bin确认删除孤立包现在,如果对上一个命令给出的建议感到满意,请运行: package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y4.删除 WP CLI 缓存的 WordPress 下载每次设置新的 WordPress 网站时,WP CLI都会保存 WordPress 存档。您可以通过以下命令删除这些缓存: rm -rf /root/.wp-cli/cache/*rm -rf /home/*/.wp-cli/cache/*5.删除旧内核在删除旧内核之前,您可能希望先重启,以便从最新内核启动。因为你无法移除当前引导系统的旧内核???? ...

May 21, 2019 · 1 min · jiezi

8通过Python连接Docker进行编程

Docker其实有两个重要的概念:"Docker客户端"和"Docker守护进程" Docker服务端提供了一系列REST API (Docker Remote API),当我们敲docker命令时实际上是通过API和Docker服务端进行交互的。我们可以自己编写Docker客户端,调用REST API 和Docker服务端进行交互。 Docker官方提供了Python和Go的SDK,当然我们可以自己用熟悉的语言调用REST API的方式。 官方文档地址: https://docs.docker.com/devel... Docker官方提供的连接方式: unix:///var/run/docker/socktcp://host:portfd://docketfd默认不支持远程访问 配置远程访问 vi /usr/lib/system/docker.service// 把原本是下面这一行注释掉ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock// 添加如下这一行ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock// 然后保存后,重启Dockersystemctl daemon-reloadsystemctl restart docker// 重启之后查看一下docker的守护进程,确认是否配置成功ps -ef | grep dockernetstat -anput | grep docker// 开启远程访问端口iptables -I INPUT -p tcp --dport 2375 -j ACCEPT // 确保防火墙放行2375端口// 阿里云的ECS上部署的Docker,还需在安全组规则添加入方向、tcp、2375端口的开通// 使用本地测试连接通过Python连接Docker测试 # 通过pip安装docker sdkpip install dockerimport docker# 需要修改对应的Docker服务器IP地址client = docker.DockerClient(base_url='tcp://Docker服务器的IP:2375')# 获取所有镜像列表,相当于docker cli方式执行 docker imagesimages = client.images.list()print(images) # 打印结果: [<Image: 'centos:httpd'>, <Image: 'centos:latest'>]# 获取镜像idprint(images[0].id) # 打印结果:sha256:3ac6dda7648810e447c94fb9f919f6c2cfa97410935e60894ef94ea6e5e4d2d3# 这里发现镜像id比直接使用docker cli方式执行 docker images获取的镜像id长,# docker里面的各种镜像id、容器id都只要能确定唯一性就行了这里只是通过自己写的程序连接Docker进行编程的一个实例,可以帮助我们理解Docker的管理工具的工作原理。 ...

May 18, 2019 · 1 min · jiezi

1CentOS7上安装Docker

Docker越来越流行,这是Docker起步第一篇,跟着一起来吧安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2设置docker的yum仓库 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo安装之前可以查看所有仓库中所有的docker版本 sudo yum list docker-ce --showduplicates | sort -r不想选的话,就默认安装 sudo yum install docker-ce -y启动docker sudo systemctl start docker设置开机启动 sudo systemctl enable dockerdocker安装时默认创建了docker用户组,将普通用户加入docker用户组就可以不使用sudo来操作docker了。 sudo usermod -aG docker 用户名改变当前用户的有效群组 newgrp - docker文章首发至我的博客:http://www.mi360.cn/articles/6

May 18, 2019 · 1 min · jiezi

2配置阿里云的docker镜像源

仓库镜像,可以理解为别人帮你制作好的环境。让你可以直接使用。Docker镜像仓库地址: https://hub.docker.com 由于有墙,所以配置国内镜像,我们使用阿里云的镜像地址 https://dev.aliyun.com/search... // 配置使用阿里云镜像加速器sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://md4nbj2f.mirror.aliyuncs.com"]}EOF// 重载配置文件sudo systemctl daemon-reload // 重启docker sudo systemctl restart docker 文章链接:http://www.mi360.cn/articles/7

May 18, 2019 · 1 min · jiezi

工具资源系列之给-windows-虚拟机装个-centos

前面我们已经介绍了如何在 Windows 宿主机安装 VMware 虚拟机,这节我们将利用安装好的 VMware 软件安装 centos 系统. 前情回顾由于大多数人使用的 Windows 电脑而工作中可能需要一台 centos 电脑,如果条件允许的话,一般公司会有相应的测试服务器. 但是,如果是个人使用的话,公司的测试服务器就不能轻易做各种实验了,毕竟测试服务器是大家公用的,万一不小心搞坏了影响了他人的使用就不好交代了. 因此,最好能够有一台私有的 centos 计算机,可以随意鼓捣还不用担心影响到其他人,这种情况下虚拟机提供了很好的解决思路. 虚拟机是相对宿主机而言较为独立的计算机,即使不小心把虚拟机搞崩了也不要紧,重新装下虚拟机就好了,也不会损坏真实的宿主机. 而我们介绍的虚拟机软件是 VMware ,跨平台支持三大主流操作系统,因此无论是 Windows 还是 Mac 或者 Linux 系统都可以借壳生蛋,继续创造出不同的操作系统. 给 windows 装个 vmware 虚拟机给 mac 装个 vmware 虚拟机下载镜像centos 操作系统下载: https://www.centos.org/download/安装 centos 操作系统需要镜像文件,寻找镜像文件最简单的方法是 centos 自己的官网,因此我们直接去官方看一下吧! 这里提供了 DVD ISO 和 Minimal ISO 两种类型,普通用户推荐选择前一种标准版,开发用户建议选择后一种最小版. 标准版功能比较齐全,最小版保证最小依赖,后续缺啥填啥,比较灵活节省空间内存. 按照实际需要选择适合自己的操作系统,这里选择的是 centos7.6 ,然后选择合适的下载方式(直接下载或下载种子链接). 建议选择镜像服务器下载,如果直接下载官网的地址,速度感人,时间有点长. 依次选择 list of current mirrors -> http://mirrors.aliyun.com/centos/ -> 7.6.1810/ -> isos/ -> x86_64/ -> CentOS-7-x86_64-Minimal-1810.iso 选择合适的版本点击下载.镜像文件: CentOS-7-x86_64-Minimal-1810.iso ,其中后缀是 .iso ,千万不要解压! 不要解压! 不要解压! ...

May 15, 2019 · 1 min · jiezi

Centos-配置多个虚拟IP

Centos 配置多个虚拟IP临时设置ifconfig enp2s0:3 192.168.3.152 netmask 255.255.255.0 up永久生效TYPE=EthernetBOOTPROTO=noneNAME=enp2s0DEVICE=enp2s0HWADDR=40:8d:5c:bc:f4:d8ONBOOT=yesIPADDR0=192.168.3.200PREFIX0=24GATEWAY0=192.168.3.254IPADDR1=192.168.3.164PREFIX1=24IPADDR2=192.168.3.250PREFIX2=24IPADDR3=192.168.3.152PREFIX3=24注意: (1)只有在配置多个IP的时候,IPADDR后面才能跟随数字 (2)永久生效也可以通过网卡IP别名的方式实现添加,就是复制网卡配置为别名,重命名为网卡别名的配置,并修改配置,然后重启网络。 缺点就是相对上面的方式网卡配置文件多了,配置相对繁琐一些。 (3)重启网卡命令:service network restart

May 14, 2019 · 1 min · jiezi

nfs-文件共享搭建

1.安装rpcbind ,nfs-tools参考该链接rpm -qa rpcbind nfs-tools//检查是否已安装次工具 yum install rpcbind nfs-tools -y yum install net-tools lsof -y //安装端口检查和服务的工具 2.启动rpcbindsystemctl status rpcbindsystemctl start rpcbindlsof -i :111 //查看rpcbind 111端口是否开启netstat -tulnp | grep rpcbind //检查rpcbind 服务2.1查看nfs服务向rpc注册的端口信息 rpcinfo -p localhost 此时nfs 还没开启,所以没太多的注册端口信息 检查rpcbind 是否开机启动systemctl is-enabled rpcbind 3.开启nfssystemclt start nfs systemclt status nfs 3.1 创建共享目录mkdir /datachown -R nfsnobody:nfsnobody /data3.2 服务端nfs 配置vim /etc/exprots/data 192.168.100.0/24(rw,sync)`ps:` 该ip 为nfs客户端的ip `exports -rv` 让配置生效`cat /var/lib/nfs/etab` 查看nfs 开始的参数,包含默认的参数3.3 测试服务端能否自己挂载mkdir /data2mount -t nfs 192.168.100.128:/data /data2df -h 3.4查看nfs 服务器连接了哪些客户端cat /var/lib/nfs/rmtab ...

May 11, 2019 · 1 min · jiezi

提高性能MySQL-读写分离环境搭建一

这是松哥之前一个零散的笔记,整理出来分享给大伙! MySQL 读写分离在互联网项目中应该算是一个非常常见的需求了。受困于 Linux 和 MySQL 版本问题,很多人经常会搭建失败,今天松哥就给大伙举一个成功的例子,后面有时间再和大家分享下使用 Docker 搭建环境,那样就 100% 成功了。 CentOS 安装 MySQL自己玩 Linux 松哥一般首选 Ubuntu,不过公司里边使用一般还是 CentOS 为主,因此这里松哥就以 CentOS 为例来向大家演示整个过程,今天这篇文章主要来看看 MySQL 的安装。 环境: CentOS7MySQL5.7具体的安装步骤如下: 检查是否安装了 mariadb,如果已经安装了则卸载:yum list installed | grep mariadb如果执行结果如下,表示已经安装了 mariadb,将之卸载: mariadb-libs.x86_64 1:5.5.52-1.el7 @anaconda卸载命令如下: yum -y remove mariadb* 接下来下载官方提供的 rpm 包如果 CentOS 上没有 wget 命令,首先通过如下命令安装 wget: yum install wget然后执行如下操作下载 rpm 包: wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm下载完成后,安装rpm包:rpm -ivh mysql57-community-release-el7-11.noarch.rpm检查 MySQL 的 yum 源是否安装成功:yum repolist enabled | grep "mysql.*-community.*"执行结果如下表示安装成功: ...

May 9, 2019 · 1 min · jiezi

零基础入门Python数据分析只需要看懂这一张图附下载链接

摘要在做数据分析的过程中,经常会想数据分析到底是什么?为什么要做数据数据分析?数据分析到底该怎么做?等这些问题。对于这些问题,一开始也只是有个很笼统的认识。 最近这两天,读了一下早就被很多人推荐的《谁说菜鸟不会数据分析》这本书。发现对这些问题讲的还是比较透彻,随后对这本书的核心内容做了一个笔记。 说明:笔记主要以思维导图的方式呈现。 目录 一、数据分析概述数据分析指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。 二、确定分析目的和思路主要讲数据分析的方法论,如何利用管理学、营销学等知识从宏观上指导数据分析的过程,为的是明确分析的目的和思路,以免南辕北辙,分析了很久却不能解决要面临的问题。 其中PEST用于对行业的宏观环境分析,5W2H可以用于用户的行为、业务问题分析、逻辑树可以将某业务问题拆分为子问题进行专题分析、4P是一种营销理论,用来信进行公司产品的运营情况分析、用户行为分析可以用来分析各级指标之间的逻辑关系。 三、如何准备数据“巧妇难为无米之炊”。数据就好比谚语中的米。做为数据分析师更是应该知道“米”的两个方面。第一:“米的构造”「理解数据」,第二“米”从哪里「数据来源」。 四、数据预处理在做数据分析之前需要将数据清洗、加工、转换等一些步骤以使得数据成为可以用于建模分析的规整数据。 五、数据分析方法(微观)当完成数据的处理之后,现在需要真正的从细节上对数据进行分析,并且在微观上也有一套比较固定的数据分析方法可供参考使用。 六、可视化图表及美化当数据分析的工作完成之后,需要对分析结果进行可视化展示及美化。 七、数据分析报告数据分析报告是对整个数据分析过程的一个总结和呈现。通过报告,把数据分析的起因、过程、及结果完整的展现出来、提供给决策者参考。 八、总结以上是对整本书做的一个核心内容精炼,并生成了完整版思维导图及内容的PDF版本。由于长图过大,利用动图展示: 完整版内容gif: 完整版思维导图gif: 以上Pdf内容及完整版思维导图获取: 1、关注公众号「Python专栏」,后台回复:菜鸟数据分析,即可获得完整版pdf。

May 7, 2019 · 1 min · jiezi

docker在centos上安装beego及部分理解

诚如前面一篇文章,是简单的布置了golang的一个demo,再次布beego 1、写Dockerfile# docker build# Version 1.0FROM centosMAINTAINER yanyue@78dk.comENV GOROOT /usr/local/goENV GOPATH /data/gopathENV PATH $GOROOT/bin:$PATHADD go/ /usr/local/goRUN mkdir -p /data/gopathADD src/ /data/gopath/srcADD pkg/ /data/gopath/pkgWORKDIR /data/gopath/src/lotteryRUN cd /data/gopath/src/lotteryRUN go build -o server.sh main.goRUN cp /data/gopath/src/lottery/server.sh /usr/bin/server.shRUN chmod 777 /usr/bin/server.shENTRYPOINT /usr/bin/server.sh注最后一行不能使用RUN和CMD,不然会将启动日志输出到命令行,加&会导致docker内server.sh未启动(血泪史) 2、创建镜像docker build -t golang:v1 .3、创建容器docker run -itd -p 80:8080 golang:v1 /bin/bash注端口号绑定:前面为本机的端口,后面为容器端口 4、查看容器docker ps注 此命令后面加上-a就能查看所有状态的镜像 坑点:坑点已经填平了,按照上面的步骤,不会错(泪目)

May 6, 2019 · 1 min · jiezi

SpringBoot整合MyBatis并使用Redis作为缓存组件的Demo

本博客 猫叔的博客,转载请申明出处本系列教程为HMStrange项目附带。 Auth:HMStrange-TIAN e-mail:zhangqihao@hnu.edu.cn 历史文章如何在VMware12安装Centos7.6最新版Centos7.6安装Java8Centos7.6安装MySQL+Redis(最新版)SpringBoot+MySQL+MyBatis的入门教程SpringBoot+Redis的入门教程Centos7.6安装4.0.8MongoDb教程安装流程1、安装docker & redis如果不清楚docker是什么,请查看docker的文档和简介,这里给出docker的安装过程 1.1 安装虚拟机(如果有远程服务器的,请略过此步骤)本文推荐VMvare,尽管vmvare比较臃肿,但是对于新手比较友好,配置很简单从官网下载VMvare,官网地址:https://www.vmware.com/cn.html从官网下载centos镜像文件,官网地址:https://www.centos.org/download/打开VMvare创建虚拟机,导入镜像系统Vmvare会自动配置,根据提示输入账户和密码之后,等待自动配置即可 1.2 打开虚拟机的terminal,输入ifconfig查看ip地址,如图: 1.3 使用远程工具连接服务器,本文推荐使用Cygwin/SmartTTY/Putty/GitBash打开连接工具,使用ssh root@192.168.xx.xx,登陆服务器即可操作 1.4 安装docker1.4.1 检查内核版本,必须是3.10及以上uname -r1.4.2 安装dockeryum install docker输入 y 确认安装 1.4.3 启动dockersystemctl start docker 查看docker时候安装成功 docker -v若有提示如:Docker version 1.12.6, build 3e8e77d/1.12.6,则安装成功 设置开机启动docker systemctl enable docker如果想停止docker(慎重!!!) systemctl stop docker1.4.4 常见docker命令以及操作a)镜像操作 检索镜像 docker search keyword例如:docker search mysql拉取镜像 docker pull iamges例如:docker pull registry.docker-cn.com/library/mysql查看镜像列表 docker images删除镜像 docker rmi image(镜像)-idb) 容器操作根据拉取的镜像启动容器(可以docker images查看已有的镜像,启动需要的镜像) docker run --name mymysql -d mysql:latest--name后面是容器的名字 -d 表示后台运行 latest是tag标签,表示最新版本查看运行中的容器、 ...

April 29, 2019 · 1 min · jiezi

docker的centos安装操作及部分理解

前两天在本地安装了docker,熟悉了下命令之后,还是忍不住到centos上进行了一波golang镜像部署,以下是我的操作步骤和一些想法。准备:一台安装了docker的可联网的centos服务器 1、不多说,写Dockerfile(只想体验dockerfile的操作流程,所以选择了yum的安装方式)# docker build# Version 1.0#FROM centos#MAINTAINER yancoder@163.com#RUN yum install -y epel-releaseRUN yum install -y docker-ioRUN yum provides '*/applydeltarpm'RUN yum install deltarpm -yRUN yum install -y gccRUN yum install -y goRUN mkdir -p /data/gopathENV GOPATH /data/gopathADD src/ /data/gopath/srcADD pkg/ /data/gopath/pkgADD test.go /data/gopath/test.goWORKDIR /data/gopathRUN go build -o server.bin test.go#CMD /data/gopath/server.bin注释别问我在gcc和go安装之前为什么还有四个安装步骤,我特么也不知道,反正就是报错了提示要我安装 源码安装如下 FROM centosMAINTAINER yancoder@163.comENV GOROOT /usr/local/goENV GOPATH /data/gopathENV PATH $GOROOT/bin:$PATHRUN yum install -y curlRUN curl -s -o go.tar.gz https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gzRUN tar --remove-files -C /usr/local/ -zxf go.tar.gzRUN mkdir -p /data/goRUN ln -sv /usr/local/go/bin/go /binADD src/ /data/gopath/srcADD pkg/ /data/gopath/pkgADD test.go /data/gopath/test.goWORKDIR /data/gopathRUN go build -o server.bin test.goCMD /data/gopath/server.bin2、创建镜像(注意最后面有一个小数点)docker build -t golang:v1.0 .3、创建容器,如果要绑定端口,也在这一步进行docker run -d -p 80:80 golang:v1.04、在外部浏览器访问一下~ ...

April 28, 2019 · 1 min · jiezi