文章 84
评论 0
浏览 2877
Centos与Ubuntu初始化shell脚本

Centos与Ubuntu初始化shell脚本

#!/bin/bash # #******************************************************************** #Author:zhangzhuo #QQ: 1191400158 #Date: 2020-12-18 #FileName:reset_Linux_OS_v4.sh #URL: [https://www.zhangzhuo.ltd](https://www.zhangzhuo.ltd) #Description:The test script #Copyright (C): 2020 All rights reserved #******************************************************************** Centos(){ centos_Version(){ Version=`grep -Eo "[0-9].[0-9]" /etc/redhat-release | tr '.' '%' | tr '\n' % |cut -d% -f 1` #Version=`se....

6-Nginx 反向代理功能

6-Nginx 反向代理功能

反向代理:反向代理也叫reverse proxy,指的是代理外网⽤户的请求到内部的指定web服务器,并将数据返回给⽤户的⼀种方式,这是⽤的比较多的⼀种方式。 Nginx除了可以在企业提供⾼性能的web服务之外,另外还可以将本身不具备的请求通过某种预定义的协议转发⾄其它服务器处理,不同的协议就是Nginx服务器与其他服务器进⾏通信的⼀种规范,主要在不同的场景使⽤以下模块实现不同的功能: ngx_http_proxy_module: 将客户端的请求以http协议转发⾄指定服务器进⾏处理。 ngx_stream_proxy_module:将客户端的请求以tcp协议转发⾄指定服务器处理。 ngx_http_fastcgi_module:将客户端对php的请求以fastcgi协议转发⾄指定服务器处理。 ngx_http_uwsgi_module: 将客户端对Python的请求以uwsgi协议转发⾄指定服务器处理。 逻辑调⽤关系: ⽣产环境部署结构: 6.1:实现http反向代理: 要求:将⽤户对域www.zhangzhuo.org 的请求转发值后端服务器处理,官⽅⽂档: https://n....

7-系统参数优化

7-系统参数优化

7.1 系统参数优化 #默认的Linux内核参数考虑的是最通用场景,不符合⽤于⽀持高并发访问的Web服务器的定义,根据业务特点来进⾏调整,当Nginx作为静态web内容服务器、反向代理或者提供压缩服务器的服务器时,内核参数的调整都是不同的,此处针对最通⽤的、使Nginx⽀持更多并发请求的TCP⽹络参数做简单的配置,修 改/etc/sysctl.conf来更改内核参数 net.ipv4.ip_nonlocal_bind = 1 #允许⾮本地IP地址socket监听 net.ipv4.ip_forward = 1 #开启IPv4转发 net.ipv4.tcp_timestamps = 0 #是否开启数据包时间戳 net.ipv4.tcp_tw_reuse = 0 #端⼝复⽤ net.ipv4.tcp_tw_recycle = 0 #快速回收TIME_WAIT状态,⽤于⼤量TIME_OUT场景 fs.file-max = 1000000 #表示单个进程较⼤可以打开的句柄数 net.ipv4.tcp_tw_reuse = 1 #参数设置为 1 ,表示允许将TIME_WAIT状态的socket重....

5-Nginx Rewrite相关功能

5-Nginx Rewrite相关功能

Nginx服务器利⽤ngx_http_rewrite_module 模块解析和处理rewrite请求,此功能依靠 PCRE(PerlCompatible Regular Expressions),因此编译之前要安装PCRE库,rewrite是nginx服务器的重要功能之⼀,⽤于实现URL的重写,URL的重写是⾮常有⽤的功能,⽐如它可以在我们改变⽹站结构之后,不需要客户端修改原来的书签,也⽆需其他⽹站修改我们的链接,就可以设置为访问,另外还可以在⼀定程度上提高网站的安全性。 http://www.pcre.org/ #PCRE官⽅站点 5.1 ngx_http_rewrite_module模块指令 https://nginx.org/en/docs/http/ngx_http_rewrite_module.html 5.1.1 if指令 ⽤于条件匹配判断,并根据条件判断结果选择不同的Nginx配置,可以配置在server或location块中进行配置,Nginx的if语法仅能使⽤if做单次判断,不⽀持使⽤if else或者if elif这样的多重判断,⽤法如下: if (条件匹配) { ....

4-Nginx 高级配置

4-Nginx 高级配置

4.1 Nginx 状态页 基于nginx模块ngx_http_stub_status_module实现,在编译安装nginx的时候需要添加编译参数--with-http_stub_status_module,否则配置完成之后监测会是提示语法错误。 #配置示例: location /nginx_status { stub_status; allow 192.168.10.1; allow 127.0.0.1; deny all; } #状态⻚⽤于输出nginx的基本状态信息: Active connections: 2 server accepts handled requests 2 2 1 #上面三个数字分别对应accepts,handled,requests三个值 Reading: 0 Writing: 1 Waiting: 1 #Active connections: 当前处于活动状态的客户端连接数,包括连接等待空闲连接数。 #accepts:统计总值,Nginx⾃启动后已经接受的客户端请求的总数。 #handled:统计总值,Nginx⾃启动后已经处理完成的客户端请求的总数,....

