配置CentOS环境

配置CentOS环境

1. 配置

1.1 主机名配置

  1. 命令查看主机名
hostname
  1. 修改主机名,重启后无效
hostname xxx
  1. 如果想要永久生效,可以修改/etc/sysconfig/network文件
vim /etc/hostname

1.2 修改ip地址

  1. 联网的情况下,在终端root用户身份输入:ifconfig,然后记住:
inet 192.168.146.129
netmask 255.255.255.0
broadcast 192.168.146.255
  1. 然后输入:vim /etc/sysconfig/network-scripts/ifcfg-ens32,并做如下增改:
ONBOOT=yes               #设置为yes时,系统启动时激活此设备
HWADDR=00:0C:29:1F:7A:27  #MAC地址
IPADDR=192.168.146.129    #IP地址
NETMASK=255.255.255.0     #子网掩码
BROADCAST=192.168.146.255 #广播地址
  1. 最后重启网络服务
systemctl restart network

1.3 域名映射

  1. /etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用,相当于windows系统的C:\Windows\System32\drivers\etc\hosts文件的功能。
  2. 修改hosts文件
vim /etc/hosts
# 在最后添加信息
# 192.168.xxx.xxx 主机名
192.168.10.10 itcast

1.4 网络服务管理

service network status #查看指定服务的状态
service network stop #停止指定服务
service network start #启动指定服务
service network restart #重启指定服务
service --status-all #查看系统中所有后台服务
netstat -nltp #查看系统中网络进程的端口监听情况
  1. 防火墙根据配置文件/etc/sysconfig/iptables -config来控制本机的”出”、”入”网络访问行为。
systemctl status firewalld.service  #查看防火墙状态
systemctl start firewalld.service   #启动防火墙
systemctl stop firewalld.service    #关闭防火墙
systemctl enable firewalld.service  #防火墙自启
systemctl disable firewalld.service #禁止防火墙自启

1.5 国内yum源

​网易(163)yum源是国内最好的yum源之一,无论是速度还是软件版本,都非常的不错。将yum源设置为163 yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。 安装步骤如下:

  1. 首先备份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  1. 下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)

    CentOS5:http://mirrors.163.com/.help/CentOS5-Base-163.repo
    CentOS6:http://mirrors.163.com/.help/CentOS6-Base-163.repo
    CentOS7:http://mirrors.163.com/.help/CentOS7-Base-163.repo

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
  1. 运行以下命令生成缓存
yum clean all
yum makecache

除了网易之外,国内还有其他不错的 yum 源,比如中科大和搜狐。
中科大的yum源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos。sohu的yum源安装方法查看: http://mirrors.sohu.com/help/centos.html

2. 必备软件安装

2.1 Java安装

  1. 下载jdk到根目录“~”
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" “jdk的下载地址”
或者:
wget “jdk的下载地址”
  1. 如果有openjdk的话,先卸载
查询:rpm -qa | grep java ,rpm -qa | grep jdk
若有,则卸载:rpm -e --nodeps “查询项名称”
  1. 解压到/usr/java目录
tar -zxvf ~/jdk-8u241-linux-x64.tar.gz -C /usr/java
  1. 配置java环境变量
vim /etc/profile
输入i,在末尾行添加:
#set java environment
JAVA_HOME=/usr/java/jdk1.8.0_241  #bin的上一级目录全路径
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
  1. 然后重启profile:source /etc/profile
  2. 最后输入java -version
    在这里插入图片描述
  3. 出现以上界面,说明jdk安装成功。

2.2 MySQL安装

  1. 检查系统中是否已安装MySQL。
rpm -qa | grep mysql

注意:在新版本的CentOS7中,默认的数据库已更新为了Mariadb

  1. 查看已安装的Mariadb数据库版本。
rpm -qa | grep -i mariadb

在这里插入图片描述

  1. 卸载已安装的Mariadb数据库。
rpm -qa | grep mariadb | xargs rpm -e --nodeps
  1. 再次查看已安装的 Mariadb 数据库版本,确认是否卸载完成。
