CentOS安装:
下载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}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路径头即可