- 浏览: 2188717 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (682)
- 软件思想 (7)
- Lucene(修真篇) (17)
- Lucene(仙界篇) (20)
- Lucene(神界篇) (11)
- Solr (48)
- Hadoop (77)
- Spark (38)
- Hbase (26)
- Hive (19)
- Pig (25)
- ELK (64)
- Zookeeper (12)
- JAVA (119)
- Linux (59)
- 多线程 (8)
- Nutch (5)
- JAVA EE (21)
- Oracle (7)
- Python (32)
- Xml (5)
- Gson (1)
- Cygwin (1)
- JavaScript (4)
- MySQL (9)
- Lucene/Solr(转) (5)
- 缓存 (2)
- Github/Git (1)
- 开源爬虫 (1)
- Hadoop运维 (7)
- shell命令 (9)
- 生活感悟 (42)
- shell编程 (23)
- Scala (11)
- MongoDB (3)
- docker (2)
- Nodejs (3)
- Neo4j (5)
- storm (3)
- opencv (1)
最新评论
-
qindongliang1922:
粟谷_sugu 写道不太理解“分词字段存储docvalue是没 ...
浅谈Lucene中的DocValues -
粟谷_sugu:
不太理解“分词字段存储docvalue是没有意义的”,这句话, ...
浅谈Lucene中的DocValues -
yin_bp:
高性能elasticsearch ORM开发库使用文档http ...
为什么说Elasticsearch搜索是近实时的? -
hackWang:
请问博主,有用solr做电商的搜索项目?
Solr中Group和Facet的用法 -
章司nana:
遇到的问题同楼上 为什么会返回null
Lucene4.3开发之第八步之渡劫初期(八)
前面的文章,已经介绍了Nginx的作用以及Nginx的安装,本篇文章我们来看几个实际的小例子,来对Nginx进一步加深了解。
(一)Nginx一些常用的配置介绍
```` //nginx运行的用户,一般不要设置成root user nginx //工作进程,通常等于cpu的数量 worker_processes 1; //全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] error_log /var/log/nginx/error.log warn; //nginx的进程文件 pid /var/run/nginx.pid; events { //#单个进程最大连接数(最大连接数=连接数*进程数) worker_connections 1024; } //设置http一般 http { include /etc/nginx/mime.types; default_type application/octet-stream; //log日志格式 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; //访问日志的路径 access_log /var/log/nginx/access.log main; //指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件 sendfile on; #tcp_nopush on; //长连接超时时间,单位是秒 keepalive_timeout 65; //是否开启压缩 #gzip on; //启动时候加载的配置文件 include /etc/nginx/conf.d/*.conf; //定义一个虚拟主机 server{ //监听的端口号 listen 8777; //域名配置,可以有多个,空格分开 server_name 192.168.10.160 www.myhttp.com; //设置编码集 charset utf-8; //资源的请求访问配置 location / { //定义静态资源的目录 root /usr/share/nginx/html; //定义访问的html首页,可以配置多个,如果不生效,依次访问后面的 index index.html index.htm; } //错误页面的状态码及错误的html页面 error_page 500 502 503 504 /50x.html; //500+相关错误的返回定义 location = /50x.html { root /usr/share/nginx/html; } } } ````
(二)使用Nginx配置一个静态资源服务
使用nginx配置静态资源文件访问,非常简单,如第一步里面的html的首页访问,下面是一个网站,css,js,image等相关资源的静态访问配置:
```` // location ~ ^/(images|javascript|js|css|flash|media|static)/ { root /root/ ; expires 3d;#缓存有效期 //autoindex on; #打开目录浏览功能 //autoindex_exact_size on; #人性化方式显示文件大小否则以byte显示 // autoindex_localtime on; #按服务器时间显示,否则以gmt时间显示 allow 192.168.10.100; allow 172.29.73.0/24; deny all; } ````上面这一段代码需要配置server里面,然后就可以访问/root/下面的静态资源,并且可以定义相关用户ip的可以访问。
除此之外,我们还可以对指定文件夹开启目录浏览功能,这样就能够在web页面上随便的访问需要的资源了。
(三)使用Nginx+Html配置一个可以代理播放视频的服务
使用nginx+html可以非常方便的搭建一个视频播放服务,这里面默认的nginx是支持mp4类型的视频播放的,但是如果有其他格式如flv则需要相关的js支持才可以。
```` location ~ ^/(videos)/ { root /root/ ; autoindex on; #打开目录浏览功能 mp4; mp4_buffer_size 1m; mp4_max_buffer_size 5m; limit_rate 260k; limit_rate_after 3m; autoindex_exact_size off; autoindex_localtime off; } ````
html代码如下:
```` <!DOCTYPE html> <html> <head> <title> play vedio</title> //js插件vedio <link href="http://vjs.zencdn.net/5.0.2/video-js.css" rel="stylesheet"> <script src="http://vjs.zencdn.net/ie8/1.1.0/videojs-ie8.min.js"></script> <script src="http://vjs.zencdn.net/5.0.2/video.js"></script> </head> <body> //mp4的播放 <video src="videos/a.mp4" controls="controls" width="500" height="400"></video> //flv的播放 <video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="640" height="400" poster="http://vjs.zencdn.net/v/oceans.png" data-setup="{}"> <source src="videos/c.flv" type="video/flv"> </video> </body> </html> ````上面用到了video.js来支持flv视频格式的播放.
(四)使用Nginx配置反向代理+负载均衡
最后这一个功能,应该是实际开发中最常见的场景了,先来看一个简单的代理转发,
假如现在我们有一个tomcat服务,端口号是8888,部署ip是192.168.10.161,而
nginx的ip是192.168.10.160,那么如何做到通过nginx转发请求到tomcat的机器上呢?
简单的代理转发:
```` server{ //监听端口80 listen 80; //域名 server_name 192.168.10.160; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://192.168.10.161:8888/web/index; } //记录应用的log access_log /var/log/nginx/my_proxy.log; ````
通过上面的配置,当用户访问http://192.168.10.160时,就会自动跳转到http://192.168.10.161:8888/web/index这个tomcat的后端服务上面。
下面问题来了,一台tomcat已经扛不住当前的流量请求了,我们需要再部署一台tomcat来做负载均衡,假设ip是192.168.10.162,那么如何用Nginx来负载均衡的转发呢?
```` http{ upstream my_service { server 192.168.10.161:8888 server 192.168.10.162:8888 } server { listen 80; server_name www.backend.com; location / { proxy_pass http://my_service; // 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } } ````如上就完成了一个负载均衡的例子,当然负载均衡的策略有很多包括:
(1)轮询
(2)权重
(3)最少连接数
(4)最少处理时间
(5)ip_hash
(6)fair
等等,github上有很多的扩展插件,刚兴趣的同学可以自己尝试下。
有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。 技术债不能欠,健康债更不能欠, 求道之路,与君同行。
发表评论
-
什么是操作系统的虚拟内存?
2019-07-17 10:04 787https://mp.weixin.qq.com/s?__bi ... -
关于Linux进程的基础知识
2018-12-17 15:58 1299### 前言 在计算机里面,一个进程通常指的是一个运行程序的 ... -
小知识之Linux系统中的最大进程数,最大文件描述,最大线程数
2018-01-19 22:16 2035今天来了解一下linux里面的一些小知识: (一)Lin ... -
理解正常代理与反向代理的区别
2017-12-21 09:57 688http://blog.csdn.net/u010454030 ... -
Nginx入门介绍与安装
2017-12-20 21:38 1289### Nginx是什么? Nginx ... -
给centos重新安装yum的base-repo源
2017-12-14 21:06 6239如果自己的centos的系统yum源出现问题了,如何才能修 ... -
如何在centos7上使用shadowsocks配置代理
2016-11-16 16:59 17466作为一名程序员,如 ... -
centos7安装mysql
2016-11-14 16:41 1294centos7的默认yum源已经 ... -
unbutu+mysql的root密码重置方法
2016-01-11 14:16 1267MySQL密码重置策略: 1,停止mysql服务 s ... -
诡异的SSH免密失效
2015-12-31 12:31 2821今天在开发环境,重启了下hadoop,发现log里面竟然打出 ... -
Linux远程ssh脚本执行命令问题
2015-12-04 13:20 3824总结下使用ssh远程执行命令需要注意点: 一般我们会使用s ... -
Linux网络神器之强大的NetCat命令
2015-10-15 21:40 6485名称:netcat命令在linux中别名为nc 作用:支持任意 ... -
vi使用技巧--批量加注释任意符号
2015-08-07 16:25 1327使用vi批量加注释“#”或者是// 等一些符号,看似简单但用处 ... -
使用shell分页读取600万+的MySQL数据脚本
2015-07-15 13:02 2736shell-mysql (1)脚本背景: 由于要在Linux ... -
解决Centos下vim粘贴内容格式混乱问题
2015-06-24 13:36 3535有时候,我们在向vim打开的一个xml,或者任意文件中,拷贝 ... -
如何在Linux下递归查看所有文件或目录?
2015-04-15 17:37 2590find命令,是个非常nice的命令,如果你还不了解这个命 ... -
如何在Centos下设置Vim的永久显示行号功能?
2015-03-19 17:32 2066在Linux系统中,我们经常会使用vi或vim命令,来操作文本 ... -
你有一个好的归档习惯吗?
2015-02-11 22:01 1895备忘和扯一扯最近散仙 ... -
centos6.5服务器时间同步
2014-10-30 18:54 1388实际的开发环境中,我们的一组服务器的时间都需要一致,这样在执行 ... -
Cenots6更换163yum源
2014-10-09 10:52 1238如果发现自己的centos的yum源,速度缓慢,或出现异常不能 ...
相关推荐
Nginx 配置文件 nginx.conf 详解 Nginx 配置文件 nginx.conf 是 Nginx 服务器的核心配置文件,它控制着 Nginx 服务器的行为和性能。在这个配置文件中,我们可以设置服务器的用户和组、工作进程数、错误日志、进程...
Nginx配置文件(nginx.conf)配置详解 Nginx配置文件(nginx.conf)是Nginx服务器的核心配置文件,用于定义Nginx服务器的行为和配置。下面是Nginx配置文件的详细配置解释: 用户和组 Nginx配置文件中指定了用户和组,...
总结,Nginx的多域名配置、访问统计、日志请求头管理、反向代理和手机访问判断是其强大功能的一部分,可以帮助我们构建高效、灵活的Web服务架构。通过深入理解并正确配置这些选项,你可以更好地满足网站的需求,提升...
总的来说,利用Notepad++的自定义语言功能和"userDefineLang_nginx.xml"文件,我们可以让编辑Nginx配置文件变得更加舒适和高效。这种对细节的关注是提升开发效率和减少错误的重要途径,也是Notepad++等高级文本编辑...
反向代理是Nginx的一个重要功能,允许我们将请求代理到其他服务器上。在这个例子中,我们使用`include`指令来包含反向代理的配置文件`proxy.conf`。在这个文件中,我们可以指定反向代理的服务器、端口、协议等信息。...
通过生成SSL证书、重新编译Nginx以添加SSL模块,以及编辑Nginx配置文件实现HTTPS支持和负载均衡功能。此外,还提供了Nginx的基本操作命令,包括启动、停止和重启等。这些步骤和配置为构建安全可靠的Web服务器提供了...
设置监听地址和端口,与Nginx配置中的`fastcgi_pass`对应: ```ini listen = 127.0.0.1:9000 ``` 启动Nginx和PHP-FPM服务。如果一切配置无误,现在你应该可以通过浏览器访问`http://localhost/`并看到Nginz的欢迎...
在IT行业中,项目打包运行和Nginx配置是两个关键环节,它们对于应用程序的部署和发布至关重要。这里我们将深入探讨这两个主题。 首先,项目打包运行通常指的是将开发完成的前端或后端应用转换为可部署的形式。对于...
它以其稳定性、丰富的功能集、简单的配置文件和较低的内存消耗而闻名。 在配置文件中,`worker_processes auto;` 行指定了工作进程的数量,通常设置为服务器的 CPU 核心数。`error_log /var/log/nginx/error.log;` ...
使用WebUI配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, ssl证书自动申请、续签、配置等, 最终生成nginx.conf文件并覆盖nginx的默认配置文件, 完成nginx的最终功能配置。 支持nginx...
* 虚拟主机配置是 Nginx 的一项重要功能,允许在同一个 IP 地址上运行多个网站。 * 需要根据实际情况进行调整和优化,以提高网站的性能和稳定性。 Nginx 配置需要根据实际情况进行调整和优化,以提高网站的性能和...
nginx 四层代理测试 及SLB负载均衡功能配置测试 本文档旨在介绍nginx 四层代理测试 及SLB负载均衡功能配置测试的详细结果和结论。通过对nginx 四层代理和SLB负载均衡功能的测试,我们可以了解到其在实际应用中的优...
为了启用文件上传功能,你需要在Nginx配置中引入upload_module和upload_progress_module。这两个模块并不包含在Nginx的核心源码中,需要单独下载并编译进Nginx。 1. **Nginx配置与模块加载** 在配置Nginx之前,...
在Windows环境下,配置Nginx以支持HTTPS及在同一端口监听多个网站,即配置多个虚拟主机,是一项常见的网络服务设置任务。...同时,根据实际需求,还可以对Nginx配置进行更复杂的优化,如负载均衡、缓存等。
要配置Nginx进行TCP代理转发,我们需要创建一个新的Nginx配置文件,通常放在`/etc/nginx/conf.d/`目录下,例如命名为`tcp_proxy.conf`。在该文件中,我们需要使用`stream`模块来处理TCP流量。下面是一个基础的配置...
总结来说,Nginx作为一个开源的高性能Web服务器和反向代理服务器,其稳定性、丰富的功能集、简单的配置方法和低资源消耗使其成为处理高流量网站的首选。正确的配置对于确保网站的性能、安全性和可靠性至关重要。通过...
- **安全性考量**:考虑到安全性问题,建议仅在受信任的网络环境中使用此配置,同时加强对Nginx配置的安全性审查和日志监控。 - **性能优化**:根据实际情况调整 `proxy_connect_timeout` 和 `proxy_timeout` 参数,...
在本例中,Nginx配置文件可能是为了在Docker容器内优化网络服务性能和资源利用率。 4. **配置文件详解**:Nginx的配置文件通常以`.conf`为扩展名,包含一系列指令和块。`http`、`server`和`location`是最基本的配置...