rpm -qa | grep -i mariadb
  1. 下载安装包文件。
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
  1. 安装mysql-community-release-el7-5.noarch.rpm包。
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装完成之后,会在 /etc/yum.repos.d/ 目录下新增 mysql-community.repo 、mysql-community-source.repo 两个 yum 源文件。
执行 yum repolist all | grep mysql 命令查看可用的 mysql 安装文件。
yum install mysql-server,安装mysql。
  1. rpm -qa | grep mysql,检查mysql是否安装成功。
  2. 启动mysql服务。
systemctl start mysqld.service    #启动mysql
systemctl enable mysqld.service   #设置mysql开机启动
systemctl restart mysqld.service  #重启mysql
systemctl stop mysqld.service     #停止mysql
  1. 设置密码。
    注意:mysql5.6安装完成后,它的root用户的密码默认是空的,我们需要及时用mysql 的root用户登录(第一次直接回车,不用输入密码),并修改密码。
# mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("root用户密码") where User='root';
mysql> flush privileges;
  1. 设置远程主机登录。
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";

2.3 Tomcat安装

2.3.1 解压并安装

  1. 到官方网站http://tomcat.apache.org/download-80.cgi下载tomcat,我们这里下载Tomcat 8.5(tar.gz)版本。
  2. 用ftp工具将tar包上传到目标服务器。
    在这里插入图片描述
  3. 解压到/usr/tomcat/目录。
tar -xzvf ~/apache-tomcat-8.5.51.tar.gz -C /usr/tomcat
  1. 在/usr/tomcat/apache-tomcat-8.5.51/bin目录下执行./startup.sh启动。

2.3.2 开放8080端口

  1. 输入命令查看防火墙的状态。
firewall-cmd --state

在这里插入图片描述

  1. 如果上一步处于关闭状态,输入命令:
systemctl start firewalld.service
  1. 开启8080端口,输入命令:
firewall-cmd --zone=public --add-port=8080/tcp --permanent

在这里插入图片描述

  1. 命令参数解释:
    –zone=public:表示作用域为公共的;
    –add-port=8080/tcp:添加tcp协议的端口8080;
    –permanent:永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效。

  2. 输入命令重新启动防火墙:

systemctl restart firewalld.service
  1. 输入命令重新载入配置:
firewall-cmd --reload

在这里插入图片描述

  1. 验证是否正常启动
wget http://localhost:8080

在这里插入图片描述

  1. 远程访问
    在这里插入图片描述

2.3.3 设置tomcat开机自启动

  1. 创建tomcat8服务文件:
vim /usr/lib/systemd/system/tomcat8.service

#tomcat8.service文件内容:

[Unit]
Description=Tomcat 8.5.51
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
Environment='JAVA_HOME=/usr/java/jdk1.8.0_241'
Environment='CATALINA_PID=/usr/tomcat/apache-tomcat-8.5.51/bin/tomcat.pid'
Environment='CATALINA_HOME=/usr/tomcat/apache-tomcat-8.5.51/'
Environment='CATALINA_BASE=/usr/tomcat/apache-tomcat-8.5.51/'
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'

WorkingDirectory=/usr/tomcat/apache-tomcat-8.5.51/

ExecStart=/usr/tomcat/apache-tomcat-8.5.51/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  1. 设置tomcat开机启动:
systemctl enable tomcat8
  1. 启动tomcat8服务:
systemctl start tomcat8
  1. 重启系统,然后查看服务:
reboot
systemctl status tomcat8
ps aux | grep tomcat | wc -l
  1. 如果查找到有2个,就是成功的Linux设置tomcat开机自启动。

2.4 Redis安装

2.4.1 下载安装redis

  1. 下载安装包到根目录:
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
  1. 解压压缩包到/usr/目录
tar -zxvf ~/redis-4.0.6.tar.gz -C /usr/
  1. yum安装gcc依赖:
yum install gcc
  1. 跳转到redis的解压目录下:
cd /usr/redis-4.0.6
  1. 编译安装:
make MALLOC=libc

将/usr/redis-4.0.6/src目录下的文件加到/usr/local/bin目录

cd src && make install