3-Nginx核心配置详解

3-Nginx核心配置详解

3.1 全局配置 [16:08:57 root@centos8 ~]#grep -v "#" /apps/nginx/conf/nginx.conf | grep -v "^$" user nginx [nginx]; #启动nginx工作进行的用户和组 worker_processes [number|auto]; #启动nginx工作进程的数量,可以写个数,也可以写auto自动,系统有几个cpu内核自动开启几个工作进程 worker_cpu_affinity 0001 0010 0100 1000; #将Nginx⼯作进程绑定到指定的CPU核⼼,默认Nginx是不进⾏进程绑定的,绑定并不是意味着当前nginx进程独占以⼀核⼼CPU,但是可以保证此进程不会运⾏在其他核⼼上,这就极⼤减少了nginx的⼯作进程在不同的cpu核⼼上的来回跳转,减少了CPU对进程的资源分配与回收以及内存管理等,因此可以有效的提升nginx服务器的性能。可以写auto自动绑定 #错误⽇志记录配置,语法:error_log file [debug | info | notice | warn | error |....

2-Nginx基础

2-Nginx基础

Nginx:engine X ,2002年由毕业于俄罗斯国立莫斯科鲍曼科技⼤学的⼯程师伊⼽尔·⻄索夫(IgorSysoev)开始开发,2004年开源,2019年3⽉11⽇,Nginx公司被F5 Networks以6.7亿美元收购,Nginx官⽹:http://nginx.org,Nginx 商业版为Nginx Plus:https://www.nginx.com/products/nginx/ Nginx 则是免费的、开源的、⾼性能的HTTP和反向代理服务器、邮件代理服务器、以及TCP/UDP代理服务器 解决C10K问题(10K Connections)https://blog.csdn.net/chinawangfei/article/details/102780959 nginx的其它的⼆次发⾏版: Tengine:由淘宝网发起的Web服务器项⽬。它在Nginx的基础上,针对⼤访问量⽹站的需求,添加了很多⾼级功能和特性,Tengine的性能和稳定性已经在⼤型的⽹站如淘宝⽹,天猫商城等得到了很好的检验,它的最终⽬标是打造⼀个⾼效、稳定、安全、易⽤的Web平台,从2011年12⽉开始,....

1-Web服务基础介绍

1-Web服务基础介绍

正常情况下的单次web服务访问流程 1.1 互联网发展历程回顾 1993年3⽉2⽇,中国科学院⾼能物理研究所租⽤AT&T公司(美国电话电报公司)的国际卫星信道建⽴的接⼊美国SLAC国家实验室的64K专线正式开通,成为我国连⼊Internet的第⼀根专线。 http://www.ihep.cas.cn/kxcb/kpcg/jsywl/201407/t20140714_4156699.html 1.2 web服务介绍 Netcraft公司于1994年底在英国成⽴,多年来⼀直致⼒于互联⽹市场以及在线安全⽅⾯的咨询服务,其中在国际上最具影响⼒的当属其针对⽹站服务器,域名解析/主机提供商,以及SSL市场所做的客观严谨的分析研究。 https://news.netcraft.com/ 1.2.1 Apace-早期的web服务端 Apache起初由美国的伊利诺伊⼤学⾹槟分校的国家超级计算机应⽤中⼼开发,⽬前经历了两⼤版本分别是1.X和2.X,其可以通过编译安装实现特定的功能,⽬前⽀持三种不同的MPM(multi-processingmodule,多进程处理模块,官⽅⽹站:http://w....

6-Tomcat 性能优化

6-Tomcat 性能优化

6 Tomcat 性能优化 在目前流行的互联网架构中,Tomcat在目前的网络编程中是举足轻重的,由于Tomcat的运行依赖于JVM,从虚拟机的角度把Tomcat的调整分为外部环境调优 JVM 和 Tomcat 自身调优两部分 6.1 JVM组成 [15:53:34 root@tomcat1 tomcat]#java -version java version "1.8.0_281" Java(TM) SE Runtime Environment (build 1.8.0_281-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode) 6.1.1 JVM组成 JVM 组成部分 类加载子系统: 使用Java语言编写.java Source Code文件,通过javac编译成.class Byte Code文件。class loader类加载器将所需所有类加载到内存,必要时将类实例化成实例 运行时数据区: 最消耗内存的空间,需要优化 执行引擎: 包括JIT (JustInTimeCompiler)即时....

5-session 共享服务器

5-session 共享服务器

