JDK安装配置
TOMCAT安装
TOMCAT集群配置
NGINX负载均衡
我自己创建了个目录存放jdk、tomcat、nginx等
mkdir chenlf
2 查看当前路径: pwd
3 复制: cp 要被复制的文件 目标文件夹
cp /opt/jdk-8u11-linux-x64.tar.gz /usr/chenlf/java/
4 解压: tar -zxvf 文件名
tar -zxvf jdk-8u11-linux-x64.tar.gz
解压后jdk路径如下 : /usr/chenlf/java/jdk1.8.0_11
5 编辑配置文件,配置环境变量 (添加在最前面就行了)
vim /etc/profile
添加如下内容:JAVA_HOME根据实际目录来
export JAVA_HOME=/usr/chenlf/java/jdk1.8.0_11
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
6 执行命令使环境变量文件生效 :source /etc/profile
7 执行命令查看版本以确保是否安装: java -version
5 运行./startup.sh
然后就可以去访问 ip:8080 啦!
1 复制几份tomcat
cp -r tomcat8.5 tomcat8001
cp -r tomcat8.5 tomcat8002
cp -r tomcat8.5 tomcat8003
2 修改端口号
分别修改tomcat8001,tomcat8002,tomcat8003端口,需要修改3处)
#打开配置文件,8001、8002、8003
vi tomcat8001/conf/server.xml
1)tomcat8001修改如下:
“8005” > 8006
“8080” > 8001
“8009” > 8010
2)tomcat8002修改如下:
“8005” > 8008
“8080” > 8002
“8009” > 8011
3)tomcat8003修改如下:
“8005” > 8012
“8080” > 8003
“8009” > 8099
保存退出
3 启动所有tomcat,测试是否正常
执行相关依赖(gcc、pcre、zlib、openssl)
yum install gcc
yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
1.复制安装包到自己创建的目录: cp /opt/nginx-1.8.1.tar.gz /usr/chenlf/
2.解压nginx: tar -zxvf nginx-1.8.1.tar.gz (解压完后可以自己修改文件夹名称:mv nginx-1.8.1 nginx8)
3.解压完成后进入nginx目录进行配置
cd nginx8 #进入目录
#配置
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
解释:
–prefix 为安装路径,
–with-为需要安装的模块,
具体可以运行./configure –help 查看有效模块
处理报错信息,是因为有些环境没安装,安装即可
./configure: error: the HTTP rewrite module requires the PCRE library.
./configure: error: the HTTP rewrite module requires the zlib library
需要安装pcre-devel、zlib zlib-devel (上面安装过了就不会报这个错)
yum -y install pcre-devel
yum -y install zlib zlib-devel
4.在/var下创建temp及nginx目录,配置的时候已经指定了这里
mkdir /var/temp/nginx -p
5 使用make 编译,make install 安装运行
make # 编译命令
make install # 安装命令
安装报错
cp: conf/koi-win' and
/usr/local/nginx/conf/koi-win’ are the same file
将这一步改一下
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf
然后重新编译安装
6 在/usr/local目录下,可以看到Nginx目录,这个就是我们安装好了Nginx,接下来可以测试
[root@admin nginx8]# cd /usr/local/nginx/sbin/
[root@admin sbin]# ./nginx
#或者执行 /usr/local/nginx/sbin/nginx 启动
7 查看nginx是否正常启动
ps -ef |grep nginx
或者访问IP地址: http://192.168.111.128/
8 配置负载均衡
编辑 vim /usr/local/nginx/conf/nginx.conf 路径下的nginx.conf
vim /usr/local/nginx/conf/nginx.conf
#user nobody;
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;
#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;
# 自己定义的几个tomcat 请求地址和端口 -- 需要配置的地方
upstream tomcatTest{
server localhost:8001;
server localhost:8002;
server localhost:8003;
}
# 也就是当浏览器请求:tomcatTest 的时候从下面的tomcat 中去找一个进行转发
server {
listen 80;
server_name tomcatTest;# 要与upstream一致 -- 需要配置的地方
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcatTest; # -- 需要配置的地方
}
}
}
配置部署成功后登陆系统,一登录就被踢出来(原因:系统不知反馈给哪个代理服务)
解决如下
9 反向代理实现会话(session)保持的两种方式
1)添加 自带的 ip_hash (根据客户端的IP,将请求分配到不同的服务器上;)
upstream tomcatTest{
ip_hash; #添加在此处
server localhost:8001;
server localhost:8002;
server localhost:8003;
}
这个虽然访问正常,但是刷新几次,cookie会不同。来自局域网的客户端请求可能被发送到同一服务器上等…
具体的可以百度了解。
2) 添加 nginx-sticky-module模块
upstream tomcatTest{
sticky;# 加在这里
server localhost:8001;
server localhost:8002;
server localhost:8003;
}
Sticky是nginx的一个模块,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上。
10 重新编译nginx增加nginx-sticky-module模块
需要先安装(sticky依赖这个包)
yum install openssl
yum install openssl-devel
1). 查看当前的nginx编译参数
[root@admin sbin]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC)
configure arguments: --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf
2).解压已下载的模块( /usr/chenlf/ 解压在此文件下)
unzip -D nginx-goodies-nginx-sticky-module-ng.zip
mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 nginx-sticky-module-ng
mkdir /usr/server/backup -p
cp -rf /usr/local/nginx/ /usr/server/backup/
4)进入之前编译好的nginx重新编译安装
cd chenlf/nginx8/
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf --add-module=/usr/chenlf/nginx-sticky-module-ng
make
make install #覆盖安装(最好不要覆盖安装,我是直接覆盖安装了)
【不覆盖安装的:
1.关闭 nginx进程
kill -QUIT cat /opt/icloudq/nginx/logs/nginx.pid
2.复制编译后的二进制文件到目录
cp /opt/icloudq/nginx/sbin/nginx /opt/icloudq/nginx/sbin/nginx.bak
cp /opt/icloudq/nginx_tar/nginx-1.4.7/objs/nginx /opt/icloudq/nginx/sbin/nginx
3.然后就是修改配置文件了 】
在conf下添加:
#添加sticky模块后加入此配置
upstream tomcatTest{
# ip_hash;
sticky;# 加在这里
server localhost:8001;
server localhost:8002;
server localhost:8003;
}
之后访问正常,尝试刷新几次,cookie仍然是同一个