2.4.2 启动redis的三种方式

  1. 直接启动redis
    (1)在src目录下输入:./redis-server
    (2)按Ctrl + C可以关闭窗口。

  2. 以后台进程方式启动redis
    (1)修改redis.conf文件,将daemonize no修改为daemonize yes
    (2)指定redis.conf文件启动,./redis-server /usr/redis-4.0.6/redis.conf
    (3)使用ps -aux | grep redis查看redis进程,使用kill命令杀死进程

  3. 设置redis开机自启动
    (1)在/etc目录下新建redis目录,mkdir redis
    (2)将/usr/redis-4.0.6/redis.conf文件复制到/etc/redis目录下,并命名为6379.conf
    (3)将redis的启动脚本复制一份放到/etc/init.d目录下
    (4)设置redis开机自启动,先切换到/etc/init.d目录下,然后执行自启命令
    (5)启动:
    (6)关闭:

cp /usr/redis-4.0.6/redis.conf /etc/redis/6379.conf

cp /usr/local/redis-4.0.6/utils/redis_init_script /etc/init.d/redisd
#使用vim编辑redisd文件,在第一行加入如下两行注释,保存退出
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

chkconfig redisd on

service redisd start

# 方法1:
service redisd stop
# 方法2:
redis-cli SHUTDOWN

2.5 Nginx安装

2.5.1 安装所需环境

  1. gcc 安装
    安装 nginx 需要先从官方网站下载的源码进行编译,编译依赖gcc环境,如果没有 gcc环境,则需要安装:
yum install gcc-c++
  1. PCRE pcre-devel 安装
    PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装 pcre库,pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
  1. zlib安装
    zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行 gzip,所以需要在CentOS上安装zlib库。
yum install -y zlib zlib-devel
  1. OpenSSL安装
    OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即ssl协议上传输http),所以需要在CentOS 安装OpenSSL库。
yum install -y openssl openssl-devel

2.5.2 官方下载

  1. 直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html
  2. 使用wget命令下载(推荐)。确保系统已经安装了wget,如果没有安装,执行 yum install wget 安装。
wget -c https://nginx.org/download/nginx-1.8.0.tar.gz

2.5.3 安装

  1. 解压:
tar -zxvf nginx-1.12.0.tar.gz -C /usr/
cd /usr/nginx-1.12.0
  1. 进入nginx-1.8.0目录,使用configure命令创建MakeFile文件:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
执行后可以看到Makefile文件。

---- 知识点小贴士 ----
Makefile是一种配置文件, Makefile 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,Makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 MakeFile就像一个Shell脚本一样,其中也可以执行操作系统的命令。

configure参数
./configure \
--prefix=/usr \								指向安装目录
--sbin-path=/usr/sbin/nginx \				指向(执行)程序文件(nginx)
--conf-path=/etc/nginx/nginx.conf \			指向配置文件
--error-log-path=/var/log/nginx/error.log \	指向log
--http-log-path=/var/log/nginx/access.log \	指向http-log
--pid-path=/var/run/nginx/nginx.pid \		指向pid
--lock-path=/var/lock/nginx.lock \			安装文件锁定,防止安装文件被别人利用,或自己误操作
--user=nginx \
--group=nginx \
--with-http_ssl_module \				启用ngx_http_ssl_module支持(使支持https请求,需要安装openssl)
--with-http_flv_module \				启用ngx_http_flv_module支持(提供寻求内存使用基于时间的偏移量文件)
--with-http_stub_status_module \		启用ngx_http_stub_status_module支持(获取nginx自上次启动以来的工作状态)
--with-http_gzip_static_module \		启用ngx_http_gzip_static_module支持(在线实时压缩输出数据流)
--http-client-body-temp-path=/var/tmp/nginx/client/ \	设定http客户端请求临时文件路径
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \ 	设定http代理临时文件路径
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \	设定http fastcgi临时文件路径
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \	设定http uwsgi临时文件路径
--http-scgi-temp-path=/var/tmp/nginx/scgi \		设定http scgi临时文件路径
--with-pcre									启用pcre库
  1. 编译安装
make && make install

2.5.4 Nginx启动与访问

  1. 启动nginx之前,将临时文件目录指定为/var/temp/nginx/client,需要在/var下创建此目录
mkdir /var/temp/nginx/client -p
  1. 进入到nginx目录下的sbin目录
cd /usr/local/nginx/sbin
  1. 输入命令启动nginx
./nginx
  1. 启动后查看进程
