现在网站的主流做法都是nginx作为前端服务器,后面一群应用服务器做负载,这里简单介绍下nginx,tomcat,mem做负载的配置
首先下载nginx,tomcat,mem,以及谷歌做session复制的几个jar
nginx安装非常简单,直接解压即可用,由于是自己的台式机,直接下了一个win环境的,解压后,在文件的根目录下面有一个nginx.exe的文件,启动即运行了nginx,非常简单,主要说一下nginx的配置,打开config目录下面的nginx.conf
worker_processes 1;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream myserver {
server 127.0.0.1:7070;
server 127.0.0.1:6060;
}
server {
listen 80;
server_name guiwenqing.my.com;
location / {
proxy_pass http://myserver ; #这里的名字和上面的cluster的名字相同
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;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
worker_processes 后端工作的进程数,一般配置成cpu数的2倍
主要看一下http里面的东西
upstream myserver {
server 127.0.0.1:7070;
server 127.0.0.1:6060;
}
你所负载的机器地址和端口
server {
listen 80;
server_name xxxxx.my.com;
location / {
proxy_pass http://myserver ; #这里的名字和上面的cluster的名字相同
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;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
所需要反向代理的域名和监听端口,由于是单机,只好配置了80端口,并且将hosts的配置更改一下
location / 这个/代表所有的请求都转发到负载的机器上面,如果一些静态的文件直接放在了nginx的服务器上面,这里可以配置一下正则过滤
这样nginx的服务就配置和启动好了
然后就是tomcat的配置
首先将mem的session复制的jar放入tomcat的lib下面
打开tomcat的server.xml
在其context节点下面新增
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:127.0.0.1:11211"
sticky="false"
sessionBackupAsync="false"
lockingMode="auto"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"
/>
这里只有一个mem节点,如果是多个,用逗号隔开