服务器搭建实践(一)centos7使用nginx+tomcat实现负载均衡

来源:互联网 发布:ubuntu安装jdk eclipse 编辑:程序博客网 时间:2024/05/17 04:36

准备环境
虚拟机三台:
172.16.18.201(tomcat服务器)
172.16.18.202 (tomcat服务器)
172.16.18.204 (nginx服务器)
已下载好的tomcat apache-tomcat-8.5.23.tar.gz
已下载好的nginx nginx-1.10.2.tar.gz

201、202分别安装jdk1.7(yum安装)
1.查询可安装的软件包
#yum -y list java-1.7.
列出所有符合条件的软件
2.安装
#yum -y install java-1.7.0-openjdk*
3.下载好后输入java -version查询是否安装成功
看到以下信息表示安装成功
安装成功

201、202分别安装tomcat(使用早已下载好的tomcat)
1.解压并移至自己的目录
#tar -zxvf apache-tomcat-8.5.23.tar.gz
#cp -R apache-tomcat-8.5.23 /usr/tomcat
2.启动
#cd /usr/tomcat/bin
#./startup.sh
备注:若启动报错无非是没有指定JAVA_HOME,百度完成配置即可
3.关闭防火墙
centos7防火墙为firewall
查看防火墙状态
#firewall-cmd –state
此时我们看到running
关闭防火墙
#systemctl stop firewalld.service
禁止防火墙开机启动
#systemctl disable firewalld.service
4.访问
在浏览器输入http://172.16.18.201:8080、http://172.16.18.201:8080
看到tomcat经典的猫就说明已经完成

204安装nginx并配置负载均衡(使用下载好的nginx软件包)
1.gcc 、zlib、PCRE pcre-devel安装
安装nginx必备软件(别问为什么,哈哈)
#yum install gcc-c++
#yum install -y zlib zlib-devel
#yum install -y pcre pcre-devel
2.安装nginx
解压
#tar -zxvf nginx-1.10.2.tar.gz
配置
一定要进入解压后的nginx-1.10.2目录才能进行。
#cd /nginx-1.10.2
#./configure
编译安装
#make&&make install
3.配置负载均衡
#vi /usr/local/nginx/conf/nginx.conf
其余的不用管,只配置http这一块

http {    include       mime.types;    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #'$status $body_bytes_sent "$http_referer" '    #'"$http_user_agent" "$http_x_forwarded_for"';    #access_log  logs/access.log  main;    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;    #gzip  on;    ##这个很重要    upstream api.smartlock.com{        server 172.16.18.201:8080 weight=1; ##tomcat服务器1        server 172.16.18.202:8080 weight=1; ##tomcat服务器2    }    server {        listen       80; ##监听端口        server_name  172.16.18.204; ##服务名        charset utf-8;        access_log  /data/nginx_logs/access.log ; ##访问日志        error_log   /data/nginx_logs/error.log ; ##错误日志        location /{           proxy_set_header    Host $host:80;            proxy_set_header    REMOTE-HOST $remote_addr;           proxy_set_header    X-Real-IP $remote_addr;           proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;           ##下面的api.smartlock.com和上面配置的upstream名字对应           proxy_pass          http://api.smartlock.com;            client_max_body_size     10m;           client_body_buffer_size  256k;           proxy_connect_timeout    600;           proxy_send_timeout       600;           proxy_read_timeout       600;           proxy_buffer_size        32k;           proxy_buffers            4 64k;           proxy_busy_buffers_size  128k;           proxy_temp_file_write_size 512k;        }        ##禁止访问项目根目录         location ~^/WEB-INF/{                 deny all;        }

完成后保存退出。
4.关闭本台虚拟机防火墙,同上
5.启动nginx
#cd /usr/local/nginx/sbin
#./nginx
备注:修改配置文件后使用./nginx -s reload 即可在不重启nginx的情况下刷新配置使其生效。
6.浏览器输入http://172.16.18.204看到tomcat猫表示配置成功。
备注:补充一下,centos7很多服务都需要关闭setlinux才可以运行
查看状态
#getenforce
如果显示enforcing则先设置为允许
#setenforce 0
开机禁止enforce则要修改配置文件
#vi /etc/selinux/config

这里写图片描述
将enforcing修改为disabled即可。
7.配置nginx开机启动
笔者查看了大部分方法,其中一种方法最简单
#vi /etc/rc.local
在该文件后加:/usr/local/sbin/nginx,如下图。
这里写图片描述
保存退出。
增加该文件可执行权限
#chmod 777 /etc/rc.local
重启虚拟机后再在浏览器输入http://172.16.18.204发现配置nginx自动启动成功。

阅读全文
0 0