ps aux | grep nginx
  1. 开放80端口,方法同8080端口
  2. 地址栏输入主机ip地址即可访问(默认为80端口)
  3. 关闭 nginx:
./nginx -s quit
或者
./nginx -s stop(不推荐)
  1. 重启 nginx:
# 先关闭后启动,或者刷新配置文件:
./nginx -s reload

2.5.5 添加Nginx到service启动

  1. 编写nginx文件,放入/etc/init.d/目录下
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
#              It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/var/run/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
   echo "nginx already running...."
   exit 1
fi
   echo -n $"Starting $prog: "
   daemon $nginxd -c ${nginx_config}
   RETVAL=$?
   echo
   [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
   return $RETVAL
}
# Stop nginx daemons functions.
stop() {
        echo -n $"Stopping $prog: "
        killproc $nginxd
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}
# reload nginx service functions.
reload() {
    echo -n $"Reloading $prog: "
    #kill -HUP `cat ${nginx_pid}`
    killproc $nginxd -HUP
    RETVAL=$?
    echo
}
# See how we were called.
case "$1" in
start)
        start
        ;;
stop)
        stop
        ;;
reload)
        reload
        ;;
restart)
        stop
        start
        ;;
status)
        status $prog
        RETVAL=$?
        ;;
*)
        echo $"Usage: $prog {start|stop|restart|reload|status|help}"
        exit 1
esac
exit $RETVAL
修改成自己的
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
  1. 执行
chkconfig --add /etc/init.d/nginx
chmod 755 /etc/init.d/nginx
chkconfig --add nginx
  1. 进入到/lib/systemd/system/目录
cd /lib/systemd/system/
  1. 创建nginx.service文件,并编辑
vim nginx.service
内如如下:
[Unit]
Description=nginx service
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

