Giter VIP home page Giter VIP logo

ssm_framework's Introduction

0、报不能加载驱动 需要手动导入sqlserver驱动包lib 1、Apache2.4 安装

1.1 ServerRoot改为本地apache的安装目录
1.2 Listen 80 因为IIS占用的端口也是80端口 所以可以改为其他的端口例如:9090
1.3 httpd.exe -k install -n Apache   将apache注册为服务

2、Apache2.4 配置

2.1 反向代理配置:
	httpd.conf 文件(三处打开注释)
	
	LoadModule proxy_module modules/mod_proxy.so
	LoadModule proxy_http_module modules/mod_proxy_http.so
	Include conf/extra/httpd-vhosts.conf
	
	extra/httpd-vhosts.conf 文件
	<VirtualHost *:9090>
		ServerAdmin [email protected]
		DocumentRoot "D:\project\framework\MtnoWeb_SFGL\WebContent"
		ServerName fxTest
		ErrorLog "logs/fxTestLog"
		TransferLog "logs/fxTestLogTransfer"
		ProxyPreserveHost On 
		ProxyPass / http://192.168.4.50:8080/MtnoWeb_LineCollect_YN/
		ProxyPassReverse / http://192.168.4.50:8080/MtnoWeb_LineCollect_YN/
	</VirtualHost>

3、Apache负载均衡

HTTP方式:
AJP方式:
	两个tomcat的seerver.xml文件 加上jvmRoute参数
		<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
		<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
	httpd.conf 文件(三处打开注释)
		LoadModule proxy_module modules/mod_proxy.so 
		LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 
		LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 
		LoadModule proxy_connect_module modules/mod_proxy_connect.so 
		LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 
		LoadModule proxy_http_module modules/mod_proxy_http.so 
		LoadModule slotmem_shm_module modules/mod_slotmem_shm.so 
		LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
		
		
		#balancer://mycluster 对应extra/httpd-vhosts.conf 文件下的配置
		# ajp后面的分别是ip 端口 和 jvmRoute参数
		ProxyRequests Off 
		<Proxy balancer://mycluster>  
			BalancerMember ajp://192.168.4.50:8009/ loadfactor=1 route=tomcat1
			BalancerMember ajp://192.168.4.50:8010/ loadfactor=1 route=tomcat2
		</Proxy> 

	extra/httpd-vhosts.conf 文件
		<VirtualHost *:9091> 
			ServerName [email protected]
			ServerAlias localhost
			ProxyPass / balancer://mycluster/ stickysession=jsessionid nofailover=On
			ProxyPassReverse / balancer://mycluster/
			ErrorLog "logs/lbtest-error.log"
			CustomLog "logs/lbtest-access.log" common
		</VirtualHost>

4、tomcat乱码:

1、server.xml (解决浏览器get请求传给后台乱码)
	URIEncoding = "UTF-8"  
2、Catalina.bat (解决后台返回浏览器显示乱码)
	set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Dfile.encoding=UTF-8
3、IDEA 添加VM_Options   -Dfile.encoding=UTF-8

5、Nginx 安装与部署

1、 启动失败的原因:
	1.1 监听的端口被占用,例如8080 80等
	1.2 Nginx的目录中包含中文导致找不到Nginx.conf文件
2、配置详情(https://www.cnblogs.com/Chiler/p/8027167.html)
	2.1 worker_processes  
		和cpu有关 一般和CPU核数相同
	
	2.2events {
		#nginx最大负载量 
    worker_connections 1024;
	}
	
	2.3include      mime.types;
3、反向代理
	3.1 在HTTP节点下配置server节点
	server
		{
			listen 92;
			server_name tomcat1.com;   #需要再host文件下配置域名解析
			location / {
				proxy_redirect off;
				proxy_set_header Host $host;
				proxy_set_header X-Real-IP $remote_addr;
				proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
				proxy_pass http://192.168.4.4:8081;
			}
			access_log logs/tomcat2.tk_access.log;
		}
4、负载均衡(https://www.cnblogs.com/microtiger/p/7623858.html)
	upstream四种方式:
	1、轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 
	2、比重(weight):指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
	3、ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
	4、第三方(fair、url_hash)
5、Nginx常见问题:
	5.1:Session共享的问题
		1、不使用session用cookies
		2、利用redis缓存保存session等
		3、利用nginx的ip_hash nginx中的ip_hash技术能够将某个ip的请求定向到同一台后端,这样一来这个ip下的某个客户端和某个后端就能建立起稳固的session
			注意这种方法如果Nginx不是最前端,假如前端还有squid代理服务器,或者Nginx不直接指向后端,后端又做了其他负载均衡,导致得到的ip和转发的ip都不是真实的
			那么某个客户端的请求肯定不能定位到同一台session应用服务器上
			可利用

6、国际化(三种方式)

6、1 基于浏览器请求的国际化实现
 根据浏览器的语言设置,自动切换语言
6.2 基于Session的国际化
6.3 基于Cookies的国际化
三者的基本原理一一致:
RequestContext requestContext = new RequestContext(request);
可以从request中获取到国际化信息
Locale locale = new Locale("zh", "CN");
后两种在这之前将国际化信息Local放入到session或者cookies中

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.