Linux初体验03:安装JDK、TOMCAT、NGINX实现负载均衡

下载JDK到linux上

  1. 在当前可以联网的电脑中下载JDK版本
    jdk下载地址,下载对应的.gz包,这里以jdk-8u181-linux-x64.tar.gz为例
  2. 通过linux FTP将对应的.gz包上传到linux服务器上
  3. 在linux服务器上新建一个文件夹,用于存放解压后的jdk文件
   #创建目录
   sudo mkdir /user/jdk
  1. 解压jdk文件到上步骤的文件夹中
      sudo tar -zxvf jdk-8u181-linux-x64.tar.gz -C /user/jdk1.8.0_131

linux上配置jdk

修改环境变量(类似windows环境配置)
  1. 先打开配置文件profile
     #终端输入
     sudo vim /etc/profile
  1. 键盘输入e(edit编辑)
    在这里插入图片描述
  2. 点击insert键,修改当前文件,在最底下新增如下几个语句
     JAVA_HOME=/user/jdk1.8.0_131
     CLASS_PATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:
     PATH=.:$JAVA_HOME/bin:$PATH
     export  PATH JAVA_HOME CLASS_PATH
  1. 点击ESC,在终端输入:wq保存并且退出编辑。然后输入
# 重新加载系统配置文件(环境变量)
source /etc/profile 
  1. 在终端输入java -version查看是否安装成功

linux上配置安装nginx

1、 在终端输入如下命令

#安装nginx
sudo apt-get install nginx
#安装必被组件
yum install gcc-c++
#安装ssl
wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz0.tar.gz
tar zxvf openssl-fips-2.0.1
cd openssl-fips-2.0.10
./config && make && make install

2、编辑配置文件

#由于这种安装方式的linux的目录是系统默认的
sudo  vim /etc/nginx/nginx.conf

里面配置文件内容如下