参数说明:
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径,[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3,保存退出。

  1. 加入开机自启动
systemctl enable nginx
如果不想开机自启动了,可以使用下面的命令取消开机自启动
systemctl disable nginx
  1. 服务的启动/停止/刷新配置文件/查看状态
systemctl start nginx.service         #启动nginx服务
systemctl stop nginx.service          #停止服务
systemctl restart nginx.service       #重新启动服务
systemctl list-units --type=service   #查看所有已启动的服务
systemctl status nginx.service        #查看服务当前状态
systemctl enable nginx.service        #设置开机自启动
systemctl disable nginx.service       #停止开机自启动
  1. 一个常见的错误:“Warning: nginx.service changed on disk. Run ‘systemctl daemon-reload’ to reload units. ”直接按照提示执行命令systemctl daemon-reload 即可。
systemctl daemon-reload

3. 部署项目到Linux

3.1 修改

3.1.1 修改pom配置

  1. 在pom.xml中添加
    在这里插入图片描述
  2. 修改jdk版本1.8

3.1.2 修改项目

  1. druid.properties
    在这里插入图片描述
  2. header.html
    在这里插入图片描述
  3. route_detail.html
    在这里插入图片描述

3.1.3 使用package命令打包

在这里插入图片描述

3.2 部署

  1. 将travel.war上传到tomcat中的webapps目录
  2. 重启tomcat
  3. 到出本地mysql数据,并导入linux中的mysql

4. Nginx静态网站部署

4.1 静态网站的部署

将/资料/静态页面/index目录下的所有内容上传到服务器的/usr/local/nginx/html下即可访问
在这里插入图片描述

4.2 配置虚拟主机

虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器。虚拟主机技术极大的促进了网络技术的应用和普及。同时虚拟主机的租用服务也成了网络时代的一种新型经济形式。

4.2.1 端口绑定

  1. 上传静态网站:
    将/资料/静态页面/index目录上传至/usr/local/nginx/index下
    将/资料/静态页面/regist目录上传至/usr/local/nginx/regist下

  2. 修改Nginx的配置文件:/usr/local/nginx/conf/nginx.conf

    server {
        listen       81; # 监听的端口
        server_name  localhost; # 域名或ip
        location / {	# 访问路径配置
            root   index;# 根目录
            index  index.html index.htm; # 默认首页
        }
        error_page   500 502 503 504  /50x.html;	# 错误页面
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen       82; # 监听的端口
        server_name  localhost; # 域名或ip
        location / {	# 访问路径配置
            root   regist;# 根目录
            index  regist.html; # 默认首页
        }
        error_page   500 502 503 504  /50x.html;	# 错误页面
        location = /50x.html {
            root   html;
        }
    }
  1. 访问测试:
    地址栏输入http://192.168.177.129/:81 可以看到首页面
    地址栏输入http://192.168.177.129/:82 可以看到注册页面

4.2.2 域名绑定

  1. 一个域名对应一个 ip 地址,一个 ip 地址可以被多个域名绑定。
    本地测试可以修改 hosts 文件(C:\Windows\System32\drivers\etc)。
    可以配置域名和 ip 的映射关系,如果 hosts 文件中配置了域名和 ip 的对应关系,不需要走dns 服务器。
192.168.177.129	www.hmtravel.com
192.168.177.129	regist.hmtravel.com
  1. 做好域名指向后,修改nginx配置文件
    server {
        listen       80;
        server_name  www.hmtravel.com;
        location / {
            root   cart;
            index  cart.html;
        }
    }
    server {
        listen       80;
        server_name  regist.hmtravel.com;
        location / {
            root   search;
            index  search.html;
        }
    }
  1. 执行以下命令,刷新配置
./nginx -s reload
  1. 测试:
    地址栏输入http://www.hmtravel.com/
    地址栏输入http://regist.hmtravel.com/

5. Nginx反向代理与负载均衡

5.1 反向代理

5.1.1 什么是反向代理

  1. 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
  2. 首先我们先理解正向代理,如下图:
    在这里插入图片描述
  3. 正向代理是针对你的客户端,而反向代理是针对服务器的,如下图
    在这里插入图片描述 在这里插入图片描述

5.1.2 配置反向代理-准备工作

  1. 将travel案例部署到tomcat中(ROOT目录),上传到服务器。
  2. 启动Tomcat,输入网址http://192.168.177.129:8080,可以看到网站首页。

5.1.3 配置反向代理

  1. 在Nginx主机修改 Nginx配置文件
    upstream tomcat-travel {
	    server 192.168.177.129:8080;
    }

    server {
        listen        80; # 监听的端口
        server_name  www.hmtravel.com; # 域名或ip
        location / {	# 访问路径配置
            # root index;# 根目录
            proxy_pass http://tomcat-travel;
            index  index.html index.htm; # 默认首页
        }
    }

(2) 重新启动Nginx然后用浏览器测试:http://www.hmtravel.com(此域名须配置域名指向)。

5.2 负载均衡

5.2.1 什么是负载均衡

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

5.2.2 配置负载均衡-准备工作

  1. 将刚才的存放工程的tomcat复制三份,修改端口分别为8080,8081,8082。
  2. 分别启动这三个tomcat服务。
  3. 为了能够区分是访问哪个服务器的网站,可以在首页标题加上标记以便区分。

5.2.3 配置负载均衡

  1. 修改 Nginx配置文件:
    upstream tomcat-travel {
	    server 192.168.177.129:8080;
	    server 192.168.177.129:8081;
	    server 192.168.177.129:8082;
    }

    server {
        listen       80; # 监听的端口
        server_name  www.hmtravel.com; # 域名或ip
        location / {	# 访问路径配置
            # root   index;# 根目录
	        proxy_pass http://tomcat-travel;
            index  index.html index.htm; # 默认首页
        }
        error_page   500 502 503 504  /50x.html;	# 错误页面
        location = /50x.html {
            root   html;
        }
    }
  1. 测试:地址栏输入http:// www.hmtravel.com/刷新观察每个网页标题,看是否不同。

  2. 设置权重:
    经过测试,三台服务器出现的概率各为33.3333333%,交替显示。
    如果其中一台服务器性能比较好,想让其承担更多的压力,可以设置权重。
    比如想让NO.1出现次数是其它服务器的2倍,则修改配置如下:

    upstream tomcat-travel {
        server 192.168.177.129:8080;
        server 192.168.177.129:8081 weight=2;
        server 192.168.177.129:8082;
    }
经过测试,每刷新四次,有两次是8081
发布了1 篇原创文章 · 获赞 0 · 访问量 31

猜你喜欢

转载自blog.csdn.net/weixin_45953793/article/details/105196079