集群搭建系列教程1:同一台虚拟机环境下Ngnix反向代理配置
原创教程,未经允许,不得转载
集群搭建系列教程1
搭建环境准备:Centos7、tomcat9、nginx-1.12.2
第一部分:linux编译环境准备
由于我是最小化系统安装,所以本次安装需要的各种运行环境需要事先准备
第一步:安装c++编译环境
yum install gcc-c++
第二步:安装pcre-devel
这东西有一个兼容的正则表达式库,nginx 的 http 模块使用 pcre 来解析正则表达式
yum install -y pcre pcre-devel
第三步:安装zlib
zlib 库提供了很多种压缩和解压缩的方式
yum install -y zlib zlib-devel
第四步:安装OpenSSL
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
第二部分:安装ngnix
第一步:将准备好的nginx-1.12.2.tar.gz 上传到/url/local/下,运行命令进行解压缩
tar -zxvf nginx-1.12.2.tar.gz
第二步:对nginx进行配置
其实什么都不需要配置,只需要运行命令使用默认就行,当然也可以选择自定义配置,这里就不附方法了,不过不怕坑可以自己搞搞
./configure
第三步:编译安装
make
make install
第四步:nginx启动测试
[root@localhost sbin]# whereis nginx
nginx: /usr/local/nginx
[root@localhost sbin]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx
启动没问题,代表安装成功,接下来我们要配置tomcat,所以要停止nginx运行
./nginx -s quit
第三部分:安装tomcat
第一步:上传tomcat到服务器,并进行复制,两台tomcat的名字分别问tomcatweb1和tomcatweb2(如果没有jdk,需要先在系统上搞定jdk)
第二步:将我们的项目war包分别上传到两台tomcat的webapp下,进行解压
第三步:分别对每个tomcat的配置文件进行修改,修改内容:
tomcatweb1:
<Server port="18005" shutdown="SHUTDOWN"> <Connector port="18080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="18009" protocol="AJP/1.3" redirectPort="8443" />
tomcatweb2:
<Server port="28005" shutdown="SHUTDOWN"> <Connector port="28080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="28009" protocol="AJP/1.3" redirectPort="8443" />
第四步:分别启动两个tomcat,看访问是否正常


为了做区分,在页面左上角进行了标记,测试通过,可以访问。
第四部分:nginx整合tomcat
第一步:进入nginx的配置文件目录
[root@localhost conf]# cd /usr/local/nginx/conf
第二步:修改nginx.conf这个文件
[root@localhost conf]# vi nginx.conf
核心配置如下:
upstream yangxu { #服务器集群名字
server 192.168.229.128:18080 weight=1;#服务器配置 weight是权重的意思,权重越大,分配的概率越大。
server 192.168.229.128:28080 weight=2;
}
#打那个钱的Nginx的配置
server {
listen 80;#监听80端口,可以改
server_name 192.168.229.128;#当前服务的域名
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://yangxu;
proxy_redirect default;
}
要注意的有几点:
1:upstream 后边的服务器集群名字要和proxy_pass后边的连接地址名字一样
2:server_name这个配置的当前服务的域名,当外界访问这个地址时,Nginx会自动将这请求发送到不同的tomcat
此时如果直接访问这个ip,可以访问项目,但是我们注意到平时访问时很少有直接输入ip地址的情况,
如果我们要想通过域名直接访问项目,需要首先在nginx.conf这个文件将server_name改成如下配置
server_name www.magicabcweb.com;
然后自己在本地windows系统的host文件中添加一个映射(由于这个域名没有注册,所以浏览器无法解析ip地址,需要在本地host中配置)
192.168.229.128 www.magicabcweb.com
配置好以后,此时再次直接访问 www.magicabcweb.com



浙公网安备 33010602011771号