对于tomcat的搭建就不详细介绍了。
nginx的安装
对于nginx的版本,看个人喜好来安装,我装的是1.9.9
- wget http://nginx.org/download/nginx-1.9.9.tar.gz
- 添加相应的用户 useradd www 名字可以自己随意起,不过为了接地气用www
- 解压nginx的包 tar -xvzf nginx-1.9.9.tar.gz
- cd nginx-1.9.9/
- 编译安装 注意这里的user要和之前创建的用户名称相对应
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module make && make install
6. 安装完毕 通过 /usr/local/nginx/sbin/nginx -t 测试nginx的安装是否成功
```
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
出现上面的消息,即成功
- 启动nginx /usr/local/nginx/sbin/nginx 回车启动nginx 可以通过访问http://ip/ 看到nginx默认页面。
tomcat的配置
- 通过虚拟机建立两个centos的环境,并且配置好相应的jdk与及tomcat
- 在home目录下一个发布tomcat应用的测试目录
mkdir -p /home/webapps/tomcat
并且在该文件目录下,创建一个index.jsp,内容如下
<html> <body> <h1>第一个tomcat的页面</h1> </body> </html> ``` 3. 然后编辑tomcat的server.xml 根据个人的安装目录 确定具体位置 vim /usr/service/tomcat/conf/server.xml 在<Host>~~~</Host>的</Host>前面添加 <Context path="" docBase="/home/webapps/tomcat" reloadable="false"/> 4. 第二个centos的配置跟第一个一样,记得把index.jsp的文字提示修改一下: 第二个tomcat的页面。方便测试。
nginx的配置文件
- 修改 nginx.conf
user www www;
worker_processes 1;
pid logs/nginx.pid;
events {
worker_connections 102400;
}
http {
include mime.types;
default_type application/octet-stream;
fastcgi_intercept_errors on;
charset utf-8;
server_names_hash_bucket_size 128;
client_header_buffer_size 4k;
large_client_header_buffers 4 32k;
client_max_body_size 300m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
client_body_buffer_size 512k;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
log_format main '$http_x_forwarded_for - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $request_time $remote_addr';
upstream web_app {
server ip1:8080 weight=1 max_fails=2 fail_timeout=30s;
server ip2:8080 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
server_name www.abc.com;
index index.jsp index.html index.htm;
root /data/www;
location /
{
proxy_next_upstream http_502 http_504 error timeout invalid_header;
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://web_app;
}
}
}
- 修改nginx所在的机器的hosts文件 指定 127.0.0.1指向 www.abc.com
- 分别启动tomcat与及nginx(记得将虚拟机的centos的防火墙将8080端口开启)
- 在nginx的机器通过访问 www.abc.com 即可看到 轮流访问 tomcat1 和 tomcat2的页面,这是因为,配置的权重一样。
nginx的负载均衡策略
详情可查看一遍关于nginx负载均衡的文章 Nginx 负载均衡配置和策略
来源:oschina
链接:https://my.oschina.net/u/2596666/blog/719221