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/1899373703607676928.htm" title="麒麟arm架构系统_安装nginx-1.27.0_访问500 internal server error nginx解决_13: Permission denied---Linux工作笔记072" target="_blank">麒麟arm架构系统_安装nginx-1.27.0_访问500 internal server error nginx解决_13: Permission denied---Linux工作笔记072</a> <span class="text-muted">添柴程序猿</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/nginx-1.27.0/1.htm">nginx-1.27.0</a><a class="tag" taget="_blank" href="/search/nginx%E6%9C%80%E6%96%B0%E7%89%88%E5%AE%89%E8%A3%85/1.htm">nginx最新版安装</a><a class="tag" taget="_blank" href="/search/%E9%BA%92%E9%BA%9Fv10/1.htm">麒麟v10</a><a class="tag" taget="_blank" href="/search/arm%E6%9E%B6%E6%9E%84/1.htm">arm架构</a><a class="tag" taget="_blank" href="/search/%E9%BA%92%E9%BA%9Fv10/1.htm">麒麟v10</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E8%A3%85nginx/1.htm">安装nginx</a> <div>[root@hadoop173nginx1.27.0]#wget-chttp://nginx.org/download/nginx-1.27.0.tar.gz--2024-07-0509:47:00--http://nginx.org/download/nginx-1.27.0.tar.gzResolvingnginx.org(nginx.org)...3.125.197.172,52.58.19</div> </li> <li><a href="/article/1899317217368010752.htm" title="Linux 提权" target="_blank">Linux 提权</a> <span class="text-muted">藤原千花的败北</span> <a class="tag" taget="_blank" href="/search/%E6%9D%83%E9%99%90%E6%8F%90%E5%8D%87/1.htm">权限提升</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</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><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a> <div>文章目录前言1.内核漏洞提权脏牛(CVE-2016-5195)2.不安全的系统配置项2.1SUID/SGID提权2.2sudo提权2.3定时任务提权2.4capabilities提权3.第三方软件提权TomcatmanagerNginx本地提权(CVE-2016-1247)Redis未授权4.参考前言Linux提权总结1.内核漏洞提权内核管理着组件(如系统上的内存)和应用程序之间的通信。这个关键作</div> </li> <li><a href="/article/1899308009453056000.htm" title="Docker Compose国内镜像一键部署dify" target="_blank">Docker Compose国内镜像一键部署dify</a> <span class="text-muted">llody_55</span> <a class="tag" taget="_blank" href="/search/GPT/1.htm">GPT</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a><a class="tag" taget="_blank" href="/search/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a> <div>克隆代码gitclonehttps://github.com/langgenius/dify.git进入docker目录cddocker修改.env部分#将环境模版文件变量重命名cp.env.example.env#修改.env,修改nginx的host和端口,避免端口冲突NGINX_SERVER_NAME=192.168.1.223NGINX_PORT=1880NGINX_SSL_PORT=14</div> </li> <li><a href="/article/1899266270478528512.htm" title="istio从入门到精通(1)" target="_blank">istio从入门到精通(1)</a> <span class="text-muted">weixin_43806846</span> <a class="tag" taget="_blank" href="/search/istio/1.htm">istio</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a> <div>1、以单个的nginx举例部署nginx服务#nginx-deployment.yamlapiVersion:apps/v1kind:Deploymentmetadata:name:nginxspec:replicas:2selector:matchLabels:app:nginxtemplate:metadata:labels:app:nginxspec:containers:-name:ngi</div> </li> <li><a href="/article/1899265892441714688.htm" title="Ubuntu 下 nginx-1.24.0 源码分析 - ngx_modules" target="_blank">Ubuntu 下 nginx-1.24.0 源码分析 - ngx_modules</a> <span class="text-muted">若云止水</span> <a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</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> <div>定义在objs\ngx_modules.c#include#includeexternngx_module_tngx_core_module;externngx_module_tngx_errlog_module;externngx_module_tngx_conf_module;externngx_module_tngx_openssl_module;externngx_module_tngx_</div> </li> <li><a href="/article/1899214071660605440.htm" title="Nginx如何实现 TCP和UDP代理?" target="_blank">Nginx如何实现 TCP和UDP代理?</a> <span class="text-muted">m0_74824755</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/tcp%2Fip/1.htm">tcp/ip</a><a class="tag" taget="_blank" href="/search/udp/1.htm">udp</a> <div>文章目录前言Nginx之TCP和UDP代理工作原理示意图配置文件和命令参数注释基本命令配置实例说明TCP代理实例UDP代理实例总结前言Nginx是一个高性能的HTTP和反向代理服务器,同时也支持TCP/UDP代理。在1.9.13版本后,Nginx已经支持端口转发,包括TCP和UDP协议。Nginx的TCP/UDP代理功能允许它作为一个中间人,接收来自客户端的TCP或UDP请求,并将这些请求转发到指</div> </li> <li><a href="/article/1899073957848477696.htm" title="Nginx下载安装使用详解" target="_blank">Nginx下载安装使用详解</a> <span class="text-muted">clownAdam</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><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下载安装使用详解Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它以其高并发处理能力、低内存消耗和模块化架构而闻名。以下是Nginx的下载、安装和基本使用的详细步骤。1.下载Nginx你可以从Nginx的官方网站下载最新版本的源码包,或者通过包管理器安装。1.1从官网下载源码包访问Nginx官方网站,选择适合的版本进行下载。例如:wget</div> </li> <li><a href="/article/1899045342582730752.htm" title="第八课:性能优化与高并发处理方案" target="_blank">第八课:性能优化与高并发处理方案</a> <span class="text-muted">deming_su</span> <a class="tag" taget="_blank" href="/search/Nodejs/1.htm">Nodejs</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>Node.js作为一种基于事件驱动、非阻塞I/O模型的JavaScript运行环境,广泛应用于高并发、实时性强的应用开发。然而,随着业务需求的不断增长,如何在Node.js中高效地处理大量并发请求、优化性能,成为了开发者必须面对的重要课题。本文将详细介绍Node.js性能优化与高并发处理的几种关键方案,包括使用Cluster模块多进程优化、Redis缓存加速数据查询、负载均衡与Nginx反向代理,</div> </li> <li><a href="/article/1899042445111390208.htm" title="架构设计:负载均衡层设计方案(2" target="_blank">架构设计:负载均衡层设计方案(2</a> <span class="text-muted">xjdwlq2022</span> <a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>./configure–prefix=/usr/nginx-1.8.0make&&makeinstall整个验证、编译、安装过程不应该报任何错误。如果您使用prefix设置了安装目标目录,那么可能您还需要在/etc/profix文件中设置环境变量:2.3、安装验证和启动下面介绍几个nginx常用的命令,如果您可以正常使用这些命令,那么说明nginx已经安装成功了。nginx:直接在命令行键入ngi</div> </li> <li><a href="/article/1899036394462965760.htm" title="Nginx负载均衡配置详解" target="_blank">Nginx负载均衡配置详解</a> <span class="text-muted">p-knowledge</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a> <div>Nginx是一个高性能的HTTP和反向代理服务器,广泛用于负载均衡。它支持多种负载均衡策略,可以根据不同的需求进行配置。以下是Nginx负载均衡的详细配置和使用示例。一、负载均衡基本概念负载均衡是将请求分配到多个后端服务器上,以提高网站的可用性和性能。Nginx可以通过配置负载均衡器,将客户端请求分发给多个后端服务器。二、负载均衡配置安装Nginx如果还未安装Nginx,可以使用以下命令进行安装(</div> </li> <li><a href="/article/1899028075123896320.htm" title="Nginx高性能负载均衡:算法与策略详解" target="_blank">Nginx高性能负载均衡:算法与策略详解</a> <span class="text-muted">墨夶</span> <a class="tag" taget="_blank" href="/search/Nginx%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%991/1.htm">Nginx学习资料1</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>Nginx高性能负载均衡:算法与策略详解在当今快速发展的互联网时代,Web应用程序需要处理大量并发请求以提供稳定高效的用户体验。为了应对日益增长的流量压力,负载均衡成为了一种不可或缺的技术手段。Nginx作为一款高性能的HTTP和反向代理服务器,凭借其卓越的性能和灵活的配置能力,在负载均衡领域占据了举足轻重的地位。本文将深入探讨如何利用Nginx实现高效、可靠的负载均衡,涵盖常用负载均衡算法、配置</div> </li> <li><a href="/article/1899023411779268608.htm" title="【从0到1构建实时聊天系统:Spring Boot + Vue3 + WebSocket全栈实战】" target="_blank">【从0到1构建实时聊天系统:Spring Boot + Vue3 + WebSocket全栈实战】</a> <span class="text-muted">小怪兽9699</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/websocket/1.htm">websocket</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>一、项目架构技术栈清单:后端:SpringBoot3.0+WebSocket+STOMP前端:Vue3+Pinia+WebSocketClient部署:Nginx+DockerCompose二、核心功能实现1.WebSocket双向通信//后端配置类@Configuration@EnableWebSocketMessageBrokerpublicclassWebSocketConfigimplem</div> </li> <li><a href="/article/1898998319716298752.htm" title="conf配置文件修改后Nginx跨网络依然无法访问或者无法渲染页面的解决方案" target="_blank">conf配置文件修改后Nginx跨网络依然无法访问或者无法渲染页面的解决方案</a> <span class="text-muted">MickeyCV</span> <a class="tag" taget="_blank" href="/search/Java%E5%BC%80%E5%8F%91%E5%AD%A6%E4%B9%A0/1.htm">Java开发学习</a><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/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a> <div>目录场景一:无法访问此网站解决方法1.检查防火墙规则,确保目标端口已开放2.使用UFW防火墙开放端口3.检查Nginx绑定的IP地址和端口场景二:无法渲染页面解决方法场景一:无法访问此网站在完成Nginx配置后,尝试通过局域网或公网访问Nginx服务时,却遇到了“无法访问此网站”的错误。尽管已经按照文档仔细配置了Nginx的配置文件,问题依然存在。这可能是由于防火墙未开放端口,导致Nginx配置文</div> </li> <li><a href="/article/1898881571247681536.htm" title="通过 Docker openssl 容器生成生成Nginx证书文件" target="_blank">通过 Docker openssl 容器生成生成Nginx证书文件</a> <span class="text-muted">JunLan~</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/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><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>使用alpine/openssl镜像生成证书1.拉取容器[root@localhost~]#dockerrun--rmalpine/opensslversionOpenSSL3.3.311Feb2025(Library:OpenSSL3.3.311Feb2025)2.运行alpine/openssl生成证书(Nginx)#生成1个.key私钥文件,1个.crt的证书文件,存放在当前路径[root@</div> </li> <li><a href="/article/1898847156056420352.htm" title="Vite 打包后Nginx部署配置" target="_blank">Vite 打包后Nginx部署配置</a> <span class="text-muted">winyh5</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>自我简介:4年导游,10年程序员,最近6年一直深耕低代码领域,分享低代码和AI领域见解。vite.config.js配置文件—纯笔记记录,没有阅读价值~exportdefault{base:"/mywebsite",//开发或生产环境服务的公共基础路径}当base修改后nginx部署时需要做相应调整location/{root/usr/share/nginx/html;indexindex.htm</div> </li> <li><a href="/article/1898843619826135040.htm" title="webpack-dev-server解决跨域" target="_blank">webpack-dev-server解决跨域</a> <span class="text-muted">大猫会长</span> <a class="tag" taget="_blank" href="/search/webpack/1.htm">webpack</a><a class="tag" taget="_blank" href="/search/webpack/1.htm">webpack</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a> <div>目前解决跨域常用的方法是采用webpack-dev-server结合proxy接口代理或者使用Nginx均可配置跨域的代理。由于在本地配置好webpack-dev-server之后,所有项目成员都可以使用,一劳永逸。我们采用了配置webpack-dev-server中proxy的接口代理,在webpack.config.js文件中对webpack-dev-server配置如下:proxy:[{co</div> </li> <li><a href="/article/1898824578466115584.htm" title="wsl安装及nginx安装" target="_blank">wsl安装及nginx安装</a> <span class="text-muted">新阿伟先生</span> <a class="tag" taget="_blank" href="/search/%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/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/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/10/1.htm">10</a> <div>Windows装wsl实现Linux搭建本地服务器目前大部分前端项目均运行在Linux服务器上在Windows上搭建环境可开始测试服务器相关问题Wsl官方教程:安装wslWsl版本控件:windowsterminal(微软商店下载)Wsl为纯命令行,windows预览版的话可以加装wslg有图形环境,wslg只在21h2和win11里提供搭建nginx服务器:安装nginx:sudoaptupda</div> </li> <li><a href="/article/1898786757621641216.htm" title="K8s 1.18.6版本基于 ingress-nginx 实现金丝雀发布(灰度发布)" target="_blank">K8s 1.18.6版本基于 ingress-nginx 实现金丝雀发布(灰度发布)</a> <span class="text-muted">zerchin</span> <a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/ingress-nginx/1.htm">ingress-nginx</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/ingress-nginx/1.htm">ingress-nginx</a> <div>K8s1.18.6版本基于ingress-nginx实现金丝雀发布(灰度发布)环境软件版本kubernetesv1.18.6nginx-ingress-controller0.32.0Rancherv2.4.5本次实验基于Rancher-v2.4.5部署了1.18.6版本的k8s集群,nginx-ingress版本为0.32.0,理论上ingress-nginx>=0.21.0都是可以的。介绍金丝</div> </li> <li><a href="/article/1898785872573165568.htm" title="Java进阶-在Ubuntu上部署SpringBoot应用" target="_blank">Java进阶-在Ubuntu上部署SpringBoot应用</a> <span class="text-muted">m0_74824534</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a> <div>随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一。Java作为一种跨平台的编程语言,具有广泛的应用场景。本文将详细介绍如何在Ubuntu服务器上部署Java应用,包括环境准备、应用发布、配置反向代理(Nginx)、设置系统服务以及日志管理等步骤。一、部署准备在开始之前,请确保你具备以下条件:一台运行Ubuntu(如Ubuntu20.04或22.04)的服务器,具</div> </li> <li><a href="/article/1898705019427942400.htm" title="Ubuntu 下 nginx-1.24.0 源码分析 - cycle->modules[i]->ctx" target="_blank">Ubuntu 下 nginx-1.24.0 源码分析 - cycle->modules[i]->ctx</a> <span class="text-muted">若云止水</span> <a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</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> <div>ngx_module_s结构体中的ctx字段是Nginx模块系统的核心设计之一。这个字段的主要作用是提供特定类型模块的上下文信息。ctx字段实际上是一个指向模块特定上下文结构的指针。根据模块类型的不同,ctx可以指向不同的上下文结构,比如:对于HTTP模块,指向ngx_http_module_t对于Core模块,指向ngx_core_module_t对于Event模块,指向ngx_event_mo</div> </li> <li><a href="/article/1898593134133178368.htm" title="Linux 中安装nginx" target="_blank">Linux 中安装nginx</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/linuxnginx/1.htm">linuxnginx</a> <div>注意:源文件目录工作目录1.从官网下载nginx(http://nginx.org/en/download....上传安装包到指定目录(/usr/local/src)解压nginx安装包tar-zxvfnginx-1.19.10.tar.gz3.解压完成后的目录为源文件目录,可以命名为nginx-source4.进入nginx-source源文件目录下。(cd/usr/local/src/ngin</div> </li> <li><a href="/article/1898535347168538624.htm" title="Nginx 常用命令和部署详解及案例示范" target="_blank">Nginx 常用命令和部署详解及案例示范</a> <span class="text-muted">m0_74825488</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>一、Nginx常用命令1.1启动Nginx要启动Nginx服务,可以使用以下命令:sudosystemctlstartnginx1.2停止Nginx如果需要停止Nginx服务,可以使用以下命令:sudosystemctlstopnginx1.3重启Nginx在修改了Nginx配置文件后,需要重启Nginx以使更改生效。可以使用以下命令:sudosystemctlrestartnginx1.4重新加</div> </li> <li><a href="/article/1898500077962457088.htm" title="Nginx日志安全分析脚本" target="_blank">Nginx日志安全分析脚本</a> <span class="text-muted">寰宇001</span> <a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a> <div>nginx_log_check脚本作者:al0ne项目地址:https://github.com/al0ne/nginx_log_checkNginx日志安全分析脚本功能统计Top20地址SQL注入分析扫描器告警分析漏洞利用检测敏感路径访问文件包含攻击Webshell寻找响应长度的urlTop20寻找罕见的脚本文件访问寻找302跳转的脚本文件Usage设置报告保存地址outfile设置日志分析目录</div> </li> <li><a href="/article/1898466965475880960.htm" title="springcloud项目部署Nginx+Gateway+其他服务" target="_blank">springcloud项目部署Nginx+Gateway+其他服务</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/cloud/1.htm">cloud</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/gateway/1.htm">gateway</a> <div>一.部署Nginx:Nginx是一个高性能的Web服务器和反向代理服务器。它常用于将流量从公共互联网引导到内部的应用程序服务器。你可以在服务器上安装Nginx,并根据你的需求进行配置。通常的配置包括监听端口、定义服务器块、配置反向代理、设置SSL/TLS等。配置完成后,你可以启动Nginx,并确保它能够正常处理流量。明白它在整体项目中承担的作用:反向代理,负载均衡以及部署静态资源,这也是本章所用到</div> </li> <li><a href="/article/1898455543404621824.htm" title="轻松上手:Nginx服务器反向代理配置指南" target="_blank">轻松上手:Nginx服务器反向代理配置指南</a> <span class="text-muted">deming_su</span> <a class="tag" taget="_blank" href="/search/Nginx/1.htm">Nginx</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/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>接上一篇《轻松上手:Nginx服务器基础配置指南》后,我们来探讨一下Nginx反向代理配置具体实现是怎么样的。让我看看Nginx配置的一些核心代码❤️‍location/apis{rewrite^.+apis/?(.*)$/$1break;add_headerAccess-Control-Allow-Origin*;add_headerAccess-Control-Allow-Headers"Ac</div> </li> <li><a href="/article/1898454645630627840.htm" title="Nginx中$http_host、$host、$proxy_host的区别" target="_blank">Nginx中$http_host、$host、$proxy_host的区别</a> <span class="text-muted">m0_74823434</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>知识巩固!网上看到这篇文章,这里转载记录一下。简介变量是否显示端口值是否存在host浏览器请求的ip,不显示端口否"Host:value"显示值为a:b的时候,只显示ahttp_host浏览器请求的ip和端口号是“Host:value”,value存在就显示proxy_host被代理服务的ip和端口号默认80不显示其他端口显示"Host:value"显示配置反向代理时,接口请求报404问题应用描述</div> </li> <li><a href="/article/1898412504162299904.htm" title="闪客网盘同款的运营级网盘系统网站源码" target="_blank">闪客网盘同款的运营级网盘系统网站源码</a> <span class="text-muted">timesky</span> <a class="tag" taget="_blank" href="/search/php/1.htm">php</a> <div>闪客网盘同款的运营级网盘系统网站源码,一款非常实用的网盘系统,支持转存和限速下载,VIP开启高速下载!源码无任何后门木马亲测,放心使用可以帮助您打造一个安全可靠的网盘分享平台,该系统支持用户使用微信扫码关注公众号登录,上传文件分享链接可自定义,文件可一键保存到我的网盘,支付易支付和官方支付接口!搭建说明Nginx1.20PHP7.1-7.3MySOL5.6phpMyAdmin5.11.上传源码到根</div> </li> <li><a href="/article/1898375543758319616.htm" title="Nginx 代理 Redis 实现通过域名连接数据库" target="_blank">Nginx 代理 Redis 实现通过域名连接数据库</a> <span class="text-muted">逢生博客</span> <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/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>文章目录Nginx模块介绍Stream模块配置Redis配置文件连接RedisNginx、Redis安装这里不做介绍。域名默认已经解析到服务器公网IP。Nginx模块介绍HTTP模块:HTTP模块提供了处理HTTP请求的功能,包括反向代理、负载均衡、缓存、HTTP代理等。例如:proxy模块用于反向代理和负载均衡,fastcgi模块用于处理FastCGI请求。Stream模块:Stream模块用于</div> </li> <li><a href="/article/1898364238431318016.htm" title="Nginx代理Redis哨兵主从配置" target="_blank">Nginx代理Redis哨兵主从配置</a> <span class="text-muted">Rewloc</span> <a class="tag" taget="_blank" href="/search/springboot/1.htm">springboot</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/Redis%E4%B8%BB%E4%BB%8E%E5%A4%8D%E5%88%B6/1.htm">Redis主从复制</a><a class="tag" taget="_blank" href="/search/%E5%93%A8%E5%85%B5%E6%A8%A1%E5%BC%8F/1.htm">哨兵模式</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><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>Nginx代理Redis哨兵主从配置一、环境Nginx版本:1.21.6Center7.5及以上或MasOS搭建Redis哨兵主从模式Springboot集成Redis哨兵主从模式提示:Nginx必须安装upstream模块二、配置Nginx配置有三个方案(详见后续内容),其中:方案一将哨兵所有节点使用一个端口对外映射;方案二是每个哨兵端口配置一个对应的映射端口,总体和正常哨兵配置方式无差别;方案</div> </li> <li><a href="/article/1898356128547401728.htm" title="nginx代理mysql和redis" target="_blank">nginx代理mysql和redis</a> <span class="text-muted">Blueeyedboy521</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E7%BB%84%E4%BB%B6/1.htm">开发组件</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>目录MysqlredisMysql这里监听另外一台B虚拟机中的192.168.0.44:3306,并通过A虚拟机的3306端口开放出去之后,只要外部连接A虚拟机ip:3306,并使用mysql的用户名、密码,就可以访问内部的#mysql了stream{upstreammysql{server192.168.0.44:3306;}server{listen3306;proxy_connect_tim</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>