【Web后端笔记】windows下ngingx的基本配置和使用

nginx是一个轻便好用的服务器,在代理、均衡等方面比较强大,详情自行百度。

1、下载:

去官网下载windows的版本就是 http://nginx.org/en/download.html 我选的是稳定版1.8.0

2、解压:

下载完是一个压缩包,解压后就可以直接用的了

3、使用:

用命令行切换到文件目录下,输入start nginx,有一个黑框闪一下然后消失而不会像tomcat那样保留在那,就启动了:

浏览器输入localhost,如果有欢迎界面就是启动成功了:

4、配置:

最常用的就是配置conf文件夹里的nginx.conf,在这里可以配置很多东西,详细的自己去查吧=,=

5、常用命令:

启动:start nginx

更新conf文件后直接reload,不用重启:nginx -s reload

关闭:nginx -s quit

检查conf文件是否有错:nginx -t

6、完成代理,监听80端口将不同域名绑定到tomcat上的不同端口的不同项目:

这里一定要注意!!如果tomcat(或其他程序)占用了80端口,这里再监听会不行!!我弄了好久都不行,就是这个问题!(自己sb了)

这是我的nginx.conf,其实重点就是每个server的配置

  1 #user  nobody;
  2 worker_processes  1;
  3
  4 #error_log  logs/error.log;
  5 #error_log  logs/error.log  notice;
  6 #error_log  logs/error.log  info;
  7
  8 #pid        logs/nginx.pid;
  9
 10
 11 events {
 12     worker_connections  1024;
 13 }
 14
 15
 16 http {
 17     include       mime.types;
 18     default_type  application/octet-stream;
 19
 20     #log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
 21     #                  ‘$status $body_bytes_sent "$http_referer" ‘
 22     #                  ‘"$http_user_agent" "$http_x_forwarded_for"‘;
 23
 24     #access_log  logs/access.log  main;
 25
 26     sendfile        on;
 27     #tcp_nopush     on;
 28
 29     #keepalive_timeout  0;
 30     keepalive_timeout  65;
 31
 32     #gzip  on;
 33
 34 server {
 35         listen       80;
 36         server_name  www.workmap.net.cn;
 37
 38         #charset koi8-r;
 39
 40         #access_log  logs/host.access.log  main;
 41
 42         location / {
 43     proxy_pass http://127.0.0.1:8080/;
 44     proxy_set_header   Host    $host;
 45     proxy_set_header   X-Real-IP   $remote_addr;
 46     proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
 47     }
 48
 49         #error_page  404              /404.html;
 50
 51         # redirect server error pages to the static page /50x.html
 52         #
 53         error_page   500 502 503 504  /50x.html;
 54         location = /50x.html {
 55             root   html;
 56         }
 57
 58         # proxy the PHP scripts to Apache listening on 127.0.0.1:80
 59         #
 60         #location ~ \.php$ {
 61         #    proxy_pass   http://127.0.0.1;
 62         #}
 63
 64         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 65         #
 66         #location ~ \.php$ {
 67         #    root           html;
 68         #    fastcgi_pass   127.0.0.1:9000;
 69         #    fastcgi_index  index.php;
 70         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
 71         #    include        fastcgi_params;
 72         #}
 73
 74         # deny access to .htaccess files, if Apache‘s document root
 75         # concurs with nginx‘s one
 76         #
 77         #location ~ /\.ht {
 78         #    deny  all;
 79         #}
 80     }
 81
 82     server {
 83         listen       80;
 84         server_name  tpshare.cn www.tpshare.cn;
 85
 86         #charset koi8-r;
 87
 88         #access_log  logs/host.access.log  main;
 89
 90         location / {
 91     proxy_pass http://127.0.0.1:9090/;
 92     proxy_set_header   Host    $host;
 93     proxy_set_header   X-Real-IP   $remote_addr;
 94     proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
 95     }
 96      }
 97
 98
 99
100
101     # another virtual host using mix of IP-, name-, and port-based configuration
102     #
103     #server {
104     #    listen       8000;
105     #    listen       somename:8080;
106     #    server_name  somename  alias  another.alias;
107
108     #    location / {
109     #        root   html;
110     #        index  index.html index.htm;
111     #    }
112     #}
113
114
115     # HTTPS server
116     #
117     #server {
118     #    listen       443 ssl;
119     #    server_name  localhost;
120
121     #    ssl_certificate      cert.pem;
122     #    ssl_certificate_key  cert.key;
123
124     #    ssl_session_cache    shared:SSL:1m;
125     #    ssl_session_timeout  5m;
126
127     #    ssl_ciphers  HIGH:!aNULL:!MD5;
128     #    ssl_prefer_server_ciphers  on;
129
130     #    location / {
131     #        root   html;
132     #        index  index.html index.htm;
133     #    }
134     #}
135
136 }

