简单构建Nginx服务器与Tomcat服务器并实现Nginx转发(Linux)

构建基本Nginx服务器


1. 安装.编译nginx服务器

先下载nginx源码包,然后安装pcre用来做正则匹配。
(使用wget下载,如果下载的很慢可以使用ftp服务器传输工具或者共享文件夹来上传到虚拟机,例如File Zilla Client )

installnginxgz

之后解压nginx源码压缩包,进入目录。

tarxzf

编译nginx (编译过程中如果缺失组件包可以用yum下载)

 1.  ./configure --prefix=/usr/local/nginx
 2.  make
 3. make install

nakefin

之后就可以进入nginx.conf进行配置。

2.配置nginx

可以配置启动进程数,启动用户,连接数(默认1024),以及虚拟主机的配置。
nginx-conf

3.启动nginx

1.先查看80端口是否被占用 netstat ntl |grep 80
2.再用-t看自己的配置是否正确

/usr/local/nginx/sbin/nginx -t

3.之后即可启动

/usr/local/nginx/sbin/nginx

之后就可以在虚拟主机上启动nginx服务,然后在本机上访问nginx服务了。如果不能访问,可以互相ping试试,如若ping的通再去考虑防火墙的问题。

nginx

如果要升级版本,可以下载最新版本然后将第三步的make install替换成cp 新代码位置 源代码位置即可

构建基本Tomcat服务器

下载tomcat并且配置java环境

因为tomact本身就是java语言写的,而且是为java服务的容器,自然需要先安装jdk环境。可以直接使用yum命令下载jdk,下载完直接java -version即可查看安装是否成功。
tomcatjdk

(也可以使用ftp上传tar.gz包给服务器,直接使用wget的话解压缩会出错,原因可能是官网不允许直接wget下载。)

启动tomcat

启动前直接将解压完的文件夹放入/usr/local/tomcat文件夹里面,然后直接启动里面的startup.sh脚本即可(windows就启动.bat即可)
tomcat-start

可以通过

 ps -ef |grep java

来查看启动的java进程

也可以使用

netstat ntl|grep 8080

来查看tomcat启动端口

Tomcat性能优化

线上使用默认的tomcat配置,性能会很一般,具体可以优化以下方面:

Linux内核的优化
服务器配置资源的优化
Tomcat参数优化
配置负载集群优化 (例如nginx)

这里着重看Tomcat参数的优化:server.xml

可以配置例如

maxThreads: Tomcat启动最大的线程数,即同时处理的线程个数,默认为200.
acceptCounts:当tomcat启动的线程数达到最大时,接受排队的请求个数,默认为100.
(这一块有些类似线程池,可以看之前的那篇文章)

catalina.sh
catalina-sh
可以优化关于JVM的一些参数配置。

catalina是tomcat为了隔离类加载区分的一个jar包,之后有空会写篇文章关于这一块。

server.xml
server-xml
在tomcat的Connector里面自定义的配置刚刚说的那些参数(包括编码在内)。

注 Connector是tomcat架构里的一部分,每个container拥有多个Connector连接器。

tomcat架构图

Alt Text

Alt Text

启动多个Tomcat实例

启动多个Tomcat实例相对简单,不像配置基础Redis集群和Mongo副本集和分片集,只要用命令cp分出多个下tomcat文件夹,然后配置各自的端口运行即可。
tomcat8080

Nginx转发多台Tomcat

在虚拟机部署多台tomcat

图片.png

博主部署了两台,可以在本机上访问。
图片.png
图片.png

配置Nginx并启动

 upstream tomcat{ 
	server 192.168.0.106:8080 weight=1 max_fails=2 fail_timeout=30s;
	server 192.168.0.106:8081 weight=1 max_fails=2 fail_timeout=30s;
	}
	
	 server {
        listen       8088;
        server_name   localhost ;
		location / {      
	        proxy_pass http://tomcat; 
		}    	
	}

简单实现均衡负载,也可以配置动静页面分离
图片.png
图片.png

想起来之前写关于ribbon的demo的时候,也是这样的均衡负载,其实原理都是请求转发权重的分配,就像nginx可以配置权重(weight),ribbon也可以自定义负载均衡策略来实现不同需求情况下不同的负载均衡策略。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值