Linux集群安装tomcat+nginx实现负载均衡
官网下载JDK 【环境部署】CentOS下部署Java7/Java8 - Ken的杂谈
官网下载tomcat7 Apache Downloads
官网下载nginx nginx: download
安装JDK
- 先卸载掉两个openjdk
rpm -e --nodeps 卸载的包
查看安装了那些jdk
rpm -qa | grep java
二、将下载好的JDK压缩包上传到ftp,上传步骤快捷键alt+p进入ftp后输入put
后空格在输入JDK压缩包路径。
三、在新建一个文件夹在将上传的JDK包拷贝到文件夹里(cp JDK包名 新建的文件夹名), 在将压缩包解压(解压步骤,tar -xvf 压缩包名称)(新建文件夹的方法mkdir 文件名)
四、配置环境变量
编辑 vi /etc/profile
在文件最后添加一下信息
#set java environment
JAVA_HOME=/usr/local/java/jdk1.8.0_221(这里填写自己安装jdk的路径)
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出
source /etc/profile 使更改的配置立即生效
判断是否安装成功:java -version 或者 java和javac
安装tomcat
- 首先将下载好的tomcat压缩包上传到ftp,上传步骤快捷键alt+p进入ftp后输入put
后空格在输入tomcat压缩包路径。
- 在新建一个文件夹在将上传的tomcat包拷贝到文件夹里(cp nginx包名 新建的文件夹名),在将压缩包解压(解压步骤,tar -xvf 压缩包名称)
- 查看防火墙状态(systemctl status firewalld),要确保防火墙是开着的,开启防火墙(systemctl start firewalld)
- 防火请放行端口
- 添加端口
8888代表端口号
firewall-cmd --zone=public --add-port=6666/tcp --permanent
2.刷新生效
firewall-cmd --reload
3.查看防火墙放行列表
firewall-cmd --list-all
4.查看防火请状态是否是running
firewall-cmd –state
5.重新载入配置,比如添加规则之后,需要此命令
firewall-cmd --reload
6.列出支持的zone
firewall-cmd --get-zones
7.列出支持的服务,在列表中的服务是放行
firewall-cmd --get-services
8.查看ftp服务是否支持,放回yes或者no
firewall-cmd --query-service ftp
9.临时开放ftp服务
firewall-cmd --add-service=ftp
10.永久开放ftp服务
firewall-cmd --add-service=ftp --permanent
11.永久移除ftp服务
firewall-cmd --remove-service=ftp --permanent
12.永久添加80端口
firewall-cmd --add-port=80/tcp –permanent
13.永久移除80端口
firewall-cmd --remove-port=80/tcp --permanent
14.查看已经开放的端口
firewall-cmd --list-ports
15.查看规则
iptables -L -n
16.查看帮助
man firewall-cmd
安装nginx
- 安装nginx需要先下载官网的源码进行编译,分别是:
Yum install gcc-c++、yum install -y pcre pcre-devel、yum install -y zlib-devel、
Yum install -y openssl openssl-devel四个依赖
二、将下载好的nginx压缩包上传到ftp,上传步骤快捷键alt+p进入ftp后输入put
后空格在输入nginx压缩包路径。
三、在新建一个文件夹在将上传的JDK包拷贝到文件夹里(cp nginx包名 新建的文件夹名), 在将压缩包解压(解压步骤,tar -xvf 压缩包名称)
四、配置
先进入(cd nginx-1.12.0)
- 使用默认配置
./configure
- 也可以自定义配置
./configure –prefix=/usr/local/nginx (自定义的方法还有多我就不一一写了)
- 编译安装
make && make install
查找安装路径:
Whereis nginx
- 在启动nginx时需要先开放80端口。
firewall-cmd --zone=public --add-port=80/tcp –permanent
firewall-cmd --reload
七、启动、停止nginx
cd /usr/local/nginx/sbin/(这里根据自己实即的路径)
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
-
- 搭建nginx+tomcat实现集群
- 首先在linux里面最少需要两个tomcat才能实现集群,所以我们在实现集群时还得在复制tomcat,两个tomcat的名称和端口不能一样
修改名字:
mv apache-tomcat-8.5.45 apache-tomcat-1
复制tomcat
cp -r apache-tomcat-1 ./apache-tomcat-2
修改每个tomcat的端口
进入server.xml修改端口号(vi server.xml)分别有三处需要修改
(1)<.Server port=”8091” shutdown=”SHUTDOWN”>
(2)<Connector port=”8081” protocol=”Http/1.1”>
(3)<Connector port=”9001” protocol=”AJP/1.3” redirectPort=”8443”>.
在每个tomcat的webapps中创建test1文件夹
mkdir test1
创建index.html文件
- 启动每个tomcat并测试
启动:/apache-tomcat-3/bin/startup.sh(根据自己实即的路径)
测试:192.168.67.13:8081/test1/index.html
- 配置nginx.conf文件(nginx/conf/nginx.conf)
upstream clustertomcat{
server 192.168.67.13:8081 weight=5;
server 192.168.67.13:8082 weight=1;
server 192.168.67.13:8083 weight=1;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass httP://clustertomcat;
}
}
注意:(配置所放的位置)
修改完后要重新加载nginx./nginx -s reload
测试:http://192.168.67.13/test1/index.html
4、在linux服务下解决session共享的方式加入如ip_hash,这样不同IP主机就访问同一个tomcat,
upstream clustertomcat{
server 192.168.67.13:8081 weight=5;
server 192.168.67.13:8082 weight=1;
server 192.168.67.13:8083 weight=1;
ip_hash;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass httP://clustertomcat;
}
}
- nginx搭建图片服务器
- 在 /usr/local/创建文件夹images,放入图片
upstream clustertomcat{
server 192.168.67.13:8081 weight=5;
server 192.168.67.13:8082 weight=1;
server 192.168.67.13:8083 weight=1;
ip_hash;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /images {
root /usr/local/;
}
location / {
root html;
index index.html index.htm;
proxy_pass httP://clustertomcat;
}
测试:http://192.168.67.13/images/003.jpg