另外tomcat配置文件也要有相应的配置:

Root下的index.html

1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5     <head><title>tpshare</title></head>
6 <body>
7 <script language=‘javascript‘>document.location = ‘http://www.tpshare.cn:9090/SharePDF/‘</script>
8 </body>
9 </html>

conf文件夹下的server.xml:

  1 <?xml version=‘1.0‘ encoding=‘utf-8‘?>
  2 <!--
  3   Licensed to the Apache Software Foundation (ASF) under one or more
  4   contributor license agreements.  See the NOTICE file distributed with
  5   this work for additional information regarding copyright ownership.
  6   The ASF licenses this file to You under the Apache License, Version 2.0
  7   (the "License"); you may not use this file except in compliance with
  8   the License.  You may obtain a copy of the License at
  9
 10       http://www.apache.org/licenses/LICENSE-2.0
 11
 12   Unless required by applicable law or agreed to in writing, software
 13   distributed under the License is distributed on an "AS IS" BASIS,
 14   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 15   See the License for the specific language governing permissions and
 16   limitations under the License.
 17 -->
 18 <!-- Note:  A "Server" is not itself a "Container", so you may not
 19      define subcomponents such as "Valves" at this level.
 20      Documentation at /docs/config/server.html
 21  -->
 22 <Server port="8205" shutdown="SHUTDOWN">
 23
 24   <!--APR library loader. Documentation at /docs/apr.html -->
 25   <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
 26   <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
 27   <Listener className="org.apache.catalina.core.JasperListener" />
 28   <!-- Prevent memory leaks due to use of particular java/javax APIs-->
 29   <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
 30   <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
 31   <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
 32   <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
 33
 34   <!-- Global JNDI resources
 35        Documentation at /docs/jndi-resources-howto.html
 36   -->
 37   <GlobalNamingResources>
 38     <!-- Editable user database that can also be used by
 39          UserDatabaseRealm to authenticate users
 40     -->
 41     <Resource name="UserDatabase" auth="Container"
 42               type="org.apache.catalina.UserDatabase"
 43               description="User database that can be updated and saved"
 44               factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
 45               pathname="conf/tomcat-users.xml" />
 46   </GlobalNamingResources>
 47
 48   <!-- A "Service" is a collection of one or more "Connectors" that share
 49        a single "Container" Note:  A "Service" is not itself a "Container",
 50        so you may not define subcomponents such as "Valves" at this level.
 51        Documentation at /docs/config/service.html
 52    -->
 53   <Service name="Catalina">
 54
 55     <!--The connectors can use a shared executor, you can define one or more named thread pools-->
 56     <!--
 57     <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
 58         maxThreads="150" minSpareThreads="4"/>
 59     -->
 60
 61
 62     <!-- A "Connector" represents an endpoint by which requests are received
 63          and responses are returned. Documentation at :
 64          Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
 65          Java AJP  Connector: /docs/config/ajp.html
 66          APR (HTTP/AJP) Connector: /docs/apr.html
 67          Define a non-SSL HTTP/1.1 Connector on port 8080
 68     -->
 69     <Connector port="9090" protocol="HTTP/1.1"
 70                connectionTimeout="20000"
 71                URIEncoding="utf-8"
 72                redirectPort="8443" />
 73     <!-- A "Connector" using the shared thread pool-->
 74     <!--
 75     <Connector executor="tomcatThreadPool"
 76                port="8080" protocol="HTTP/1.1"
 77                connectionTimeout="20000"
 78         URIEncoding="utf-8"
 79                redirectPort="8443" />
 80     -->
 81     <!-- Define a SSL HTTP/1.1 Connector on port 8443
 82          This connector uses the JSSE configuration, when using APR, the
 83          connector should be using the OpenSSL style configuration
 84          described in the APR documentation -->
 85     <!--
 86     <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
 87                maxThreads="150" scheme="https" secure="true"
 88                clientAuth="false" sslProtocol="TLS" />
 89     -->
 90
 91     <!-- Define an AJP 1.3 Connector on port 8009 -->
 92     <Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />
 93
 94
 95     <!-- An Engine represents the entry point (within Catalina) that processes
 96          every request.  The Engine implementation for Tomcat stand alone
 97          analyzes the HTTP headers included with the request, and passes them
 98          on to the appropriate Host (virtual host).
 99          Documentation at /docs/config/engine.html -->
