ngnix

Apace、Ngnix、Tomcat三者关系

孤街醉人 提交于 2019-12-04 22:15:35
Apache,指的应该是Apache软件基金会下的一个项目—— Apache HTTP Server Project ;Nginx同样也是一款开源的HTTP服务器软件(当然它也可以作为邮件代理服务器、通用的TCP代理服务器)。 Apache/Nginx 应该叫做「HTTP Server」;而 Tomcat 则是一个「Application Server」,或者更准确的来说,是一个「Servlet/JSP」应用的容器(Ruby/Python 等其他语言开发的应用也无法直接运行在 Tomcat 上)。 HTTP服务器本质上也是一种应用程序——它通常运行在服务器之上,绑定服务器的IP地址并监听某一个tcp端口来接收并处理HTTP请求,这样客户端(一般来说是IE, Firefox,Chrome这样的浏览器)就能够通过HTTP协议来获取服务器上的网页(HTML格式)、文档(PDF格式)、音频(MP4格式)、视频(MOV格式)等等资源。下图描述的就是这一过程: <img src="https://pic2.zhimg.com/904696074e077934e601f175913f42fd_b.png" data-rawwidth="849" data-rawheight="273" class="origin_image zh-lightbox-thumb" width="849"

ngnix搭建前端服务

匿名 (未验证) 提交于 2019-12-03 00:14:01
首先下载ngnix包 http://nginx.org/en/download.html 将ngnix包解压到某个文件夹下 window nginx 基础命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动、停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍。(说明:打开cmd窗口) 1、启动: C:\server\nginx-1.0.2> start nginx 或 C:\server\nginx-1.0.2>nginx.exe 注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。 2、停止: C:\server\nginx-1.0.2> nginx.exe -s stop 或 C:\server\nginx-1.0.2> nginx.exe -s quit 注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。 3、重新载入Nginx: C:\server\nginx-1.0.2> nginx.exe -s reload 当配置信息修改,需要重新载入这些配置时使用此命令。 4、重新打开日志文件: C:\server\nginx-1.0.2> nginx.exe -s reopen 5、查看Nginx版本: C:\server\nginx-1.0.2

ngnix之笔记

流过昼夜 提交于 2019-12-02 04:51:27
############################################################################# 我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了。下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时 候生效最关键的一点是,在server的设置里面添加这一行: listen 80 default; 后面的default参数表示这个是默认虚拟主机。 Nginx 禁止IP访问这个设置非常有用。 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500.目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。就可以这样设置: server { listen 80 default; return 500; } 也可以把这些流量收集起来,导入到自己的网站,只要做以下跳转设置就可以: server { listen 80 default; rewrite ^(.*) http://www.example.com permanent; } 按照如上设置后,确实不能通过IP访问服务器了,但是在应该用中出现当server_name后跟多个域名时,其中一个域名怎么都无法访问

讨论Web前后端分离的意义

谁说胖子不能爱 提交于 2019-12-01 20:28:00
自然是有很大意义的。下面我可能说的比较多……方便题主能够更全面的了解为什么说是有有意义的。另外,本文是以Java的角度谈前后端分离。放心,大家一定会有种是我了,没错,的感觉。 一、先来明晰下概念   前后端分离是通过Ngnix+Tomcat的方式(也可以中间加一个Node.js)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,iOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。   它的核心思想是 前端HTML页面通过Ajax调用后端的Restful API接口并使用json数据进行交互。这点题主也有提到。 二、其次,让我们了解下,没有前后端分离的时代(各种耦合)   过去,Java Web项目大多数都是Java程序员又当爹又当妈,又搞前端,又搞后端。   感觉就是,怀疑猿生……   那时的JavaWeb项目都是使用了若干后台框架,Spring MVC/Struts + Spring + Spring JDBC/Hibernate/Mybatis 等等。   大多数项目在Java后端都是分了三层,控制层,业务层,持久层。控制层负责接收参数,调用相关业务层,封装数据,以及路由&渲染到JSP页面。然后JSP页面上使用各种标签或者手写Java表达式将后台的数据展现出来

ngnix反向代理后获取用户真实ip

