Nginx+Tomcat单个域名加多个域名配置
现在如果要部署中台、后台、金融系统,找到nginx/conf/nginx.conf,修改配置:
upstream web{
server localhost:8082;
}
upstream admin{
server localhost:8083;
}
server {
listen 80;
server_name wap.mzjicai.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://web;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name www.mzjicai.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://admin;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
server {
server_name xxxx.com;
rewrite ^(.*) http://www.xxxx.com$1 permanent;
}
上面的配置还包括了访问xxxx.com转向www.xxxx.com的配置,如下:
server {
server_name xxxx.com;
rewrite ^(.*) http://www.xxxx.com$1 permanent;
}
nginx的基本配置大致就是这样,如果绑定多个域名(不管是一级域名还是二级域名),需配置多个server,你会发现这几个server配置都差不多,主要是更改server_name及proxy_pass指向即可。upstream节点其实就是代理服务的访问路径。
如果此时访问域名,你会发现nginx的配置生效了,只是目前显示的是tomcat的默认界面。nginx的配置基本就这样了,接下来对tomcat做些配置的修改。找到tomcat里的conf/server.xml,注释掉默认的Host配置,添加如下Host配置:
<Host name="localhost"appBase="E:\tomcat\apache-tomcat-8.0.35-8082\webapps\web"deployOnStartup ="false"autoDeploy="false"unpackWARs="true">
<Context path="/"docBase="E:\tomcat\apache-tomcat-8.0.35-8082\webapps\web"/>
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"prefix="localhost_access_log"suffix=".txt"
pattern="%h %l %u %t "%r" %s %b"/>
</Host>
以上是windows服务器下的配置,如为linux,只需更改appBase和docBase,指向项目的路径。tomcat的配置也已经完成,重启tomcat,访问域名就指向了tomcat里的项目。