目录
1.安装规划
2.系统概述
2.1 硬件
2.2软件
2.3安装顺序
3.软件获取
3.1Tomcat下载
3.2Nginx下载
4.Tomcat安装
4.1JAVA环境配置
4.2 Tomcat安装
4.2.1 Tomcat端口修改
4.2.2 启动tomcat
5.Nginx安装
5.1 nginx安装
5.2 nginx配置文件修改
5.3 nginx启动
5.4 nginx关闭
6.Nginx静态文件部署
7.Nginx反向代理
8 Nginx集群部署和负载均衡
1安装规划
为软件项目部署到多台服务器搭建集群环境
需要准备一台代理服务器和数台普通服务器
静态资源部署在代理服务器上,动态资源部署在普通服务器上。
操作系统为window2003 或以上(以window10展示)
2系统概述
2.1 硬件
硬件要求不低于以下配置:
CPU Intel至强E5400系列CPU
RAM 1G 1333MHz
DISK 20G以上
2.2软件
Nginx1.12.2
Tomcat7.x
2.3安装顺序
1.在普通服务器安装Tomcat
2.在代理服务器安装nginx
3.软件获取
3.1Tomcat下载
然后再左侧Download栏下选择Tomcat 7
然后在下方选择zip格式,点击浏览器则提示下载
3.2Nginx下载
访问http://nginx.org/ 选择nginx稳定版下载
4.Tomcat安装
4.1JAVA环境配置(已经安装jdk并配置好的可以跳过)
首先访问http://www.oracle.com/technetwork/java/javase/downloads/index.html选择JDK SE或者JDK EE进行下载(过程忽略)
然后安装好JDK后在“我的电脑”右键 “属性” 点击左侧高级系统设置然后点击底部环境变量,然后选择系统变量下的新建,在变量名输入JAVA_HOME,然后变量值输入jdk的安装路径或者用浏览目录选择,最后点确定。JDK环境配置完成(用CMD输入java然后回车检查是否安装成功),如果还有问题请查看百度https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
4.2 Tomcat安装
Java环境配置好之后,解压下载好的tomcat压缩包,tomcat可以在一台服务器(或者PC)上部署多个,只需要解压即可。但是多个tomcat要一起运行,必须改变配置信息。
4.2.1 Tomcat端口修改
打开tomcat文件夹,找到conf文件夹下的server.xml,以记事本方式打开。
按图片步骤修改端口号(不要与其他程序软件冲突)
4.2.2 启动tomcat
修改好配置文件后就可以启动tomcat了。打开tomcat文件夹下的bin目录找到startup.bat(Linux是startup.sh),双击启动。(同一台服务器运行多个tomcat需要配置CATALINA_HOME,配置方法和JAVA_HOME类似)
在浏览器中输入http://localhost:端口号/ 然后回车进入下面界面即tomcat正常启动了
注意:不要关闭这个窗口,否则tomcat会一起关闭。
Tomcat的日志文件放在tomcat下的log文件夹下的catalina.时间.log每天生成一个日志文件,如果无法启动或者运行出错请查看日志。
4.2.3 项目部署
方法一,先将项目文件打包成war包,然后把.war文件放置到tomcat文件夹下的webapps文件夹中,再次启动tomcat时会自动解压运行(tomcat运行起来后可以删除.war文件了)。
方法二,将项目文件自己放置到tomcat文件夹下的webapps文件夹中,再次启动tomcat项目就会运行了。
此外,静态文件也可以放置在webapps下提供给外部访问,但一般静态文件都有专门的服务器去存放。
5 nginx安装
5.1 nginx安装
Nginx的安装和tomcat相似,只需要解压即可,同样可以一台服务器上安装多个nginx(同样要修改端口防止冲突,方法在部署中会提到)
注意:nginx的安装目录不能有中文,否则会启动失败
5.2 nginx配置文件修改
Nginx的配置文件在nginx/conf/nginx.conf以记事本方式打开即可修改
如图修改端口
5.3 nginx启动
双击nginx.exe即可启动,启动后无窗口(启动时有窗口闪一下)。打开任务管理器查看
上图两个nginx.exe说明nginx已经启动成功,访问http://服务访问名:端口号/ 即可看到nginx欢迎界面
如果任务管理器没有找到nginx的服务则在nginx/logs/error.log查看错误
5.4 nginx关闭
要关闭nginx需要在任务管理器关闭nginx.exe的进程树就可以了。
6 nginx静态文件部署
网页项目的图片和静态网页等静态资源可以放在nginx上访问
只需要在nginx.conf中修改location属性
然后就可以通过http://服务访问名:端口名/文件名访问了。
7 nginx反向代理
使用nginx进行反向代理其实很简单,只需要在nginx.conf里面配置好数台普通服务器ip就可以了。
首先打开nginx.conf,配置多个server,给予不同listen。
给每个server添加porxy_pass属性。
例如
server {
listen 80;
location / {
proxy_pass http://localhost:8080/;
}
}
server {
listen 81;
location / {
proxy_pass http://www.baidu.com/;
}
}
这样就可以通过http://localhost:80/访问http://localhost:8080/
通过http://localhost:81/ 访问http://www.baidu.com/ 了
注意:以上因为是一台电脑演示的,所以都用localhost,
实际上应用http://代理服务器域名或IP:端口号/ 去访问
8 nginx集群部署和负载均衡
一般一个大的系统都会采用分布式来部署在机房中的数个服务器中,这时就需要一个代理来分发请求给各个服务器,用nginx代理只需要修改一下配置文件nginx.conf 就行了。
首先项目需要拷贝到各个普通服务器的tomcat中运行,并得到它们的访问地址
然后将访问地址配置到代理服务器的nginx中
例如将a.txt放置到三个tomcat中,然后用nginx代理转发
server{
listen 80;
server_namelocalhost;
upstreambakend{ }{
server127.0.0.1:8080 weight=2;
server 127.0.0.1:8081 weight=4;
server127.0.0.1:8082 weight=1;
}
location / {
proxy_passhttp://bakend;
}
}
当用浏览器多次访问http://localhost:80/a.txt 时,会访问到三个服务器不同的页面
但是并不是每个服务器访问到的概率都是一样的,在地址后面加上weight属性即可赋予权值,权值越高越容易被访问到,使性能高的服务器多干活,性能低的服务器少干活。