最后都变了- 提交于 2019-12-01 07:14:48
server { listen 80; listen 802; server_name test111.xxxx.com 118.24.122.131; #charset koi8-r; location / { proxy_pass http://127.0.0.1:82; # $host 变量,Host 为变量名 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; #access_log logs/host.access.log main; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; root html; index index.html index.htm default.aspx; proxy_connect_timeout 600; proxy_read_timeout 600; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header

Ngnix调整

三世轮回 提交于 2019-12-01 02:31:48
1、隐藏版本号,防止针对版本攻击 http { server_tokens off; 2、增加并发连接 2.1 worker_processes :改为CPU核数一致,因为异步IO进程是单线程 2.2 worker_connections 65535 apache 理论并发 3w nginx 理论并发 5w 2.3 /etc/security/limits.conf:修改配置文件 * soft nofile 100000 * hard nofile 100000 ulimit -h 查看 ulimit -Hn 100000:实时生效,重起丢失 ulimit -Sn 100000:实时生效,重起丢失 2.4 客户端测试也需要提高打开文件的限制 3. 客户端请求头信息过长,服务请求缓存过小 3.1 client_header_buffer_size 1K; 3.2 large_client_header_buffer 4 4K;4个4K.工作;实验 4 1m 4、页面压缩gzip on; gzip_min_length 1000; gzip_comp_level 4; gzip_types text/plain application/json; 5、缓存(服务器要求客户缓存天数) 服务端对长时间不变化的资源告知客户端缓存 Location ~* \.(jpg|png)$ {

2016年3月14日:Ngnix 配置

心已入冬 提交于 2019-11-30 18:14:49
Ngnix log 路径配置 server { listen 80; access_log /data/logs/nginx/xxx.access.log main; } Ngnix log 格式配置 http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$request_time" '"$upstream_response_time" "$upstream_addr"'; } Ngnix proxy_next_upstream 可以配置在什么情况下将请求发现下一个 upstream 服务器。这个配置要慎用,当配置成 proxy_next_upstream timeout 可能会导致请求重试,重复提交 来源: oschina 链接: https://my.oschina.net/u/1158769/blog/637654

ngnix適用與哪些場景

↘锁芯ラ 提交于 2019-11-30 13:39:21
發起一個web請求,先經過ngnix,再到我們的應用服務(比如:tomcat),然後再去訪問我們的緩存服務(比如:redis)或者我們的數據庫(比如:mysql)。最後提供基本的數據服務。 但是這裏有一個問題:我們的應用服務因爲要求開發效率非常高,所以它的運行效率是很低的。它的qps,或者tps,或者併發都是受限制的,所以我們需要把很多這樣的應用服務組成一個集羣。 向用戶提供高可用性。而一旦很多應用服務構成集羣的時候,我們就需要ngnix具有反向代理功能,可以把動態請求傳到給用戶。而很多應用構成集羣,它一定會帶來兩個需求: 1.我們需要動態的擴容。 2.有些服務出問題的時候,我們需要做容災。 那麼這樣,我們的反向代理必須具備負載均衡功能。其次,在這樣的一個鏈路中,ngnix是處在企業內網的一個邊緣節點。隨着我們網絡鏈路的增長,用戶體驗到的時延會增加。 所以如果我們能夠把一些所有用戶都看起來不變的或者在一段時間內看起來不變的動態內容緩存在ngnix部分,由ngnix直接向用戶提供訪問。那麼,這樣的話,用戶時延就會減少很多。 所以,反向代理就衍生出了另外一個功能叫緩存。它能夠加速我們的訪問。而很多時候,我們在訪問像css或者javascript文件或者像一些小圖片,那麼這樣的靜態資源,是沒有必要 由應用服務來訪問的。它只需要通過本地文件,系統上放置的靜態資源

ngnix

我的梦境 提交于 2019-11-29 07:16:21
PCRE 库支持正则表达式。如果我们在配置文件nginx.conf中使用了正则表达式,那么在编译Nginx时就必须把 PCRE 库编译进Nginx,因为Nginx的HTTP模块需要靠它. 来源: https://www.cnblogs.com/hshy/p/11462767.html