nginx多站点+tomcat多项目部署
来源:互联网 发布:光束灯编程 512 编辑:程序博客网 时间:2024/06/07 10:29
Tomcat多项目部署
1.最简单的就是直接丢到webapps里,通过不同的路径相同端口访问不同项目。
2.修改主配置文件,不同项目监听不同端口(添加一个service)
<Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <Context path="/test1" reloadable="true" docBase="/home/pic/apache-tomcat-7.0.64/webapps/test1/" /> </Host> </Engine> </Service> <Service name="Catalina"> <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <Context path="/test2" reloadable="true" docBase="/home/pic/apache-tomcat-7.0.64/webapps/test2/" /> </Host> </Engine> </Service>
访问通过url:
127.0.0.1:8080/test1
127.0.0.1:8081/test2
<\Context>元素的属性:
path:指定访问该Web应用的URL入口。
docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。
reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。
在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发布阶段将reloadable设为false。
tips:一个项目可以与多个<Context>元素(如图片和项目的其他内容分开放置),但是要注意路径问题
Nginx多站点配置
1.增加多个域名
#vim /etc/hosts
192.168.44.129 www.test1.com www.test2.com
2.修改主配置文件:/etc/nginx/nginx.conf
#vim /etc/nginx/nginx.conf
server{ listen 80; server_name _; #server_name_in_redirect off; location /{ index index.html; } } # The default server is in conf.d/default.confinclude /etc/nginx/vhosts/*.conf;
3.虚拟主机配置
#mkdir /etc/nginx/vhosts
#vim /etc/nginx/vhosts/www.test1.com.conf
server{ listen 80; server_name www.test1.com; index index.html; root /opt/webapps; location /{ proxy_pass http://www.test1.com:8080/test1/; proxy_cookie_path /test1/ /; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 20m; client_body_buffer_size 128k; proxy_ignore_client_abort on; proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; proxy_buffer_size 64k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_intercept_errors on; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } }
vim /etc/nginx/vhosts/www.test1.com.conf
server{ listen 80; server_name www.test2.com; index index.html; root /opt/webapps; location /{ proxy_pass http://www.test2.com:8081/test2/; proxy_cookie_path /test2/ /; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 20m; client_body_buffer_size 128k; proxy_ignore_client_abort on; proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; proxy_buffer_size 64k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_intercept_errors on; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } }
通过www.test1.com和www.test2.com直接访问
关于Session重建问题
1.域名(www.test1.com/test1)反向代理(www.test1.com:8080/test1/)但是访问需要输入 www.test1.com/test1 ,不太现实
server{ listen 80; server_name www.test1.com; index index.html; root /opt/webapps; location /test1/ { proxy_pass http://www.test1.com:8080/test1/ proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 20m; client_body_buffer_size 128k; proxy_ignore_client_abort on; proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; proxy_buffer_size 64k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_intercept_errors on; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } location / { proxy_pass http://www.test1.com:8080/test1/; proxy_redirect http://www.test1:8080/ http://www.test1.com/; } }
2.直接修改tomcat的JSESSIONID的path路径
(1)可在tomcat用来配置数据源的配置文件(context.xml)修改
#vim /home/pic/apache-tomcat-7.0.64/conf/context.xml
<Context sessionCookiePath="/"></Context>
添加sessionCookiePath=”/”,指定cookie存放路径
(2)可在tomcat的主配置文件(server.xml)修改
<Context path="/test1" reloadable="true" sessionCookieName="Mysession" sessionCookiePath="/" docBase="/home/pic/apache-tomcat-7.0.64/webapps/test1/" />
(3)在nginx配置中指定路径(nginx的老版本不含这个参数,需要ngnix1.6之后版本)
location / { proxy_pass http://www.test1.com:8080/test1/; proxy_cookie_path /test1/ /;}
- nginx多站点+tomcat多项目部署
- tomcat部署多项目多站点
- vue多项目nginx部署
- Tomcat的多项目部署
- tomcat部署多项目server.xmll配置
- tomcat+Nginx多站点配置
- Nginx + Tomcat 反向代理 如何高效的在一台服务器部署多个站点
- Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
- 一个tomcat部署多个项目(同端口,多项目,不同访问路径)
- nginx部署多个node站点
- Tomcat7 部署多项目
- tomcat部署多个站点方法
- tomcat多项目多域名配置20170619
- Nginx+Tomcat多站点访问默认tomcat主页问题
- 手动部署tomcat及站点
- 手动部署tomcat及站点
- centos 部署 Nginx + uwsgi + django +mysql 多站点
- thinkphp5部署于Linux中nginx多站点解决方案
- Java常用类库——对象克隆技术
- java封装、继承和多态
- 自然语言处理书籍
- ActiveMQ 笔记
- Activity的四种launchMode
- nginx多站点+tomcat多项目部署
- 通过GestureOverlayView手势库来识别手写的字
- mybatis拦截器分页学习
- Android:Glide和Picasso
- getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()三者区别
- 使用TextView/EditText应该注意的地方
- Android 用Gallery和ImageSwicher实现画廊效果,展示图片+完整源代码
- 手机解密基础知识-IMEI和IMEISV
- sigmoid、tanh、softplus和ReLu激活函数