nginx 基本配置
2015-11-28 22:29
567 查看
CentOS安装:
下载nginx yum源文件http://nginx.org/en/linux_packages.html#stable ,替换源文件后使用yum安装。
提示以下错误
使用命令查看到openssl版本过低
反向代理:
重新加载配置后访问192.168.10.177,将出出现192.168.10.180服务器内容
tomcat日志信息分为两大类 :一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息。二是访问日志信息,它记录访问的时间,IP,访问的资料等相关信息。默认 tomcat 不记录访问日志,如下方法可以使 tomcat 记录访问日志,编辑 ${catalina}/conf/server.xml 文件。注 :${catalina} 是 tomcat 的安装目录,把className="org.apache.catalina.valves.AccessLogValve的注释去掉即可。运行日志分为下面5类:catalina
、 localhost 、 manager 、 admin 、 host-manager。每类日志的级别分为如下7种:SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
在180上打印日志时,看见全是代理过来的IP
继续修改server中内容
%{XXX}i xxx代表传入的头(HTTP Request)
%{XXX}o xxx代表传出的响应头(Http Resonse)
%{XXX}c xxx代表特定的Cookie名
%{XXX}r xxx代表ServletRequest属性名
%{XXX}s xxx代表HttpSession中的属性名
在180上继续打印日志时,看见是客户端访问日志
负载均衡:
自定义错误页面:
在server指定404,500等http响应状态返回的页面,/opt/errorpage/error.html需要存在。
同时停掉177与180服务器,再次访问时就会出现error.html文件内容。需要注意非静态的404被tomcat捕获,还需要修改tomcat 404错误界面(tomcat/conf/web.xml)
指定静态目录:
此时只访问ip/test时不会自动弹出index.html,需要按以下修改
= 严格匹配
~ 区分大小写匹配(可用正则表达式)
!~区分大小写不匹配
~* 不区分大小写匹配(可用正则表达式)
!~*不区分大小写不匹配
^~ 以某个常规字符串开头,匹配url路径头即可
下载nginx yum源文件http://nginx.org/en/linux_packages.html#stable ,替换源文件后使用yum安装。
yum install nginx
提示以下错误
Running transaction check ---> Package nginx.x86_64 0:1.8.0-1.el6.ngx will be installed --> Processing Dependency: openssl >= 1.0.1 for package: nginx-1.8.0-1.el6.ngx.x86_64 --> Processing Dependency: libz.so.1(ZLIB_1.2.0)(64bit) for package: nginx-1.8.0-1.el6.ngx.x86_64 --> Processing Dependency: libssl.so.10(libssl.so.10)(64bit) for package: nginx-1.8.0-1.el6.ngx.x86_64 --> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: nginx-1.8.0-1.el6.ngx.x86_64 --> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit) for package: nginx-1.8.0-1.el6.ngx.x86_64 --> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.1)(64bit) for package: nginx-1.8.0-1.el6.ngx.x86_64 --> Finished Dependency Resolution Error: Package: nginx-1.8.0-1.el6.ngx.x86_64 (nginx) Requires: openssl >= 1.0.1 Installed: openssl-1.0.0-20.el6_2.5.x86_64 (@anaconda-CentOS-201207061011.x86_64/6.3) openssl = 1.0.0-20.el6_2.5 Error: Package: nginx-1.8.0-1.el6.ngx.x86_64 (nginx) Requires: libcrypto.so.10(libcrypto.so.10)(64bit) Error: Package: nginx-1.8.0-1.el6.ngx.x86_64 (nginx) Requires: libz.so.1(ZLIB_1.2.0)(64bit) Error: Package: nginx-1.8.0-1.el6.ngx.x86_64 (nginx) Requires: libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit) Error: Package: nginx-1.8.0-1.el6.ngx.x86_64 (nginx) Requires: libssl.so.10(libssl.so.10)(64bit) Error: Package: nginx-1.8.0-1.el6.ngx.x86_64 (nginx) Requires: libcrypto.so.10(OPENSSL_1.0.1)(64bit) You could try using --skip-broken to work around the problem
使用命令查看到openssl版本过低
rpm -qa |grep openssl更新openssl,并再次安装nginx
yum update openssl yum install nginx
反向代理:
vim /etc/nginx/conf.d/default.conf在server中添加以下内容
location / { proxy_pass http://192.168.10.180; }
重新加载配置后访问192.168.10.177,将出出现192.168.10.180服务器内容
/etc/init.d/ngnix reload
tomcat日志信息分为两大类 :一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息。二是访问日志信息,它记录访问的时间,IP,访问的资料等相关信息。默认 tomcat 不记录访问日志,如下方法可以使 tomcat 记录访问日志,编辑 ${catalina}/conf/server.xml 文件。注 :${catalina} 是 tomcat 的安装目录,把className="org.apache.catalina.valves.AccessLogValve的注释去掉即可。运行日志分为下面5类:catalina
、 localhost 、 manager 、 admin 、 host-manager。每类日志的级别分为如下7种:SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
在180上打印日志时,看见全是代理过来的IP
192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET / HTTP/1.0" 200 6578 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /ext/resources/css/ext-all.css HTTP/1.0" 200 139591 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /ext/resources/css/ThrTreeCheckbox.css HTTP/1.0" 304 - 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /js/jquery.js?_dc=20150930 HTTP/1.0" 200 72328 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /view/common/i18nmanager.js?_dc=20150930 HTTP/1.0" 304 - 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /images/menu/loginback_en.png HTTP/1.0" 200 68316 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /random.jsp?s=%20+ HTTP/1.0" 200 1257 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /images/login/dl_en.gif HTTP/1.0" 200 389 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /view/lang/MPLang-en.js HTTP/1.0" 304 - 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /images/menu/secondBG/top02.gif HTTP/1.0" 304 - 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /images/menu/secondBG/topleft01.gif HTTP/1.0" 200 4343 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /images/menu/secondBG/topdown01.gif HTTP/1.0" 200 10268 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /images/menu/secondBG/topdown02.gif HTTP/1.0" 304 - 192.168.10.177 - - [14/Oct/2015:19:32:06 +0800] "GET /images/menu/secondBG/center02.gif HTTP/1.0" 304 - 192.168.10.177 - - [14/Oct/2015:19:32:05 +0800] "GET /images/menu/secondBG/center01.gif HTTP/1.0" 200 742
继续修改server中内容
location / { proxy_set_header X-Real-IP $remote_addr; proxy_pass http://192.168.10.180; }还需要修改192.168.10.180上tomcat配置
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern=" %{X-Real-IP}i %u %t %r %s %b" resolveHosts="false"/> <Context docBase="/var/" path="/"/>
%{XXX}i xxx代表传入的头(HTTP Request)
%{XXX}o xxx代表传出的响应头(Http Resonse)
%{XXX}c xxx代表特定的Cookie名
%{XXX}r xxx代表ServletRequest属性名
%{XXX}s xxx代表HttpSession中的属性名
在180上继续打印日志时,看见是客户端访问日志
192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET / HTTP/1.0 200 6578 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /ext/resources/css/ThrTreeCheckbox.css HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /js/jquery.js?_dc=20150930 HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /images/menu/loginback_en.png HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /ext/resources/css/ext-all.css HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /view/common/i18nmanager.js?_dc=20150930 HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /images/login/dl_en.gif HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /view/lang/MPLang-en.js HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /images/menu/secondBG/topleft01.gif HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /images/menu/secondBG/top02.gif HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /images/menu/secondBG/topdown01.gif HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /images/menu/secondBG/topdown02.gif HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /images/menu/secondBG/center01.gif HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /images/menu/secondBG/center02.gif HTTP/1.0 304 - 192.168.10.36 - [14/Oct/2015:19:46:49 +0800] GET /random.jsp?s=%20+ HTTP/1.0 200 1261
负载均衡:
upstream upstreamtest { server 192.168.10.177:8080; server 192.168.10.36; } server { listen 80; server_name localhost; location / { proxy_set_header X-Real-IP $remote_addr; proxy_pass http://upstreamtest; } }
自定义错误页面:
在server指定404,500等http响应状态返回的页面,/opt/errorpage/error.html需要存在。
error_page 404 500 502 503 504 /error.html; location = /error.html { root /opt/errorpage; }
同时停掉177与180服务器,再次访问时就会出现error.html文件内容。需要注意非静态的404被tomcat捕获,还需要修改tomcat 404错误界面(tomcat/conf/web.xml)
<error-page> <error-code>404</error-code> <location>/error.jsp</location> </error-page>
指定静态目录:
location ~ /test/ { root /opt/; index index.html index.htm; }
此时只访问ip/test时不会自动弹出index.html,需要按以下修改
location ~ /test { root /opt/; index index.html index.htm; expires 30d; #缓存30天 }
= 严格匹配
~ 区分大小写匹配(可用正则表达式)
!~区分大小写不匹配
~* 不区分大小写匹配(可用正则表达式)
!~*不区分大小写不匹配
^~ 以某个常规字符串开头,匹配url路径头即可
相关文章推荐
- 开启reuse_port让Tengine性能提升3倍
- LVS Nginx HAProxy 优缺点
- Nginx配置
- Nginx安装--2015.11.27
- centos中安装nginx详细步骤
- mac ox 10.11 brew安装Nginx+PHP+MySQL+扩展
- nginx 源码学习笔记(五)——nginx精粹-模块
- nginx 源码学习笔记(四)——nginx精粹-模块
- nginx 源码学习笔记(三)——nginx精粹-模块
- nginx 源码学习笔记(二)——nginx精粹-模块
- nginx 源码学习笔记(一)——初识nginx helloworld模块
- Nginx (一) 基础入门
- 关于nginx的master进程可worker进程的概念
- nginx常用配置
- linux下Nginx服务器导致CSS以及js无法解析不起效果
- ubuntu14 + nginx + php
- 编写脚本实现Zabbix监控Nginx状态
- 阿里云CentOS6.5(nginx+PHP-fpm)及RDS初级使用指南和简单安全设置
- Nginx实现浏览器实时查看访问日志
- nginx+keepalive主从双机热备+自动切换解决方案