您的位置:首页 > 运维架构 > Nginx

nginx 基本配置

2015-11-28 22:29 567 查看
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}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路径头即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: