最近在学习nginx,顺便做一下笔记
主要步骤:
* 配置虚拟地址:用于模拟域名访问
* nginx,tomcat,jkd下载安装
* nginx配置,tomcat配置
一、配置虚拟地址
1.1、在电脑的host文件中配置虚拟地址
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
0.0.0.0 account.jetbrains.com
192.168.58.191 www.test.nginx
- 我这个是mac的配置,Windows的自己百度了(尴尬)
1.2、在nginx中配置对应的虚拟地址
server {
listen 80;
server_name www.test.nginx;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
- 说明:server_name www.test.nginx;为配置的虚拟地址
1.3、启动nginx,并在电脑中访问地址:
http://www.test.nginx/
- 注:nginx搭建可以参照博客: 02-01 nginx环境搭建:环境 centos7
二、nginx反向代理
- 思路:采用一个nginx对应多个tomcat服务器,通过nginx转发请求到对应的服务器中
2.1、jdk下载:
- tomcat运行需要有jdk环境
2.1.1、安装jdk
[root@bogon local]# yum install java-1.7.0-openjdk
2.1.2、配置环境变量
[root@bogon local]# vim /etc/profile
2.1.3、在配置文件中添加设置
#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
- 注意:
- java_home中的路径需要先进去验证/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64是否为对应的文件夹
2.1.4、重新加载配置文件
[root@bogon local]# source /etc/profile
2.2、tomcat配置
2.2.1、创建tomcats文件夹并在此文件夹下下载tomcat文件
- 创建tomcats文件夹是用来存放多个tomcat,来模拟多台服务器
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.52/bin/apache-tomcat-8.0.52.tar.gz
2.2.2、解压tomcat文件夹,并给解压后的文件夹重命名
[root@localhost tomcats]# ls
apache-tomcat-8.0.52.tar.gz
[root@localhost tomcats]# tar zxf apache-tomcat-8.0.52.tar.gz
[root@localhost tomcats]# mv apache-tomcat-8.0.52 tomcat01
[root@localhost tomcats]# ls
apache-tomcat-8.0.52.tar.gz tomcat01
2.2.3、复制出3个tomcat文件夹(用于模拟3台服务器)
[root@localhost tomcats]# cp -r tomcat01 tomcat02
[root@localhost tomcats]# cp -r tomcat01 tomcat03
[root@localhost tomcats]# ls
apache-tomcat-8.0.52.tar.gz tomcat01 tomcat02 tomcat03
2.2.4、修改tomcat启动页面中页面显示
[root@localhost tomcats]# vim tomcat01/webapps/ROOT/index.jsp
[root@localhost tomcats]# vim tomcat02/webapps/ROOT/index.jsp
[root@localhost tomcats]# vim tomcat03/webapps/ROOT/index.jsp
- 修改内容:
<div id="asf-box">
<h1>${pageContext.servletContext.serverInfo} --- tomcat01 ---- </h1>
</div>
2.2.5、修改tomcat的服务器端口
[root@localhost tomcats]# vim tomcat02/conf/server.xml
[root@localhost tomcats]# vim tomcat03/conf/server.xml
2.2.6、将启动端口进行修改
- 修改内容:
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
2.2.7、nginx中修改反向代理配置
[root@localhost local]# vim nginx/conf/nginx.conf
upstream tomcats{
server 192.168.58.191:8080;
server 192.168.58.191:8081;
server 192.168.58.191:8082;
}
server {
listen 80;
server_name www.test.nginx;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcats;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
2.2.8、启动3个tomcat+nginx
- 3个tomcat启动
[root@localhost local]# tomcats/tomcat01/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcats/tomcat01
Using CATALINA_HOME: /usr/local/tomcats/tomcat01
Using CATALINA_TMPDIR: /usr/local/tomcats/tomcat01/temp
Using JRE_HOME: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre
Using CLASSPATH: /usr/local/tomcats/tomcat01/bin/bootstrap.jar:/usr/local/tomcats/tomcat01/bin/tomcat-juli.jar
Tomcat started.
[root@localhost local]# tomcats/tomcat02/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcats/tomcat02
Using CATALINA_HOME: /usr/local/tomcats/tomcat02
Using CATALINA_TMPDIR: /usr/local/tomcats/tomcat02/temp
Using JRE_HOME: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre
Using CLASSPATH: /usr/local/tomcats/tomcat02/bin/bootstrap.jar:/usr/local/tomcats/tomcat02/bin/tomcat-juli.jar
Tomcat started.
[root@localhost local]# tomcats/tomcat03/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcats/tomcat03
Using CATALINA_HOME: /usr/local/tomcats/tomcat03
Using CATALINA_TMPDIR: /usr/local/tomcats/tomcat03/temp
Using JRE_HOME: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre
Using CLASSPATH: /usr/local/tomcats/tomcat03/bin/bootstrap.jar:/usr/local/tomcats/tomcat03/bin/tomcat-juli.jar
Tomcat started.
- nginx启动
[root@localhost local]# nginx/sbin/./nginx -s reload
- 如果之前有运行nginx直接reload
2.2.9、直接访问
http://www.test.nginx/
- 正常访问会出现tomcat的欢迎界面,不断刷可以实现多个tomcat的切换调用
- 如果访问失败可能是8080,8081,8082防火墙没开
[root@localhost local]# firewall-cmd --permanent --zone=public --add-port=8080/tcp
success
[root@localhost local]# firewall-cmd --permanent --zone=public --add-port=8081/tcp
success
[root@localhost local]# firewall-cmd --permanent --zone=public --add-port=8082/tcp
success
[root@localhost local]# firewall-cmd --reload
success
[root@localhost local]# nginx/sbin/./nginx -s reload
三、负载均衡实现
3.2、nginx中修改反向代理配置
[root@localhost local]# vim nginx/conf/nginx.conf
upstream tomcats{
server 192.168.58.191:8080;
server 192.168.58.191:8081 weight=3;
server 192.168.58.191:8082;
}