Nginx:Web基础与HTTP协议

目录

1、dns域名

1.1 dns解析方式:

1.2 域名解析服务器:

2、html

2.1 网页、网站和主页、域名

2.2 URL和URI

3、Web(全球广域网,也称万维网)

3.1 静态页面

3.1.1 静态页面特点

3.2 动态页面

3.2.1 动态页面特点

4、http

4.1 http协议简介

4.2 工作流程

4.3 cookie

4.4 连接保持功能

4.5 http的请求方式

4.6 get方法

4.7post

4.8 响应码、状态码

4.8.1请求状态的响应码:

4.9 通信套接字

4.9.1 http协议当中socket的作用

4.9.2 套接字的相关接口

5、nc工具来模拟实验

6、HTTP协议请求流程分析


1、dns域名

网络是基于tcp/ip协议进行通信和连接的

应用层-----传输层-----网络层-----数据链路层-----物理层

ip地址:每一台主机都有一个唯一的地址标识(固定的ip地址),为了区分用户和计算机和进行通信

ip地址的问题在于32位二进制数组成的,不方便记忆,所以就引申出来域名

dns解析:就是把域名解析成ip地址,方便通信,访问

1.1 dns解析方式:

·  /etc/hosts :负责快速解析文件,包含了ip与主机名之间的映射关系,如果没有dns服务的情况下,可以使用/etc/hosts文件来完成解析和映射

· /etc/resolv.conf dns:客户端的配置文件,设置dns服务器的ip和域名,还包含了主机域名的搜索顺序,主要是域名解析服务器使用的配置文件

· 修改网卡配置文件 ifcfg-ens33

生效顺序 1.hosts 2.网卡配置文件 3.resolv.conf

dns域名解析服务器,由运营商来做
 

1.2 域名解析服务器:

· 保持和维护域名空间

· 响应解析请求

解析端(客户端)

跟域-----顶级域-----二级域-----子域----主机名

2、html

html:超文本标记语言,是一种规范的,标准的语言格式

网页文件本身就是一个文本文件,html通过标记的方式,告诉浏览器,如何显示文本当中的内容,html文件是一个文本文件,所有能够生成txt文件的工具,都可以进行编辑,修改之后的文件的后缀名:.html 或者 .htm

2.1 网页、网站和主页、域名

网页:纯文本格式的文件,用html语言来进行编写,在用浏览器翻译成页面的形式显示出来

网站:是由多个页面组成的,网页的结合体

主页:打开网站后,出现的第一个页面,就是网站的主页,也可以说是首页

域名:浏览网页时,输入的网址

http/https:用来传输页面的通信协议,https是加密的,是一种通信协议,基于tcp协议

端口号:http默认端口80;https默认是443

查看方式:netstat  -antp  |  grep  nginx

2.2 URL和URI

URL:万维网寻址系统,唯一的表示

eg:https://www.bilibili.com/类似这种的完整地址为url

https://www.bilibili.com/v/dance/?spm  id  from=333.1007.0.0这种格式url后面的为uri

超链接:超链接将网站中的不同页面连接起来

发布:将制作好的网页上传到服务器,供用户访问

html的语法

 

    网页的内容描述信息 

    网页的具体内容

头标前中常用的标签

