centos搭建Nginx+Tomcat负载均衡,centosnginx
centos搭建Nginx+Tomcat负载均衡,centosnginx
一、安装jdk1.8:
切换目录
#cd /usr
创建目录
#mkdir java
#cd java
下载jdk
#wget http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
解压
#tar -zxvf jdk-8u131-Linux-x64.tar.gz
改名
#mv jdk1.8.0_131 jdk1.8
添加到环境变量
#vi /etc/profile
在文件末尾添加
i启动编辑,光标前输入文字
export JAVA_HOME=/usr/java/jdk1.8
export PATH=${JAVA_HOME}/bin:${PATH}
export CLASS_PATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
esc退出编辑
:wq保存并退出
使环境变量生效
#source /etc/profile
查看是否安装成功(出现java版本号代表成功)
#java -version
二、安装tomcat8
#cd /usr/local
#wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz
#tar -zxvf apache-tomcat-8.5.15.tar.gz
#mv apache-tomcat-8.5.15 tomcat8
#cd tomcat8/bin
#./starup.sh
将8080端口添加到防火墙例外并重启
#firewall-cmd --zone=public --add-port=8080/tcp --permanent
#firewall-cmd --reload
访问http://IP:8080,出现tomcat欢迎页面代表安装成功
三、安装nginx(在另一台服务器上安装,当然如果是模拟环境,安装在同一台也是可以的)
#cd /usr/local
安装依赖库
#yum -y install gcc-c++
#yum -y install pcre pcre-devel
#yun -y install zlib zlib-devel
#yum -y install openssl openssl-devel libssl-dev
下载nginx
#wget http://nginx.org/download/nginx-1.13.0.tar.gz
解压
#tar -zxvf nginx-1.13.0.tar.gz
改名
#mv nginx-1.13.0 nginx
#cd nginx
编译安装
#./configure --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module
#make
#make install
查看是否安装成功
#whereis nginx
添加到防火墙例外
#firewall-cmd --zone=public --add-port=80/tcp --permanent
#firewall-cmd --reload
启动nginx
#/usr/local/nginx/sbin/nginx
访问http://IP,看到欢迎页面代表安装成功
四、配置nginx反向代理
首先把jdk和tomcat在第三台服务器再安装一次并调通,如果安装在同一台服务器,那就要修改tomcat端口
然后打开nginx配置文件
#cd /usr/local/nginx
#vi conf/nginx.conf
#user nobody;
worker_processes 2;#处理器数量,根据硬件实际情况设置
#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;
#解除注释,开启日志功能
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream proxy_test.com {
server 服务器1的IP:port weight=1; #weight代表的是服务器的权重,越高分配的请求越多
server 服务器2的IP:port weight=1;
}
server {
listen 80;
server_name proxy_test.com;
charset utf-8;
#access_log logs/host.access.log main;
location / {
proxy_pass http://proxy_test.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
...
}
修改好后保存退出:wq然后新建一个日志目录(注意:如果不建日志目录和文件,nginx会无法启动一直报错找不到日志文件)
#mkdir logs
#touch error.log access.log
重启nginx加载nginx.conf的配置
#/usr/nginx/sbin/nginx -s reload
五、测试访问
在你的本地电脑上C:\Windows\System32\drivers\etc\hosts文件映射你的nginx服务器IP,如 xxx.xx.x.xxx proxy_test.com。
然后在两个服务器的tomcat的webapps/ROOT新建一个test.html,写上一段区别服务器的文字,然后访问http://proxy_test.com/test.html。
如果在两个服务器之间不停切换,代表我们的负载均衡配置成功了!
六、最后还有个session共享的问题
要做session共享,就别使用ip_hash,那样集群就没有意义了,最有效的方法是redissessionManager,把session放到redis里就可以共享了。
相关文章
- 暂无相关文章
用户点评