100
101     <!-- You should set jvmRoute to support load-balancing via AJP ie :
102     <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
103     -->
104     <Engine name="Catalina" defaultHost="localhost">
105
106       <!--For clustering, please take a look at documentation at:
107           /docs/cluster-howto.html  (simple how to)
108           /docs/config/cluster.html (reference documentation) -->
109       <!--
110       <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
111       -->
112
113       <!-- The request dumper valve dumps useful debugging information about
114            the request and response data received and sent by Tomcat.
115            Documentation at: /docs/config/valve.html -->
116       <!--
117       <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
118       -->
119
120       <!-- This Realm uses the UserDatabase configured in the global JNDI
121            resources under the key "UserDatabase".  Any edits
122            that are performed against this UserDatabase are immediately
123            available for use by the Realm.  -->
124       <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
125              resourceName="UserDatabase"/>
126
127       <!-- Define the default virtual host
128            Note: XML Schema validation will not work with Xerces 2.2.
129        -->
130       <Host name="localhost"  appBase="webapps"
131             unpackWARs="true" autoDeploy="true"
132             xmlValidation="false" xmlNamespaceAware="false">
133
134         <!-- SingleSignOn valve, share authentication between web applications
135              Documentation at: /docs/config/valve.html -->
136         <!--
137         <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
138         -->
139
140         <!-- Access log processes all example.
141              Documentation at: /docs/config/valve.html -->
142         <!--
143         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
144                prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
145         -->
146     <Context path="" docBase="D:\dev_soft\apache-tomcat-6.0.43_9090_sharepdf\webapps\SharePDF">
147                 <WatchedResource>WEB-INF/web.xml</WatchedResource>
148         </Context>
149
150       </Host>
151     </Engine>
152   </Service>
153 </Server>

这样就可以实现用nginx将不同域名绑定到不同tomcat的不同端口。

参考原文:windows下nginx+tomcat整合的安装与配置

参考原文:nginx实现单ip,多域名,多站点的访问配置教程

时间: 2024-08-09 14:15:48

【Web后端笔记】windows下ngingx的基本配置和使用的相关文章

Nginx + Tomcat Windows下的负载均衡配置

一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过500的并发数会出现Tomcat不能响应新的请求的情况,严重影响网站的运行.同时如果访问量非常大的情况下,Tomcat的线程数会不断增加.因此会占据大量内存,严重时出现内存溢出的现象,这时需要重启Tomcat以释放内存,阻断了网站的运行.    所以对Tomcat做负载均衡便很有必要.目前可以和Tomcat做负载均衡的主流服务器是Apache,但是Nginx由于功能