5 session 共享服务器 5.1 msm 介绍 msm(memcached session manager)提供将Tomcat的session保持到memcached或redis的程序,可以实现高可用。 项目早期托管在google code,目前在Github github网站链接: https://github.com/magro/memcached-session-manager 支持Tomcat的 6.x、7.x、8.x、9.x Tomcat的Session管理类,Tomcat版本不同 memcached-session-manager-2.3.2.jar memcached-session-manager-tc8-2.3.2.jar Session数据的序列化、反序列化类 官方推荐kyro 在webapp中WEB-INF/lib/下 驱动类 memcached(spymemcached.jar) Redis(jedis.jar) 5.2 安装 参考链接: https://github.com/magro/memcached-session-mana....

4-Memcached

4-Memcached

4 Memcached 4.1 NoSQL介绍 NoSQL是对 Not Only SQL、非传统关系型数据库的统称。 NoSQL一词诞生于1998年,2009年这个词汇被再次提出指非关系型、分布式、不提供ACID的数据库设计模式。 随着互联网时代的到来,数据爆发式增长,数据库技术发展日新月异,要适应新的业务需求。 而随着移动互联网、物联网的到来,大数据的技术中NoSQL也同样重要。 数据库排名:https://db-engines.com/en/ranking NoSQL 分类 Key-value Store k/v数据库 性能好 O(1) , 如: redis、memcached Document Store 文档数据库 mongodb、CouchDB Column Store 列存数据库,Column-Oriented DB HBase、Cassandra,大数据领域应用广泛 Graph DB 图数据库 Neo4j Time Series 时序数据库 InfluxDB、Prometheus 4.2 Memcached Memcached 只支持能序....

3-tomcat会话(session)复制集群

3-tomcat会话(session)复制集群

3 Tomcat Session Replication Cluster Tomcat 官方实现了 Session 的复制集群,将每个Tomcat的Session进行相互的复制同步,从而保证所有Tomcat都有相同的Session信息. 3.1 配置说明 官方文档:https://tomcat.apache.org/tomcat-8.5-doc/cluster-howto.html <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> <Channel className="org.apache.catalina.tribes.group.GroupChannel".....

2-结合反向代理部署tomcat

2-结合反向代理部署tomcat

2 结合反向代理实现tomcat部署 2.1 常见部署方式介绍 standalone模式,Tomcat单独运行,直接接受用户的请求,不推荐。 反向代理,单机运行,提供了一个Nginx作为反向代理,可以做到静态由nginx提供响应,动态jsp代理给Tomcat LNMT:Linux + Nginx + MySQL + Tomcat LAMT:Linux + Apache(Httpd)+ MySQL + Tomcat 前置一台Nginx,给多台Tomcat实例做反向代理和负载均衡调度,Tomcat上部署的纯动态页面更适合 LNMT:Linux + Nginx + MySQL + Tomcat 多级代理 LNNMT:Linux + Nginx + Nginx + MySQL + Tomcat 2.2 利用 nginx 反向代理实现全部转发置指定同一个虚拟主机 2.2.1 配置说明 利用nginx反向代理功能,实现 4.1 图(2)的代理功能,将用户请求全部转发至指定的同一个tomcat主机 利用nginx指令proxy_pass 可以向后端服务器转发请求报....

1-Tomcat 基础功能

1-Tomcat 基础功能

1 Tomcat 基础功能 1.1 JDK 1.1.1 JDK和JRE Java SE API: Java 基础类库开发接口 JRE:Java Runtime Environment缩写,指Java运行时环境, 包含 JVM + Java核心类库 JDK:Java Development Kit,即 Java 语言的软件开发工具包,JDK协议基于 JRL(JavaResearchLicense)协议 1.1.2 Oracle JDK版本 收费 从2019年1月份开始,Oracle JDK 开始对 Java SE 8 之后的版本开始进行商用收费,确切的说是8u201/202 之后的版本。如果你用 Java 开发的功能如果是用作商业用途的,如果还不想花钱购买的话,能免费使用的最新版本是 8u201/202。当然如果是个人客户端或者个人开发者可以免费试用Oracle JDK 所有的版本。 发版方式 在 JDK 9 发布之前,Oracle 的发版策略是以特性驱动的,只有重大的特性改变才会发布大版本,比如JDK 7 到 JDK 8,中间会发多个更新版本。而从 JDK 9 开始变为以时间驱动的......

2-LVS实例

2-LVS实例

