-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontent.json
More file actions
1 lines (1 loc) · 19.4 KB
/
Copy pathcontent.json
File metadata and controls
1 lines (1 loc) · 19.4 KB
1
{"meta":{"title":"debug96","subtitle":"IT愣头青","description":"<font style=\"font-size:18px\">求知若渴、虚心若愚 <font>","author":"debug96","url":"http://yoursite.com"},"pages":[],"posts":[{"title":"Nginx和Tomcat集群搭建","slug":"Nginx","date":"2018-04-29T15:04:04.000Z","updated":"2018-04-29T15:59:52.602Z","comments":true,"path":"2018/04/29/Nginx/","link":"","permalink":"http://yoursite.com/2018/04/29/Nginx/","excerpt":"","text":"什么是Nginx?为什么使用Nginx 互联网飞速发展的今天,大用户量高并发已经成为互联网的主体.怎样能让一个网站能够承载几万个或几十万个用户的持续访问呢?这是一些中小网站急需解决的问题。用单机tomcat搭建的网站,在比较理想的状态下能够承受的并发访问量在150到200左右。按照并发访问量占总用户数量的5%到10%这样计算,单点tomcat网站的用户人数在1500到4000左右。对于一个为全国范围提供服务的网站显然是不够用的,为了解决这个问题引入了负载均衡方法。负载均衡就是一个web服务器解决不了的问题可以通过多个web服务器来平均分担压力来解决,并发过来的请求被平均分配到多个后台web服务器来处理,这样压力就被分解开来。 负载均衡服务器分为两种一种是通过硬件实现的负载均衡服务器,简称硬负载例如:f5。另一种是通过软件来实现的负载均衡,简称软负载:例如apache和nginx。硬负载和软负载相比前者作用的网络层次比较多可以作用到socket接口的数据链路层对发出的请求进行分组转发但是价格成本比较贵,而软负载作用的层次在http协议层之上可以对http请求进行分组转发并且因为是开源的所以几乎是0成本,并且阿里巴巴,京东等电商网站使用的都是Nginx服务器。 使用Nginx完成负载均衡 完成Nginx负载均衡,那么需要先来介绍Tomcat的安装和配置,我们首先要来配置Tomcat完成集群的配置. 因为我们没有多台服务器运行Tomcat.那么我们可以模拟在一台服务器上运行多个Tomcat程序. 1.使用Tomcat配置Tomcat集群 步骤一:下载Tomcat步骤二:安装和配置Tomcat直接将下载后的Tomcat解压在本地磁盘:解压两个分别命名为tomcat1和Tomcat2修改两个Tomcat所占用的端口号是他们占用不同端口号 Nginx的安装和部署 安装:将nginx-1.13.0.zip解压包解压在某个盘符下:目录结构如下:双击nginx.exe即可运行:打开浏览器http://localhost:80显示如下页面:说明安装成功!!! 关闭nginx需要使用:相当于找到nginx进程kill。nginx -s stop重新加载配置文件:nginx -s reload可以不关闭nginx的情况下更新配置文件. Nginx的负载均衡配置 打开Nginx目录下的nginx.conf这个文件作如下修改: 通过以上的配置我们已经可以通过访问localhost访问到不同的tomcat来分担服务器端的压力.请求负载过程中会话信息不能丢失.那么需要在多个tomcat中session需要共享. 解决方式1:只能在window下好使 web服务器解决(广播机制) 注意:tomcat下性能低 修改两个地方: 1.修改tomcat的server.xml 支持共享 将 引擎标签下的 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 注释去掉 2.修改项目的配置文件 web.xml中添加一个节点解决方式2: 可以将session的id放入redis中解决方式3: 保证一个ip地址永远的访问一台web服务器,就不存在session共享问题了,在linux 在nginx的配置文件中 upstream中添加 ip_hash;","categories":[{"name":"environment","slug":"environment","permalink":"http://yoursite.com/categories/environment/"}],"tags":[{"name":"撘环境","slug":"撘环境","permalink":"http://yoursite.com/tags/撘环境/"}]},{"title":"five","slug":"five","date":"2018-04-11T14:10:27.000Z","updated":"2018-04-11T14:36:34.568Z","comments":true,"path":"2018/04/11/five/","link":"","permalink":"http://yoursite.com/2018/04/11/five/","excerpt":"","text":"To love oneself is the beginning of a lifelong romance 爱自己是终身浪漫的开始. 每个人都有世界观和价值观,每个人肯定都有, 只是有些人的世界观和价值观过于平庸, 和众人毫无异议,所以根本察觉不出来他身上还有这些玩意.","categories":[{"name":"ideal","slug":"ideal","permalink":"http://yoursite.com/categories/ideal/"}],"tags":[{"name":"ONEApp","slug":"ONEApp","permalink":"http://yoursite.com/tags/ONEApp/"}]},{"title":"four","slug":"four","date":"2018-04-08T14:48:45.000Z","updated":"2018-04-11T14:31:16.481Z","comments":true,"path":"2018/04/08/four/","link":"","permalink":"http://yoursite.com/2018/04/08/four/","excerpt":"","text":"你凝视着深渊,却忘了深渊也在凝视你. 看了这么多烧脑的电影,都比不上这部电影烧心. 如果你是一个不想开口说话的人,生活向你发出挑战,你会如何宣扬自己的立场、夺回属于自己的权利与公平?也许是拳头,是暴力.因为这个世界从来就没有什么救世主.天高皇帝远,无声的暴力是最简单、最粗暴的,恰恰也是所有理想主义者终将回归的宿命.","categories":[{"name":"ideal","slug":"ideal","permalink":"http://yoursite.com/categories/ideal/"}],"tags":[{"name":"ONEApp","slug":"ONEApp","permalink":"http://yoursite.com/tags/ONEApp/"}]},{"title":"three","slug":"three","date":"2018-04-07T15:01:59.000Z","updated":"2018-04-07T15:19:34.990Z","comments":true,"path":"2018/04/07/three/","link":"","permalink":"http://yoursite.com/2018/04/07/three/","excerpt":"","text":"人类的努力应该没有边界的,我们千差万别,不管生活看上去有多糟糕,总有你能做的事情,并且能够成功.有生命的地方,就有希望.","categories":[{"name":"ideal","slug":"ideal","permalink":"http://yoursite.com/categories/ideal/"}],"tags":[{"name":"ONEApp","slug":"ONEApp","permalink":"http://yoursite.com/tags/ONEApp/"}]},{"title":"two","slug":"two","date":"2018-04-05T11:35:53.000Z","updated":"2018-04-05T12:04:43.526Z","comments":true,"path":"2018/04/05/two/","link":"","permalink":"http://yoursite.com/2018/04/05/two/","excerpt":"","text":"独自在这深巷,霓虹喧嚣,却与我没有任何联系. 世界似乎与你隔绝开了,有些东西,还得你自己去体会… 音乐有时候也如酒,麻醉或者共鸣,解哀或者独殇. 最好能了解一下,孤独是最不会背叛人的朋友之一. 超有感觉的纯音","categories":[{"name":"ideal","slug":"ideal","permalink":"http://yoursite.com/categories/ideal/"}],"tags":[{"name":"ONEApp","slug":"ONEApp","permalink":"http://yoursite.com/tags/ONEApp/"}]},{"title":"环境搭建分类Hello","slug":"hello","date":"2018-04-05T03:10:24.000Z","updated":"2018-04-05T10:04:39.472Z","comments":true,"path":"2018/04/05/hello/","link":"","permalink":"http://yoursite.com/2018/04/05/hello/","excerpt":"","text":"","categories":[{"name":"environment","slug":"environment","permalink":"http://yoursite.com/categories/environment/"}],"tags":[]},{"title":"one","slug":"one","date":"2018-04-04T14:44:38.000Z","updated":"2018-04-05T12:04:59.354Z","comments":true,"path":"2018/04/04/one/","link":"","permalink":"http://yoursite.com/2018/04/04/one/","excerpt":"","text":"也许是天生懦弱的关系,我对所有的喜悦都参杂着不详的预感. –三岛由纪夫","categories":[{"name":"ideal","slug":"ideal","permalink":"http://yoursite.com/categories/ideal/"}],"tags":[{"name":"ONEApp","slug":"ONEApp","permalink":"http://yoursite.com/tags/ONEApp/"}]},{"title":"Linux+Mysql+Tomcat 环境搭建","slug":"LMTJ","date":"2018-04-04T13:04:01.000Z","updated":"2018-04-11T14:09:11.992Z","comments":true,"path":"2018/04/04/LMTJ/","link":"","permalink":"http://yoursite.com/2018/04/04/LMTJ/","excerpt":"","text":"Centos 篇 本博文使用Centos(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。 网络配置 CentOS7最小化安装后是没有 ifconfig 命令的, 所以说你是没有办法通过 ifconfig 查看网卡相关配置信息的, 不好意思说了一句废话, 那么CentOS这个那么有情怀的社区linux发行版本怎么可以在通过最小化安装后不能查看网卡配置信息, 这个必须有它就是 ip 命令. [root@localhost~]# ip addr 通过 ip 命令加参数 addr 则是查看当前网卡的配置信息, 从下图中可以看出, 当前系统的 ens33 网卡并没有 ipv4 及 ipv6, 没有 ip地址 则只能说明一个问题, 当前linux系统是没有办法上网的, lo 这块网卡每一个系统中都会有, 这个称之为 回环网卡 当前系统只能通过 ping 命令 ping 通 回环网卡 也就是 127.0.0.1 这个 ip地址 [root@localhost ~]# ping 127.0.0.1 Centos7默认网卡配置信息 CentOS7默认网卡设备文件存放于/etc/sysconfig/network-scripts/ 目录下, 有于CentOS的发行及系统升级或许可能会存在网卡设备名称与之前版本不一致的情况, 这也很容易理解, 网卡设备名称在linux系统中它只是一个标志, 它并不能说明什么问题, 关键是这个设备文件的配置参数, 我当前CentOS7的网卡设备名称是ifcfg-ens33 如果你看到你的linux发行版本中的网卡设备名称与我的不一致, 这太正常了, 不要问为什么, 改变嘛, 改变就是希望! (^-^), 这里只是说的linux的发行版本CentOS, 我可没说过是Ubuntu, 为什么说是CentOS呢?我们都知道在企业应用中linux的发行版本用的最多的还是 RedHat, 不过 RedHat 要收费了哈, 为什么呢?这是人家服务做的好嘛!再小一点的公司可能最多的用的是 CentOS, 为什么要用 CentOS 呢?这是因为 RedHat 把 CentOS 给收购了, CentOS 现在叫社区版本, RedHat 在做服务方面, 是先将服务放到社区版本 CentOS 上, 通过社区反馈, 当技术足够成熟时, 就会将新技术或者服务添加到 RedHat 中去, 所以用 CentOS 其实也就是间接的在使用 RadHat 啦!就是这个样子了, 当然你可以去百度一下去了解了解, 就不说让你Google了,在天国真是上网都有些力不从心呢,你懂就好!哈哈… 通过[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 查看CentOS7最小化安装默认网卡设备配置信息, 如下: 修改键头所指的位置将ONBOOT=NO修改为ONBOOT=YES代表使用每次开机自动开启该网卡并自动分配IP地址 通过[root@localhost ~]# systemctl restart network重启网络服务是配置生效网络配置参数详解123456789101112131415161718192021222324252627282930TYPE=Ethernet # 网卡类型:为以太网PROXY_METHOD=none # 代理方式:关闭状态BROWSER_ONLY=no # 只是浏览器:否BOOTPROTO=dhcp # 网卡的引导协议:DHCP[中文名称: 动态主机配置协议]DEFROUTE=yes # 默认路由:是, 不明白的可以百度关键词 `默认路由` IPV4_FAILURE_FATAL=no # 是不开启IPV4致命错误检测:否IPV6INIT=yes # IPV6是否自动初始化: 是[不会有任何影响, 现在还没用到IPV6]IPV6_AUTOCONF=yes # IPV6是否自动配置:是[不会有任何影响, 现在还没用到IPV6]IPV6_DEFROUTE=yes # IPV6是否可以为默认路由:是[不会有任何影响, 现在还没用到IPV6]IPV6_FAILURE_FATAL=no # 是不开启IPV6致命错误检测:否IPV6_ADDR_GEN_MODE=stable-privacy # IPV6地址生成模型:stable-privacy [这只一种生成IPV6的策略]NAME=ens33 # 网卡物理设备名称UUID=f47bde51-fa78-4f79-b68f-d5dd90cfc698 # 通用唯一识别码, 每一个网卡都会有, 不能重复, 否两台linux只有一台网卡可用DEVICE=ens33 # 网卡设备名称,必须和 `NAME` 值一样ONBOOT=no # 是否开机启动, 要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes` Centos7默认网卡配置信息 上面说了那么多就是为了下面配置网卡一哆嗦!以下操作是通过 vi 编辑器所做修改, 老司机会说了, 你怎么不用 vim, 这个比 vi 更个性, 你呀也别叨叨了, 你是没看到怎么的, 咱这可是最小化安装方式, 啥也没有, 嗯不对, 是最基础的有, 想玩花样, 那可得安装, 要安装那不得先连网, 现在不就是架桥铺路的吗?都到这个地步了, 你可别跟我说你不会用 vi, 别闹哈洗洗睡吧 [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 使用 vi 文本编辑器打开网卡设备文件, vi linux 下的神器, 不多说谁用谁知道, 没用过的别叨叨哈, 进入插入模式, 这个知道吧, 就是你的小手指按 i, 修改具体配置项为以下内容:BOOTPROTO=static代表网卡引导协议为静态 ONBOOT=yes设置网卡启动方式为开机启动并且可以通过系统服务管理器systemctl控制网卡123IPADDR=192.168.1.111NETMASK=255.255.255.0GATEWAY=192.168.1.1 上面是最主要的3个配置项[IP/子网掩码/网关], 配置完成这些参数先保存退出, 按 esc 进入到 命令模式, 按住 shift + : 输入 :, 接着再输入 wq, w 是 保存, q 就是告退喽, 你可能会说, 你输入的 :wq 多麻烦呢, 直接来一个 :x 命令多好啊, 其实吧说实话我从来就不用这个指令, 为什么呢? 原因很很简单, 那就是这个指令它不够见名知意, 要记住它你得跟 wq 联想到一块吧,这在无形中就会增加你学习的成本, 我们要学习的东西很多, 你要这么学你得累死, 这是个人见解, w 就是 write, 那么 q 就是 quit, 这些单词你都学过吧, 学过就不用额外记其它的喽, so… [root@localhost ~]# systemctl restart network 重启网卡, 说明一点, 在 CentOS7 下已全面使用 systemctl 作为服务管理器, 它用来替代 service 和 chkconfig, 现在 RadHat、Ubuntu、fedora 等主流的 linux 发行版本都以全面支持 systemctl 服务管理器, 这可是一个好事情!皆大欢喜 配置网卡设备文件添加DNS 域名解析服务器地址 添加DNS域名解析服务器地址, 就是让 CentOS7 在使用 ping 命令时, 一看给的是一个字串符而非IP地址, 就通过 域名解析服务器 查找对应的IP地址, 然后通过IP去 ping 对应的主机这事也就妥妥的了, 简单的说明这个问题它就是这样, 要想知道它具体都干什么事情了, 你还得去研究一下 网络参考模型 以及 协议 这些事! Windows获取DNS服务器地址 那你可能会说了, 我去哪找 域名解析服务器 地址呢?这个很简单, 如果你是windows用户你可以通过在 cmd 命令行下输入:ipconfig /all 修改网卡设备配置文件 添加DNS服务器地址到网卡设备配置文件, 添加结果如下所示12DNS1=***.***.***.***DNS2=***.***.***.*** 保存退出,重启网卡设备[root@localhost ~]# systemctl restart network 最终网卡设备配置详情表 1234567891011121314151617181920TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=f47bde51-fa78-4f79-b68f-d5dd90cfc698DEVICE=ens33ONBOOT=yesIPADDR=192.168.1.111NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=127.207.160.106DNS2=219.239.26.42 MySql 篇1、配置yum源 在MySql官网中下载yum源rpm安装包:https://dev.mysql.com/downloads/repo/yum/ 下载mysql源安装包 shell> wget https://dev.mysql.com/downloads/repo/yum/mysql57-community-release-el7-11.noarch.rpm 安装mysql源 shell> yum localinstall mysql57-community-release-el7-11.noarch.rpm 检查mysql源是否安装成功shell> yum repolist enabled | grep "mysql.*-community.*"看到上图表示安装成功. 可以修改vim /etc/yum.repos.d/mysql-community.repo源,改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。改完之后的效果如下所示: 2、安装MySql shell> yum install mysql-community-server 3、启动MySql服务 shell> systemctl start mysqld 查看mysql的启动状态shell> systemctl status mysqld 4、开机启动 shell> systemctl enable mysqldshell> systemctl daemon-reload 5、修改root本地登录密码 mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:shell> grep 'temporary password' /var/log/mysqld.log shell> mysql -uroot -pmysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';或者mysql> set password for 'root'@'localhost'=password('MyNewPass4!');注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误. 通过mysql环境变量可以查看密码策略的相关信息:mysql> show variables like '%password%';validate_password_policy:密码策略,默认为MEDIUM策略validate_password_dictionary_file:密码策略文件,策略为STRONG才需要validate_password_length:密码最少长度validate_password_mixed_case_count:大小写字符长度,至少1个validate_password_number_count :数字至少1个validate_password_special_char_count:特殊字符至少1个上述参数是默认策略MEDIUM的密码检查规则。共有以下几种密码策略:策略 检查规则0 or LOW Length1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file MySQL官网密码策略详细说明:http://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy 修改密码策略 在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件validate_password_policy=0如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:validate_password = off重新启动mysql服务使配置生效:systemctl restart mysqld 6、添加远程用户 默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户: mysql> GRANT ALL PRIVILEGES ON *.* TO 'yangxin'@'%' IDENTIFIED BY 'Yangxin0917!' WITH GRANT OPTION; 7、配置默认编码为utf-8 修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示: [mysqld]character_set_server=utf8init_connect='SET NAMES utf8'重新启动mysql服务,查看数据库默认编码如下所示: 默认配置文件路径 配置文件:/etc/my.cnf日志文件:/var/log//var/log/mysqld.log服务启动脚本:/usr/lib/systemd/system/mysqld.servicesocket文件:/var/run/mysqld/mysqld.pid 致谢 如果我的文章有错误或不足之处,由于这套主题并没有集成评论系统,请务必在我的github评论中留言指出,千万不用客气,万分感谢~","categories":[{"name":"environment","slug":"environment","permalink":"http://yoursite.com/categories/environment/"}],"tags":[{"name":"撘环境","slug":"撘环境","permalink":"http://yoursite.com/tags/撘环境/"}]}]}