ACE在windows下的编译及配置(VS2010)

ACE在windows下的编译及配置(VS2010) 分类:             -[小西南]-              2013-08-06 16:17     2354人阅读     评论(6)     收藏     举报 目录(?)[+] 1 下载ACE 2 创建ACE的配置文件 3 编译ACE库 4 可为ACE目录设置环境变量 5 VS2010 ACE配置 6 测试操作是否成功 系统:win7 开发环境:Visual Studio 10 ACE版本:ACE-6.2.0 参考了很多师

windows下python+flask环境配置详细图文教程

本帖是本人在安装配置python和flask环境时所用到的资源下载及相关的教程进行了整理罗列,来方便后面的人员,省去搜索的时间.如果你在安装配置是存在问题可留言给我. 首先罗列一下python+flask环境所用的一些程序组件的下载地址: 1.python语言环境: http://www.python.org/download/ . 2.setuptools 组件: https://pypi.python.org/pypi/setuptools/0.9.6 . 3.pip 组件: https:/

Windows下安装Resin及配置详解与发布应用

关于Resin的好处,网上介绍了一大堆,小编经不住诱惑,决定试用一下.目前Resin的最新版本为:4.0.40,可以从官网直接下载. 1. 将下载下来的Resin包解压开,会看到一大堆的文件,有一些关键的文件,我们需要了解一下. resin-4.0.40 resin安装目录   --conf/resin.properties 配置属性   --conf/resin.xml 配置文件   --conf/licenses/ 许可信息文件   --conf/keys/ openSSL 秘钥   --w

windows下的*.url文件配置

直接指向网页 [InternetShortcut] URL=http://user.qzone.qq.com/2275471603 Modified=F00F43B3A875C601D9 ShowCommand=7 IconIndex=1 IconFile=C:\WINDOWS\SYSTEM\url.dll HotKey=1601 windows下的*.url文件配置,布布扣,bubuko.com

windows下spark开发环境配置

http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. 特注:windows下开发spark不需要在本地安装hadoop,但是需要winutils.exe.hadoop.dll等文件,前提是你已经安装了eclipse.maven.jdk等软件 spark支持jdk版本建议是1.8及以上,如果开发spark建议将jdk编译版本设置为1.8 我选择的spark是spark-1.4.0

[傻瓜版] Redis在Windows下的开发环境配置步骤

redis默认运行在unix体系下,windows无法直接运行官方版.以下是几种解决方案, 一)Windows移植版.启动速度飞快,优先推荐使用. a) 2.6.12 是稳定版,我用来64位版做开发环境,数个月未发现重要问题.  下载地址: https://github.com/MSOpenTech/redis/tree/2.6/bin/release b) 2.8.4 是3月24发布的最新版,此版本运行时会临时占用内存大小的硬盘空间,下载地址: https://github.com/MSOpe

Windows下Android开发环境配置

最近在配置安卓. 还是拿舍友没带回家的手机.. 自己手机是WP.. 搞了半天搞好了. 叹了口气,要是有人这样教我就好了,少走好多弯路. 废话不说,步骤如下" 一.安装JDK 为啥要安装JDK就不说了吧?java写安卓.. 传送门: http://www.oracle.com/technetwork/java/javase/downloads/index.html 安装完后,配置环境变量: 右击 "我的电脑"->属性->高级->环境变量->系统变量-&g

windows下手动安装和配置xamarin

安装xamarin xamarin官方给出了两种安装方式,自动安装和手动安装. 自动安装比较简单,到http://xamarin.com/download下载xamarininstaller.exe 运行后它会自动下载所需组件.过程还是比较简单的,下面重点说明一下手动安装和配置xamarin. 由于我的系统(win8.1 64位)在运行xamarininstaller.exe时老是报错,给xamarin的支持组发了个邮件,他们回复说还是手动安装吧,并把各个组件的下载链接发了过来.这段时间在网上查