user www-data; # ser是个主模块指令,指定Nginx Worker进程运行用户以及用户组
worker_processes auto;# 是个主模块指令,指定了Nginx要开启的进程数。每个Nginx进程平均耗费10M~12M内存。建议指定和CPU的数量一致即可
pid /run/nginx.pid; # 主模块指令,用来指定进程pid的存储文件位置
include /etc/nginx/modules-enabled/*.conf;#绑定worker进程和CPU, Linux内核2.4以上可用
#events是设定Nginx的工作模式及连接数上限
events {
	worker_connections 768;#连接数
	# multi_accept on;
	user epoll;#工作模式:epoll(轮询)。nginx工作模式有select、poll、kqueue、epoll、rtsig和/dev/poll。其中select和poll都是标准的工作模式,kqueue和epoll是高效的工作模式,不同的是epoll用在Linux平台上,而kqueue用在BSD系统中。对于Linux系统,epoll工作模式是首选。
}

http {

	##
	# Basic Settings
	##

	sendfile on; #用于开启高效文件传输模式。将tcp_nopush和tcp_nodelay两个指令设置为on用于防止网络阻塞;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	# server_tokens off;
	#负载均衡服务器设置
	# upstream是Nginx的HTTP Upstream模块,这个模块通过一个简单的调度算法来实现客户端IP到后端服务器的负载均衡。在上面的设定中,通过upstream指令指定了一个负载均衡器的名称mysvr。这个名称可以任意指定,在后面需要的地方直接调用即可。
    upstream mysvr {
    	#目前支持四种调用算法:
    	#1.轮询(默认)、
    	#2.Weight(权重,越大访问几率越大)、
    	#3.ip_hash(按照ip的hash结果分配,这样来自同一个IP的访客固定访问一个后端服务器,有效解决了动态网页存在的session共享问题)
    	#4.fair (ip算法)比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持fair的,如果需要使用这种调度算法,必须下载Nginx的upstream_fair模块;
    	#5.url_hash(按照Urlhash值) 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。Nginx本身是不支持url_hash的,如果需要使用这种调度算法,必须安装Nginx 的hash软件包
    	ip_hash;
    	# server命令指定后端服务器ip和端口,端口后的状态有
    	#1.down(宕机,不参与负载均衡)
    	#2.backup(备份,一般不参与负载均衡)
    	#3.max_fails(允许失败的次数,当超过最大次数时,返回proxy_next_upstream 模块定义的错误)
    	#4.fail_timeout:在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。
    	#注:一般调度算法为ip_hash的时候不允许有backup
     	server 127.0.0.1:8080 max_fails=3 fail_timeout=20s;
		server 127.0.0.1:8090;
	}
	# server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# SSL Settings
	##

	ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
	ssl_prefer_server_ciphers on;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log; #日志打印地址
	#虚拟主机设置,一般建议写在另外一个文件,include进来
	server {
        keepalive_requests 120; #单连接请求上限次数。
        listen       80;   #监听端口
        server_name  192.168.93.128;   #用来指定IP地址或者域名,多个域名之间用空格分开    
        # location支持正则表达式匹配,也支持条件判断匹配,用户可以通过location指令实现Nginx对动、静态网页进行过滤处理。使用location URL匹配配置还可以实现反向代理
        location  ~*^.+$ {
           #l【ocation  ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ 】 所有扩展名以.gif、.jpg、.jpeg、.png、.bmp、.swf结尾的静态文件都交给nginx处    
           proxy_pass  http://mysvr;          
        } 
    }

	##
	# Gzip Settings
	##

	gzip on;#表示开启GZIP压缩,实时压缩输出数据流

	# gzip_vary on;#选项可以让前端的缓存服务器缓存经过GZIP压缩的页面,例如用Squid缓存经过Nginx压缩的数据。
	# gzip_proxied any;
	# gzip_comp_level 6;# 用来指定GZIP压缩比,1 压缩比最小,处理速度最快;9 压缩比最大,传输速度快,但处理最慢,也比较消耗cpu资源
	# gzip_buffers 16 8k;#表示申请4个单位为16K的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果;
	# gzip_http_version 1.1;#用于设置识别HTTP协议版本,默认是1.1,目前大部分浏览器已经支持GZIP解压,使用默认即可;
	# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; #用来指定压缩的类型,无论是否指定,“text/html”类型总是会被压缩的;

	##
	# Virtual Host Configs
	##

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;
}


#mail {
#	# See sample authentication script at:
#	# http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
# 
#	# auth_http localhost/auth.php;
#	# pop3_capabilities "TOP" "USER";
#	# imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
#	server {
#		listen     localhost:110;
#		protocol   pop3;
#		proxy      on;
#	}
# 
#	server {
#		listen     localhost:143;
#		protocol   imap;
#		proxy      on;
#	}
#}

linux上配置安装tomcat(多tomcat情况)

  1. 在联网的电脑上下载好tomcat的.gz版本,并用ftp上传至服务器
  2. 通过tar命令解压至一个目录
  3. 将第二个tomcat同理解压到另外一个目录
    如图所示:在这里插入图片描述
  4. 然后给两个解压后的文件夹赋予权限,例如:sudo chmod 755 -R apache-tomcat-8.5.49
  5. 修改bin目录下的startup.shshutdown.sh文件,在文件倒数第二行加上java环境变量
#新增java环境
export JAVA_HOME=/user/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#一定要在这个上边加!
exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
  1. 因为是多tomcat,所以需要去修改/etc/profile中的系统变量
#第一个Tomcat
CATALINA_BASE=/user/tomcat/apache-tomcat-8.5.49
CATALINA_HOME=/user/tomcat/apache-tomcat-8.5.49
export CATALINA_BASE CATALINA_HOME
#第二个Tomcat
CATALINA_2_BASE=/user/tomcat/apache-tomcat
CATALINA_2_HOME=/user/tomcat/apache-tomcat
export CATALINA_2_BASE CATALINA_2_HOME
  1. 修改其中一个tomcat目录/bin/catalina.sh
    在这里插入图片描述
  2. 将服务器的ip:端口添加到nginx,完成整合

效果

同时访问http://192.168.93.128:80/demo/registerUser
8080端口结果为在这里插入图片描述
8090端口为0在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值