4 LVS实战案例 4.1 LVS-NAT模式案例 共四台主机 一台: internet client:172.16.10.100/24 GW:无 仅主机 一台:lvs eth1 仅主机 172.16.10.81/24 eth0 NAT 192.168.10.81/24 两台RS: RS1: 192.168.10.71/24 GW:192.168.10.81 NAT RS2: 192.168.10.71/24 GW:192.168.10.81 NAT 配置过程: #网络环境自行配置 [11:41:42 root@sr1 ~]#curl 127.0.0.1 sr1.zhanzghuo.org [11:41:45 root@sr2 ~]#curl 127.0.0.1 sr2.zhanzghuo.org [11:42:48 root@lvs ~]#cat /etc/sysctl.conf net.ipv4.ip_forward=1 [11:45:10 root@lvs ~]#sysctl -p #添加集群调度算法加权轮询wrr [11:44:36 root@lvs ~]#ipvsadm ......

1-LVS基础

1-LVS基础

1 Linux Virtual Server简介 1.1 LVS介绍 LVS:Linux Virtual Server,负载调度器,内核集成,章文嵩(花名 正明), 阿里的四层SLB(ServerLoad Balance)是基于LVS+keepalived实现 LVS是全球最流行的四层负载均衡开源软件,由章文嵩博士(当前阿里云产品技术负责人)在1998年5月创立,可以实现LINUX平台下的负载均衡。 LVS 官网:http://www.linuxvirtualserver.org/ 阿里SLB和LVS: https://yq.aliyun.com/articles/1803 https://github.com/alibaba/LVS 1.2 LVS工作原理 VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RS。LVS是内核级功能,工作在INPUT链的位置,将发往INPUT的流量进行“处理” 范例:查看内核支持LVS [20:27:28 root@centos8 ~]#grep -i ipvs /boot/config-4.18.0-193.el8......

数据同步自动化实现脚本-sersync

数据同步自动化实现脚本-sersync

1 rsyncd服务端方式实现 1.1 存放备份数据执行的脚本 #!/bin/bash # #******************************************************************** #Author:zhangzhuo #QQ: 1191400158 #Date: 2021-03-11 #FileName:install_backup_rsyncd.sh #URL: https://www.zhangzhuo.ltd #Description:The test script #Copyright (C): 2021 All rights reserved #******************************************************************** #验证用户名 USER='zz' #用户密码 PASS='123456' #备份目录 DIR='/data/backup' rpm -q rsync-daemon &>/dev/null || yum install -y rsync-....

4-数据的实时同步

4-数据的实时同步

4 数据的实时同步 在生产环境,有时会需要两台主机的特定目录实现实时同步。比如,将NFS共享目录的数据文件,自动实时同步到备份服务器特定目录中 4.1 实时同步技术介绍 实现实时同步的方法 inotify + rsync 方式实现数据同步 sersync :前金山公司周洋(花椒直播)在 inotify 软件基础上进行开发的,功能更加强大 工作原理: 要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 发现目录中数据产生变化,就利用rsync服务推送到备份服务器上 inotify: 异步的文件系统事件监控机制,利用事件驱动机制,而无须通过诸如cron等的轮询机制来获取事件,linux内核从2.6.13起支持 inotify,通过inotify可以监控文件系统中添加、删除,修改、移动等各种事件 [13:31:06 root@centos8 ~]#grep -i inotify /boot/config-4.18.0-193.el8.x86_64 CONFIG_INOTIFY_USER=y 实现inotify软件: inotify-tools sersync ....

3-SAMBA 服务

3-SAMBA 服务

3 SAMBA 服务 3.1 SAMBA 服务简介 SMB:Server Message Block 服务器消息块,IBM发布,最早是DOS网络文件共享协议,是私有协议 CIFS:common internet file system,微软基于SMB发布 SAMBA:1991年Andrew Tridgell,实现 windows和UNIX相通 官方网站:http://www.samba.org/ SAMBA的功能: 共享文件和打印,实现在线编辑 实现登录SAMBA用户的身份认证 可以进行NetBIOS名称解析 外围设备共享 Windows计算机网络管理模式: 工作组WORKGROUP:计算机对等关系,帐号信息各自管理 域DOMAIN:C/S结构,帐号信息集中管理,DC,AD 3.2 SAMBA 软件介绍 相关包: samba 提供smb服务器端 samba-client 客户端软件 samba-common 通用软件 cifs-utils smb 客户端工具 samba-winbind 和AD相关 相关服务进程: smbd 提供smb(cifs)服务 TCP:139,44....

2-NFS服务

2-NFS服务

2 NFS 服务 2.1 NFS工作原理 NFS:Network File System 网络文件系统,基于内核的文件系统。Sun 公司开发,通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Remote Procedure CallProtocol 远程过程调用)实现 RPC采用C/S模式,客户机请求程序调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行 NFS优势:节省本地存储空间,将常用的数据,如:/home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用 2.2 NFS软件介绍 软件包: nfs-utils(包括服务器和客户端相关工具,CentOS8 最小化安装时默认没有安装) 相关软件包: rpcbind(必须),tcp_wrappers Kernel支持: nfs.ko 端口: 2049......

生而为人