文档标题</p> <p><base>页面标签的链接地址</p> <p><script>客户端的脚本文件</p> <p><style>html文档的样式</p> <p>内容当中常用的标签</p> <p><table>定义表格</p> <p><tr>定义表格中的一行</p> <p><td>定义表格中某一行的一列</p> <p><img>定义图片</p> <p><a>超链接</p> <p><font>定义字体</p> <h1 id="3%E3%80%81Web%EF%BC%88%E5%85%A8%E7%90%83%E5%B9%BF%E5%9F%9F%E7%BD%91%EF%BC%8C%E4%B9%9F%E7%A7%B0%E4%B8%87%E7%BB%B4%E7%BD%91%EF%BC%89">3、Web(全球广域网,也称万维网)</h1> <p>web.1.0 静态页面就是看   web.2.0 动态页面用户交互</p> <h2 id="3.1%20%E9%9D%99%E6%80%81%E9%A1%B5%E9%9D%A2">3.1 静态页面</h2> <p>静态页面就是标准的html文件</p> <p>扩展名都是.htm或者.html</p> <p>里面可以包含图片,文本,声音动画;是网站搭建的基础,早期的网站都是静态页面,没有后台数据,不包含可交互的内容,更新起来比较麻烦,一般用于展示型网站</p> <h3 id="3.1.1%20%E9%9D%99%E6%80%81%E9%A1%B5%E9%9D%A2%E7%89%B9%E7%82%B9">3.1.1 静态页面特点</h3> <p>· URL是固定的,一般不包含以?为后缀</p> <p>· 页面一经发布,都是保存在网站的服务器上</p> <p>· 静态页面相对稳定,内容很少发生变化,容易被搜索引擎检索</p> <p>· 没有数据库的支持,制作和维护的工作量,都比较大,网站的信息量如果太大,单纯的使用静态页面比较困难</p> <p>· 没有交互性,功能上受限很大</p> <p>· 浏览速度快,因为不需要连接数据库</p> <h2 id="3.2%20%E5%8A%A8%E6%80%81%E9%A1%B5%E9%9D%A2">3.2 动态页面</h2> <p>· 网页URL是不固定的,用户可以和后台数据进行交互</p> <p>· 动态页面的网址中,一般包含一个特殊标记-----$?</p> <p> · 动态页面的语言:php jsp python buby tomcat(java)</p> <h3 id="3.2.1%20%E5%8A%A8%E6%80%81%E9%A1%B5%E9%9D%A2%E7%89%B9%E7%82%B9">3.2.1 动态页面特点</h3> <p>· 交互性 </p> <p>· 自动跟新</p> <p>· 特效,每个人进入页面的时候,会有不同的效果</p> <p></p> <p>小结:静态页面就是看,动态页面可以进行交互</p> <h1 id="4%E3%80%81http">4、http</h1> <h2 id="4.1%C2%A0http%E5%8D%8F%E8%AE%AE%E7%AE%80%E4%BB%8B">4.1 http协议简介</h2> <p>http协议,超文本传输协议,互联网上应用最广泛的网络协议,基于tcp协议的应用的传输协议,面向用户,客户端和服务端之间进行数据传输的一种规则</p> <h2 id="4.2%20%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B">4.2 工作流程</h2> <p>工作流程:</p> <p>· 客户端和服务端进行tcp链接 :三次握手----建立连接</p> <p>· 客户端发送http请求,服务端接收到http请求之后,响应客户端的请求</p> <p>· socke 接口,通过端口进行通信</p> <p>· 响应到达客户端,解析的过程(浏览器),用户查看,使用,访问</p> <p>· 访问,使用,查看,结束之后,断开连接,四次挥手</p> <p>http是一种无状态的协议,本身不会对发送的请求和响应的通信进行持久化处理(连接保持),为了让http能够快速的大量的进行处理事务,提高效率。连接保持是需要的</p> <h2 id="4.3%20cookie">4.3 cookie</h2> <p>记录用户的登陆状态,跟踪统计用户访问网站的习惯,识别用户身份,保存用户信息</p> <p>这个是服务器留在用户计算机的小文件</p> <h2 id="4.4%20%E8%BF%9E%E6%8E%A5%E4%BF%9D%E6%8C%81%E5%8A%9F%E8%83%BD">4.4 连接保持功能</h2> <p>http协议本身自带的连接保持功能</p> <p>http1.1:自带链接保持功能,长连接</p> <p>长连接:一次性获取页面的文件的所有信息,不再需要分开处理请求,所以速度大大加快,并行</p> <p>连接保持:keep-alive,在一个tcp连接上可以传送多个http的请求和响应,减少了建立和关闭连接的消耗和延迟,连接保持是有时间,不是无限的,是默认开启的,60s</p> <p>连接资源占用:长时间保持,会降低服务器的负载,如果是高并发,会使服务器耗尽资源</p> <p>链接状态管理:长连接需要维护连接状态,服务器需要跟踪每个连接的状态,增加服务器的负担(集群的诞生)</p> <p>https:加密通信协议,加密数据传输,加密过程涉及客户端和服务器之间进行密钥交换,确保只有合法的接收方,能够解密数据</p> <h2 id="4.5%C2%A0http%E7%9A%84%E8%AF%B7%E6%B1%82%E6%96%B9%E5%BC%8F">4.5 http的请求方式</h2> <p>· 请求头</p> <p>请求头当中包含请求体</p> <p>请求体当中的内容</p> <p>Accept:客户端可以接受的数据类型<br> Accept-Language:客户端可以接受的语言类型<br> User-Agent:浏览器的信息<br> Accpect-Encoding:客户端可以接受的编码格式<br> Host:表示请求的ip和端口号<br> Connection:告诉服务器请求连接如何处理<br> Keep-Alive:通知服务器回传数据不要马上关闭,保持一小段的连接<br> Closed:马上关闭</p> <p>请求方式:get 就是用来向服务器发起请求,http协议中的get,就是请求</p> <p>· 响应头</p> <p>· 总览 General</p> <p>post也是请求的一种,post是向后台发数据,向服务器会添加数据,也可以改变服务器上的数据</p> <h2 id="4.6%C2%A0get%E6%96%B9%E6%B3%95">4.6 get方法</h2> <p>特点:</p> <p>· 从指定服务器获取数据</p> <p>· get请求是可以被缓存</p> <p>· get请求会保存在浏览器上的记录中,cookie</p> <p>· get请求的长度,是有限度的</p> <h2 id="4.7post">4.7post</h2> <p>也是请求的一种,提交数据给服务器处理</p> <p>· post请求不能缓存</p> <p>· post请求也不会记录在浏览器的记录当中</p> <p>· 请求体的长度也没有限制</p> <h2 id="4.8%20%E5%93%8D%E5%BA%94%E7%A0%81%E3%80%81%E7%8A%B6%E6%80%81%E7%A0%81">4.8 响应码、状态码</h2> <p>状态码,响应码,服务器来进行提供的</p> <p>请求之后,服务器收到请求会有一个回应,响应,同时反馈一个响应码</p> <h3 id="4.8.1%E8%AF%B7%E6%B1%82%E7%8A%B6%E6%80%81%E7%9A%84%E5%93%8D%E5%BA%94%E7%A0%81%EF%BC%9A">4.8.1请求状态的响应码:</h3> <p>  1xx表示 100-101 信息提示</p> <p>  2xx表示 200-206 成功,请求响应成功,只要状态码是200,统统是成功</p> <p>  3xx表示 300-305 重定向</p> <p>  4xx表示400-415 客户端错误,请求不到,获取资源失败</p> <p>  5xx表示 500-505 服务端错误 响应失败</p> <p>总结:</p> <p>200 成功</p> <p>301 请求的永久页面跳转</p> <p>304 重定向到缓存</p> <p>403 禁止访问(没有权限)</p> <p>404 请求页面找不到 (请求的文件不存在)</p> <p>500 服务器内部错误(配置文件名错了)</p> <p>502 网管失效(可能是网络,可能是防火墙)</p> <p>503 服务不可用(可能是网络,可能是防火墙)</p> <p>504 网关请求超时 (可能是网络,可能是防火墙)</p> <h2 id="4.9%C2%A0%E9%80%9A%E4%BF%A1%E5%A5%97%E6%8E%A5%E5%AD%97">4.9 通信套接字</h2> <p>socket:实现不同主机进行通信和数据交换,进程间传输的标志ip:端口</p> <h3 id="4.9.1%C2%A0http%E5%8D%8F%E8%AE%AE%E5%BD%93%E4%B8%ADsocket%E7%9A%84%E4%BD%9C%E7%94%A8">4.9.1 http协议当中socket的作用</h3> <p>· 客户机套接字:定义唯一的客户进程</p> <p>· 服务端套接字:定义了一个唯一的服务器进程</p> <h3 id="4.9.2%C2%A0%E5%A5%97%E6%8E%A5%E5%AD%97%E7%9A%84%E7%9B%B8%E5%85%B3%E6%8E%A5%E5%8F%A3">4.9.2 套接字的相关接口</h3> <p>socket ()创建端口</p> <p>bind ()绑定ip和端口</p> <p>listen () 监听,等待连接</p> <p>accept ()接受请求</p> <p>connect ()请求连接建立</p> <p>write () 发送</p> <p>read () 接收 </p> <p>close 关闭连接</p> <p>ESTABLISHED 连接已经建立,正在传输数据</p> <h1 id="5%E3%80%81nc%E5%B7%A5%E5%85%B7%E6%9D%A5%E6%A8%A1%E6%8B%9F%E5%AE%9E%E9%AA%8C">5、nc工具来模拟实验</h1> <p>[root@localhost ~]#nc -l 8888<br> #监听9527<br> [root@localhost ~]#ss -ntlp<br> #正在监听端口<br> LISTEN     0      10                *:9527</p> <p>使用第二太机器测试<br> [root@localhost ~]#nc 192.168.233.10 8888<br> hello</p> <h1 id="6%E3%80%81HTTP%E5%8D%8F%E8%AE%AE%E8%AF%B7%E6%B1%82%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90">6、HTTP协议请求流程分析</h1> <p>用户输入URL(地址链接)(http://www.baidu.com:80/tools.html)客户端获取到端口及主机名后,<br> 客户端利用DNS解析域名,首先客户端的浏览器会先找自身的缓存,<br> 如果有解析结。<br> 如果没有客户端会去找host文件,host文件没有的,<br> 客户端会去找本地的DNS缓存服务器,<br> 本地的DNS缓存服务器没有,缓存服务器会去找根域,<br> 根域没有,会返回一个.com.然后本地缓存服务器会去找顶级域,<br> 顶级域没有的话会返回baidu.com.,然后本地缓存服务器会去找二级域,二级域解析完后会返回客户端。 </p> <p>客户端解析到IP地址后会通过TCP的三次握手与服务器建立连接</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1690688482743234560"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(nginx)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1835243836679483392.htm" title="页面报错 POST 413错误 (Request Entity Too Large)" target="_blank">页面报错 POST 413错误 (Request Entity Too Large)</a> <span class="text-muted">小黑屋说YYDS</span> <a class="tag" taget="_blank" href="/search/%E8%B8%A9%E5%9D%91/1.htm">踩坑</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>一般来说是服务器使用nginx作为反向代理出现的问题,post请求长度超过了nginx默认的缓存大小和最大客户端最大请求大小。解决方式如下,更该nginx代理配置:在nginx.conf配置文件中,找到http{}代码块,添加如下配置client_max_body_size20m;重启nginx即可。</div> </li> <li><a href="/article/1835199093819928576.htm" title="docker 安装、运行nginx shell脚本" target="_blank">docker 安装、运行nginx shell脚本</a> <span class="text-muted">三希</span> <a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a> <div>以下是一个简单的用于安装和运行DockerNginx的shell脚本:bash#!/bin/bash#安装Docker(如果还未安装)#请根据实际情况调整安装命令#拉取Nginx镜像dockerpullnginx#运行Nginx容器dockerrun-d--namemynginx-p80:80nginx</div> </li> <li><a href="/article/1835198462149357568.htm" title="老生常谈:MySQL高可用架构" target="_blank">老生常谈:MySQL高可用架构</a> <span class="text-muted">我有一头小花驴</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>引言“高可用”是互联网一个永恒的话题,先避开MySQL不谈,为了保证各种服务的高可用有几种常用的解决方案。服务冗余:把服务部署多份,当某个节点不可用时,切换到其他节点。服务冗余对于无状态的服务是相对容易的。服务备份:有些服务是无法同时存在多个运行时的,比如说:Nginx的反向代理,一些集群的leader节点。这时可以存在一个备份服务,处于随时待命状态。自动切换:服务冗余之后,当某个节点不可用时,要</div> </li> <li><a href="/article/1835189633021997056.htm" title="docker项目切换(nginx)、重启shell 脚本" target="_blank">docker项目切换(nginx)、重启shell 脚本</a> <span class="text-muted">懒惰的小蜗牛</span> <a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a> <div>docker项目切换、重启脚本背景具体操作nginx配置配置文件1配置文件2编写nginx替换脚本(用来执行端口替换)编写启动脚本dockerfile文件正常编写给脚本授权执行./start脚本背景项目部署docker中,更新项目时,需要将原原来的容器停止,再启动新的容器,这样会有一个空窗期,导致不可用解决方案:映射不同的端口并启动新的容器,将nginx转发到新容器,停止旧容器具体操作说明ngin</div> </li> <li><a href="/article/1835187991388188672.htm" title="FastCGI结合docker下的Nginx执行shell脚本" target="_blank">FastCGI结合docker下的Nginx执行shell脚本</a> <span class="text-muted">南波波</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a> <div>1使用docker下载Nginx下面展示一些内联代码片。a.#dockerpullnginx#dockerrun--namerunoob-php-nginx-p8088:80-d\-v~/nginx/www:/usr/share/nginx/html:ro\-v~/nginx/conf/conf.d:/etc/nginx/conf.d:ro\nginxb.在~/nginx/conf/conf.d创</div> </li> <li><a href="/article/1835130592988065792.htm" title="主流行架构" target="_blank">主流行架构</a> <span class="text-muted">rainbowcheng</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>nexus,gitlab,svn,jenkins,sonar,docker,apollo,catteambition,axure,蓝湖,禅道,WCP;redis,kafka,es,zookeeper,dubbo,shardingjdbc,mysql,InfluxDB,Telegraf,Grafana,Nginx,xxl-job,Neo4j,NebulaGraph是一个高性能的,NOSQL图形数据库</div> </li> <li><a href="/article/1835124784199987200.htm" title="面试题篇: 跨域问题如何处理(Java和Nginx处理方式)" target="_blank">面试题篇: 跨域问题如何处理(Java和Nginx处理方式)</a> <span class="text-muted">guicai_guojia</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>1.服务器端解决方案最常见的解决方案是在服务器端配置CORS头。服务器需要在响应中添加适当的Access-Control-Allow-头来允许跨域请求。1.1NGINX配置在NGINX配置中,你可以通过add_header指令来设置CORS头。配置示例:server{  listen80;  server_nameapi.example.com;  location/{    proxy_pass</div> </li> <li><a href="/article/1835093403788996608.htm" title="Nginx Hard模式" target="_blank">Nginx Hard模式</a> <span class="text-muted">西木风落</span> <a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E7%BB%84%E4%BB%B6/1.htm">中间组件</a><a class="tag" taget="_blank" href="/search/Nginx/1.htm">Nginx</a><a class="tag" taget="_blank" href="/search/Nginx%E9%85%8D%E7%BD%AE%E8%AF%A6%E8%A7%A3/1.htm">Nginx配置详解</a><a class="tag" taget="_blank" href="/search/Nginx%E9%85%8D%E7%BD%AE%E4%BC%98%E5%8C%96/1.htm">Nginx配置优化</a><a class="tag" taget="_blank" href="/search/Nginx%E9%9D%A2%E8%AF%95hard/1.htm">Nginx面试hard</a> <div>一、Nginx简介1.Nginx概述Nginx是一个免费、开源、高性能、轻量级的HTTP和反向代理服务器,也是一个电子邮件(IMAP/POP3)代理服务器。其特点是能支持高并发请求处理,并且占用较少的内存资源,提供稳定的、丰富的模块库,有很高的配置灵活性。目前,几乎所有的web项目,都配有Nginx。Nginx由内核和一系列模块组成,内核提供Web服务的基本功能,启用网路协议、提供运行环境、创建连</div> </li> <li><a href="/article/1835057978672246784.htm" title="nginx部署前端项目的一些配置【刚入门】" target="_blank">nginx部署前端项目的一些配置【刚入门】</a> <span class="text-muted">weixin_30847271</span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/ViewUI/1.htm">ViewUI</a> <div>前期准备:在linux上安装nginx,我用的是腾讯云centos7服务器,具体的安装过程可以到腾讯云的开发者实验室里体验,自己先试试水。修改nginx.conf配置文件,我用到的修改只是以下的部分。1.端口号2.项目的存放位置server{listen8088default_server;#访问的端口号。listen[::]:8088default_server;server_name_;#ro</div> </li> <li><a href="/article/1834997709858238464.htm" title="定制优化Nextcloud镜像" target="_blank">定制优化Nextcloud镜像</a> <span class="text-muted">攻城狮_正</span> <div>Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux等各种平台,也提供了网页端以及WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。Nextcloud基于PHP语言开发,可以使用Nginx+PH</div> </li> <li><a href="/article/1834963034653683712.htm" title="React 前端应用结合 Nginx 部署指南及常见错误排查" target="_blank">React 前端应用结合 Nginx 部署指南及常见错误排查</a> <span class="text-muted">蜗牛去旅行吧</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>在现代Web开发中,React已成为构建用户界面的流行选择,而Nginx则是一个高性能的Web服务器,广泛用于静态文件的托管和负载均衡。在本篇博客中,我们将详细介绍如何将一个React应用部署到Nginx上,并探讨在部署过程中可能遇到的常见错误及其解决方案。部署步骤1.准备React应用首先,确保你已经创建了一个React应用。如果还没有,可以使用CreateReactApp快速生成一个基础项目:</div> </li> <li><a href="/article/1834918400317550592.htm" title="docker-compose部署minio分布式集群" target="_blank">docker-compose部署minio分布式集群</a> <span class="text-muted">伏案惊涛</span> <a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a> <div>1、节点情况建议:minio节点数最好4节点以上,nginx独立部署在其他服务器。主机IP操作系统部署情况minio1192.168.16.34centos7miniominio2192.168.16.35centos7miniominio3192.168.16.36centos7miniominio4192.168.16.40centos7minio、nginx2、安装docker、docker</div> </li> <li><a href="/article/1834896221005770752.htm" title="多级缓存架构设计" target="_blank">多级缓存架构设计</a> <span class="text-muted">白鸽呀</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>缓存是提升性能最直接的方法多级缓存分为:客户端,应用层,业务层,数据层1、客户端缓存:主要对浏览器的静态资源进行缓存通过在响应头设置Expires,cache-control,将文件保存在本地,减少多次请求静态资源带来的带宽损耗(解决并发手段)2、应用层缓存:浏览器只负责读取Expires,Expires在CDN内容分发网络和Nginx进行设置CDN内容分发网络是静态资源分发的主要技术手段,有效解</div> </li> <li><a href="/article/1834895337622433792.htm" title="统计/nginx/access.log中每个ip的访问次数,按高到低排列" target="_blank">统计/nginx/access.log中每个ip的访问次数,按高到低排列</a> <span class="text-muted">年薪丰厚</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>/nginx/access.log具体内容长这样:第一个元素就是ip。awk'{print$1}'/nginx/access.log|sort|uniq-c|sort-r首先,awk'{print$1}'/nginx/access.log从/nginx/access.log文件的每行中提取出第一个字段。然后,sort对提取出的第一个字段进行排序。接着,uniq-c统计每个唯一的字段出现的次数。最后</div> </li> <li><a href="/article/1834722635074859008.htm" title="Linux+Nginx+Asp.net Core及守护进程部署" target="_blank">Linux+Nginx+Asp.net Core及守护进程部署</a> <span class="text-muted">念童</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>上篇《Docker基础入门及示例》文章介绍了Docker部署,以及相关.netcore的打包示例。这篇文章我将以oss.offical.site站点为例,主要介绍下在linux机器下完整的部署流程,.netcore在docker容器中的运行已经介绍,这里.netcore运行环境我会介绍直接在linux运行的场景,内容主要包含以下几个部分:1.基础工具和Linux环境准备2..NetCore环境安装</div> </li> <li><a href="/article/1834720614955446272.htm" title="Linux+Nginx+Asp.net Core部署" target="_blank">Linux+Nginx+Asp.net Core部署</a> <span class="text-muted">dotNET跨平台</span> <div>上篇《Docker基础入门及示例》文章介绍了Docker部署,以及相关.netcore的打包示例。这篇文章我将以oss.offical.site站点为例,主要介绍下在linux机器下完整的部署流程,.netcore在docker容器中的运行已经介绍,这里.netcore运行环境我会介绍直接在linux运行的场景,内容主要包含以下几个部分:1.基础工具和Linux环境准备2..NetCore环境安装</div> </li> <li><a href="/article/1834705109032988672.htm" title="ASP.NET Core 入门教学二十八 linux打包部署" target="_blank">ASP.NET Core 入门教学二十八 linux打包部署</a> <span class="text-muted">充值内卷</span> <a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>在Linux上打包和部署ASP.NETCore应用程序涉及几个步骤。以下是一个详细的指南,帮助你在Linux系统上完成这一过程。1.准备工作确保你的Linux系统已经安装了以下软件:.NETSDK(用于构建应用程序).NETRuntime(用于运行应用程序)Apache或Nginx(作为反向代理服务器)你可以使用以下命令安装.NETSDK和Runtime:sudoaptupdatesudoapti</div> </li> <li><a href="/article/1834470163102134272.htm" title="【nginx】缓存配置文件" target="_blank">【nginx】缓存配置文件</a> <span class="text-muted">williamdsy</span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a> <div>http{#...其他配置...#缓存目录配置proxy_cache_path/var/cache/nginx/proxy_cachelevels=1:2keys_zone=my_cache:10minactive=60muse_temp_path=off;#...其他配置...}server{listen80;server_namewww.example.com;location/{root/v</div> </li> <li><a href="/article/1834399585527754752.htm" title="笔记:Centos Jdk Nginx 安装包安装命令" target="_blank">笔记:Centos Jdk Nginx 安装包安装命令</a> <span class="text-muted">贰十六</span> <a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>#官方网址#Nginx官网http://nginx.org/#推荐:下载地址http://nginx.org/download/nginx-1.20.2.tar.gz#安装Nginx#进入到usr中的src,把刚才下载的安装包拉进去cd/usr/src/#解压安装包tarzxvfnginx-1.6.2.tar.gz#进入安装包目录cdnginx-1.6.2#编译安装./configure--wit</div> </li> <li><a href="/article/1834325189882638336.htm" title="Redis高可用" target="_blank">Redis高可用</a> <span class="text-muted">確定饿的猫</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>目录持久化主从复制哨兵Cluster集群RDB持久化手动触发自动触发RDB执行流程RDB载入AOF持久化执行流程命令追加文件写入和文件同步appendfsyncalwaysappendfsyncnoappendfsynceverysecond文件重写文件重写流程载入对比nginx、tomcat、mysql等服务都具有预防单点故障、提高整体性能和安全性的功能,当然,Redis也不例外在Redis中,</div> </li> <li><a href="/article/1834284472435044352.htm" title="centos arm docker 安装nginx" target="_blank">centos arm docker 安装nginx</a> <span class="text-muted">亦诗亦诗</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a> <div>1.查找ARM版的Nginx镜像因为是ARM架构,确保拉取到适合的Nginx镜像。在DockerHub上,官方的Nginx镜像通常已经支持多架构。你可以使用以下命令来拉取Nginx:dockerpullnginxDocker会自动选择与你架构兼容的版本。如果因网络原因无法正常下载,则通过以下链接进行免费下载https://download.csdn.net/download/qq_34322136</div> </li> <li><a href="/article/1834281698821500928.htm" title="nginx平滑升级与回滚" target="_blank">nginx平滑升级与回滚</a> <span class="text-muted">^~^前行者~~~</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>华子目录升级实验环境准备测试内容准备实验要求实验步骤1.解压包2.检测1.26版本的环境3.make编译4.备份之前的`nginx`启动脚本5.将1.26中的nginx启动脚本覆盖掉1.24中的6.`kill-USR2旧主进程pid`7.`kill-WINCH旧主进程pid`实验测试回滚1.`kill-HUP旧主进程pid`2.`kill-WINCH新主进程pid`3.备份`nginx`启动脚本4</div> </li> <li><a href="/article/1834271368808591360.htm" title="lnmt架构" target="_blank">lnmt架构</a> <span class="text-muted">有点小忧郁</span> <a class="tag" taget="_blank" href="/search/Linux%E8%AF%BE%E7%A8%8B/1.htm">Linux课程</a> <div>lnmt架构安装nginx//创建系统用户nginx[root@localhost~]#useradd-r-M-s/sbin/nologinnginx//安装依赖环境[root@localhost~]#yum-yinstallpcre-developensslopenssl-develgd-develgccgcc-c++[root@localhost~]#yum-ygroupsmarkinstal</div> </li> <li><a href="/article/1834260020347367424.htm" title="Linux如何查看端口" target="_blank">Linux如何查看端口</a> <span class="text-muted">lanhuazui10</span> <a class="tag" taget="_blank" href="/search/linux%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">linux操作系统</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>方法一:lsof-i:端口号用于查看某一端口的占用情况,比如查看9092端口使用情况,lsof-i:9095可以看到9095端口已经被nginx占用方法二:netstat-tunlp|grep端口号,用于查看指定的端口号的进程情况,如查看5050端口的情况,netstat-tunlp|grep5050-t(tcp)仅显示tcp相关选项-u(udp)仅显示udp相关选项-n拒绝显示别名,能显示数字的</div> </li> <li><a href="/article/1834119355474997248.htm" title="Docker之nginx部署" target="_blank">Docker之nginx部署</a> <span class="text-muted">2401_84049088</span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a> <div>#glibc安装包如果从网络下载速度实在是太慢了,先提前下载复制到镜像中COPYglibc-2.29-r0.apk/usr/local/java/COPYglibc-bin-2.29-r0.apk/usr/local/java/COPYglibc-i18n-2.29-r0.apk/usr/local/java/COPYmsg.jar/usr/local/java/#更新Alpine的软件源为阿里云</div> </li> <li><a href="/article/1834070316381466624.htm" title="VMWare10下安装Centos7+PHP7.2+Mysql5.7+Nginx全流程" target="_blank">VMWare10下安装Centos7+PHP7.2+Mysql5.7+Nginx全流程</a> <span class="text-muted">追风2019</span> <a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/PHP7.2/1.htm">PHP7.2</a><a class="tag" taget="_blank" href="/search/Mysq/1.htm">Mysq</a> <div>一、背景说明作为一名phper,基本和Linux服务器扯不开关系,如果习惯于在Windows下开发项目,结果是很长一段时间都会烦恼于上线后出现的各种问题,所以,如果线下开发环境也是Linux环境,这就极大保障了自己代码上线正确率。现在比较流行用一键安装工具,只是我在线上、线下都试过,线上虽然安装好了,但线下安装太费内存,安装了两次都因为内存不够失败。所以,鉴于这样的需求背景下,我们自然需要熟练、独</div> </li> <li><a href="/article/1834057716683862016.htm" title="docker-compose部署mysql+nginx+redis" target="_blank">docker-compose部署mysql+nginx+redis</a> <span class="text-muted">yy1209357299</span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/docker-compose/1.htm">docker-compose</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>docker部署参考:docker部署mysql+nginx+redisdocker-compose部署mysql+nginx+redismysql1、创建docker-compose-mysql.ymlversion:"3"services:mysql:image:mysql:5.7restart:alwayscontainer_name:mysqlports:-3306:3306volumes</div> </li> <li><a href="/article/1834049646155100160.htm" title="Docker运行MySql、Redis、Nginx服务" target="_blank">Docker运行MySql、Redis、Nginx服务</a> <span class="text-muted">代码路上的不归者_bugz</span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E9%83%A8%E7%BD%B2/1.htm">运维部署</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>Docker运行MySql、Redis、Nginx服务MySql服务访问dockerhubDockerhub搜索Mysql网址:https://registry.hub.docker.com/这里我们用8.0.1这个版本下载MySql镜像#下载镜像dockerpullmysql:8.0.1运行MySql服务(1)启动mysql开放端口映射(3306)指定root用户密码才行-e(environme</div> </li> <li><a href="/article/1834047503830446080.htm" title="zabbix4.0安装+grafana数据展示——cent7.3" target="_blank">zabbix4.0安装+grafana数据展示——cent7.3</a> <span class="text-muted">运维实战课程</span> <a class="tag" taget="_blank" href="/search/grafana/1.htm">grafana</a><a class="tag" taget="_blank" href="/search/zabbix/1.htm">zabbix</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>zabbix4.0安装+grafana数据展示——cent7.3如果对运维课程感兴趣,可以在b站上搜索我的账号:运维实战课程,可以关注我,学习更多免费的运维实战技术视频Zabbix_server:192.168.43.166被监控端:192.168.43.xxlnmp工作过程:用户请求nginx,当请求静态页面,nginx直接返回给用户,当请求动态页面,如php程序文件,nginx会调用php-f</div> </li> <li><a href="/article/1834040574592774144.htm" title="docker快速部署Redis、MySQL、Nginx" target="_blank">docker快速部署Redis、MySQL、Nginx</a> <span class="text-muted">ChanChan__</span> <a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a> <div>文章目录docker部署redisdocker部署mysqldocker部署nginxdocker部署redis拉取镜像dockerpullredis:7.0.10拷贝一份redis.conf文件复制到/home/ubuntu/redis文件夹下,修改redis.conf配置文件vimredis.conf-----------------------------------------------</div> </li> <li><a href="/article/25.htm" title="Java实现的简单双向Map,支持重复Value" target="_blank">Java实现的简单双向Map,支持重复Value</a> <span class="text-muted">superlxw1234</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8F%8C%E5%90%91map/1.htm">双向map</a> <div>关键字:Java双向Map、DualHashBidiMap     有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。   数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。   即:既要根据Key找Value,又要根据Value</div> </li> <li><a href="/article/152.htm" title="PL/SQL触发器基础及例子" target="_blank">PL/SQL触发器基础及例子</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/oracle%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">oracle数据库</a><a class="tag" taget="_blank" href="/search/%E8%A7%A6%E5%8F%91%E5%99%A8/1.htm">触发器</a><a class="tag" taget="_blank" href="/search/PL%2FSQL%E7%BC%96%E7%A8%8B/1.htm">PL/SQL编程</a> <div>  触发器的简介; 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,   一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行, 触发时间:指明触发器何时执行,该值可取: before:表示在数据库动作之前触发</div> </li> <li><a href="/article/279.htm" title="[时空与探索]穿越时空的一些问题" target="_blank">[时空与探索]穿越时空的一些问题</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E9%97%AE%E9%A2%98/1.htm">问题</a> <div>       我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....       这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理</div> </li> <li><a href="/article/406.htm" title="easy ui datagrid上移下移一行" target="_blank">easy ui datagrid上移下移一行</a> <span class="text-muted">商人shang</span> <a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E7%A7%BB%E4%B8%8B%E7%A7%BB/1.htm">上移下移</a><a class="tag" taget="_blank" href="/search/easyui/1.htm">easyui</a><a class="tag" taget="_blank" href="/search/datagrid/1.htm">datagrid</a> <div>/** * 向上移动一行 * * @param dg * @param row */ function moveupRow(dg, row) { var datagrid = $(dg); var index = datagrid.datagrid("getRowIndex", row); if (isFirstRow(dg, row)) {</div> </li> <li><a href="/article/533.htm" title="Java反射" target="_blank">Java反射</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/%E5%8F%8D%E5%B0%84/1.htm">反射</a> <div>本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教 首先看看java中的Class package demo; public class ClassTest { /*先了解java中的Class*/ public static void main(String[] args) { //任何一个类都</div> </li> <li><a href="/article/660.htm" title="springMVC 使用JSR-303 Validation验证" target="_blank">springMVC 使用JSR-303 Validation验证</a> <span class="text-muted">杨白白</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a> <div>JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。 JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。 登录需要验证类 public class Login { @NotEmpty</div> </li> <li><a href="/article/787.htm" title="log4j" target="_blank">log4j</a> <span class="text-muted">香水浓</span> <a class="tag" taget="_blank" href="/search/log4j/1.htm">log4j</a> <div> log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE #log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML #console log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender log4</div> </li> <li><a href="/article/914.htm" title="使用ajax和history.pushState无刷新改变页面URL" target="_blank">使用ajax和history.pushState无刷新改变页面URL</a> <span class="text-muted">agevs</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/chrome/1.htm">chrome</a> <div>表现 如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。 是什么有这么强大的功能呢? HTML5里引用了新的API,history.pushState和history.replaceState,就是通过</div> </li> <li><a href="/article/1041.htm" title="centos中文乱码" target="_blank">centos中文乱码</a> <span class="text-muted">AILIKES</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a><a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a> <div>一、CentOS系统访问 g.cn ,发现中文乱码。 于是用以前的方式:yum -y install fonts-chinese CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。       后来,终于找到以下方法可以解决,需要两个中文支持的包: fonts-chinese-3.02-12.</div> </li> <li><a href="/article/1168.htm" title="触发器" target="_blank">触发器</a> <span class="text-muted">baalwolf</span> <a class="tag" taget="_blank" href="/search/%E8%A7%A6%E5%8F%91%E5%99%A8/1.htm">触发器</a> <div>触发器(trigger):监视某种情况,并触发某种操作。 触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete) 语法: create trigger triggerName after/before </div> </li> <li><a href="/article/1295.htm" title="JS正则表达式的i m g" target="_blank">JS正则表达式的i m g</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a> <div>        g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。         i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。         m:表示</div> </li> <li><a href="/article/1422.htm" title="HTML5模式和Hashbang模式" target="_blank">HTML5模式和Hashbang模式</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/Hashbang%E6%A8%A1%E5%BC%8F/1.htm">Hashbang模式</a><a class="tag" taget="_blank" href="/search/HTML5%E6%A8%A1%E5%BC%8F/1.htm">HTML5模式</a> <div>        我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。 html5Mode         一个布尔值,标识$location服务是否运行在HTML5模式下。 ha</div> </li> <li><a href="/article/1549.htm" title="[Maven学习笔记六]Maven生命周期" target="_blank">[Maven学习笔记六]Maven生命周期</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>从mvn test的输出开始说起   当我们在user-core中执行mvn test时,执行的输出如下:   /software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs</div> </li> <li><a href="/article/1676.htm" title="【Hadoop七】基于Yarn的Hadoop Map Reduce容错" target="_blank">【Hadoop七】基于Yarn的Hadoop Map Reduce容错</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a> <div>运行于Yarn的Map Reduce作业,可能发生失败的点包括 Task Failure Application Master Failure Node Manager Failure Resource Manager Failure 1. Task Failure 任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A</div> </li> <li><a href="/article/1803.htm" title="记一次数据推送的异常解决端口解决" target="_blank">记一次数据推送的异常解决端口解决</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/%E8%AE%B0%E4%B8%80%E6%AC%A1%E6%95%B0%E6%8D%AE%E6%8E%A8%E9%80%81%E7%9A%84%E5%BC%82%E5%B8%B8%E8%A7%A3%E5%86%B3/1.htm">记一次数据推送的异常解决</a> <div>   需求:从db获取数据然后推送到B         程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。     自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。    service iptables stop </div> </li> <li><a href="/article/1930.htm" title="巧用视错觉-UI更有趣" target="_blank">巧用视错觉-UI更有趣</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/ui%E8%A7%86%E9%A2%91/1.htm">ui视频</a><a class="tag" taget="_blank" href="/search/ui%E6%95%99%E7%A8%8B/1.htm">ui教程</a><a class="tag" taget="_blank" href="/search/ui%E8%87%AA%E5%AD%A6/1.htm">ui自学</a><a class="tag" taget="_blank" href="/search/ui%E8%B5%84%E6%96%99/1.htm">ui资料</a> <div>我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。 视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。 格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。 在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,</div> </li> <li><a href="/article/2057.htm" title="线段树-poj1177-N个矩形求边长(离散化+扫描线)" target="_blank">线段树-poj1177-N个矩形求边长(离散化+扫描线)</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E6%AE%B5%E6%A0%91/1.htm">线段树</a> <div>package com.ljn.base; import java.util.Arrays; import java.util.Comparator; import java.util.Set; import java.util.TreeSet; /** * POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177 </div> </li> <li><a href="/article/2184.htm" title="HTTP协议详解" target="_blank">HTTP协议详解</a> <span class="text-muted">chicony</span> <a class="tag" taget="_blank" href="/search/http%E5%8D%8F%E8%AE%AE/1.htm">http协议</a> <div>引言                                 </div> </li> <li><a href="/article/2311.htm" title="Scala设计模式" target="_blank">Scala设计模式</a> <span class="text-muted">chenchao051</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a> <div>Scala设计模式                我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译</div> </li> <li><a href="/article/2438.htm" title="安装mysql" target="_blank">安装mysql</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E8%A3%85/1.htm">安装</a> <div>安装mysql   (1)删除linux上已经安装的mysql相关库信息。rpm  -e  xxxxxxx   --nodeps (强制删除)      执行命令rpm -qa |grep mysql 检查是否删除干净   (2)执行命令  rpm -i MySQL-server-5.5.31-2.el</div> </li> <li><a href="/article/2565.htm" title="HTTP状态码大全" target="_blank">HTTP状态码大全</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/http%E7%8A%B6%E6%80%81%E7%A0%81/1.htm">http状态码</a> <div>完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request</div> </li> <li><a href="/article/2692.htm" title="asihttprequest上传图片" target="_blank">asihttprequest上传图片</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/ASIHTTPRequest/1.htm">ASIHTTPRequest</a> <div>NSURL *url =@"yourURL"; ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url]; [currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se</div> </li> <li><a href="/article/2819.htm" title="C语言中,关键字static的作用" target="_blank">C语言中,关键字static的作用</a> <span class="text-muted">e200702084</span> <a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a> <div>在C语言中,关键字static有三个明显的作用: 1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。 一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访</div> </li> <li><a href="/article/2946.htm" title="win7/8使用curl" target="_blank">win7/8使用curl</a> <span class="text-muted">geeksun</span> <a class="tag" taget="_blank" href="/search/win7/1.htm">win7</a> <div>1.  WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:  http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包   2.  可以给Windows增加c</div> </li> <li><a href="/article/3073.htm" title="Creating a Shared Repository; Users Sharing The Repository" target="_blank">Creating a Shared Repository; Users Sharing The Repository</a> <span class="text-muted">hongtoushizi</span> <a class="tag" taget="_blank" href="/search/git/1.htm">git</a> <div>转载自:   http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section: git init –bare git clone git remote git pull git p</div> </li> <li><a href="/article/3200.htm" title="Java实现字符串反转的8种或9种方法" target="_blank">Java实现字符串反转的8种或9种方法</a> <span class="text-muted">Josh_Persistence</span> <a class="tag" taget="_blank" href="/search/%E5%BC%82%E6%88%96%E5%8F%8D%E8%BD%AC/1.htm">异或反转</a><a class="tag" taget="_blank" href="/search/%E9%80%92%E5%BD%92%E5%8F%8D%E8%BD%AC/1.htm">递归反转</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%88%86%E4%BA%A4%E6%8D%A2%E5%8F%8D%E8%BD%AC/1.htm">二分交换反转</a><a class="tag" taget="_blank" href="/search/java%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%8F%8D%E8%BD%AC/1.htm">java字符串反转</a><a class="tag" taget="_blank" href="/search/%E6%A0%88%E5%8F%8D%E8%BD%AC/1.htm">栈反转</a> <div>注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客: http://josh-persistence.iteye.com/blog/2205768   /** * */ package com.wsheng.aggregator.algorithm.string; import java.util.Stack; /** </div> </li> <li><a href="/article/3327.htm" title="代码实现任意容量倒水问题" target="_blank">代码实现任意容量倒水问题</a> <span class="text-muted">home198979</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%80%92%E6%B0%B4/1.htm">倒水</a> <div>形象化设计模式实战             HELLO!架构                     redis命令源码解析   倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C</div> </li> <li><a href="/article/3454.htm" title="Druid datasource" target="_blank">Druid datasource</a> <span class="text-muted">zhb8015</span> <a class="tag" taget="_blank" href="/search/druid/1.htm">druid</a> <div>推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http</div> </li> <li><a href="/article/3581.htm" title="两种启动监听器ApplicationListener和ServletContextListener" target="_blank">两种启动监听器ApplicationListener和ServletContextListener</a> <span class="text-muted">spjich</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a> <div>引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器   ServletContextListener  特点: 依赖于sevlet容器,需要配置web.xml 使用方法: public class StartListener implements </div> </li> <li><a href="/article/3708.htm" title="JavaScript Rounding Methods of the Math object" target="_blank">JavaScript Rounding Methods of the Math object</a> <span class="text-muted">何不笑</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a> <div>    The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(),  Math.floor(), and  Math.round() — handle rounding in differen</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>