centos7 搭建Nginx-1.12.2代理服务器

一、准备工作(选择分步安装与集中安装,其中一种即可

a.分步安装:

1.安装 gcc   

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装

# yum install gcc-c++      


2.安装 zlib      

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

# yum install -y pcre pcre-devel


3.安装 openssl    

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

# yum install -y openssl openssl-devel

4.安装 pcre 

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库

# yum install -y pcre pcre-devel


5.安装autoconf automake

# yum install -y autoconf automake


b.集成安装
# yum -y install gcc gcc-c++ autoconf automake
# yum -y install zlib zlib-devel openssl openssl-devel pcre-devel

二、安装启动Nginx

1.下载

# wget http://nginx.org/download/nginx-1.12.2.tar.gz

2.解压

# tar -zxvf nginx-1.12.2.tar.gz

3.编译

# cd nginx-1.12.2/

# ./configure

4.安装

# make

# make install

5.启动

# cd /usr/local/nginx/sbin

# ./nginx

6.查看端口

# netstat -ntlp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6765/nginx: master  
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      2455/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1168/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1165/cupsd      

三、测试

1.访问 http://localhost 出现下图所示信息,即表明nginx 安装启动成功



四、安装 tomcat 为测试Nginx反向代理

1.下载

# wget http://mirrors.shuosc.org/apache/tomcat/tomcat-8/v8.0.48/bin/apache-tomcat-8.0.48.tar.gz

2.解压

# tar -zxvf apache-tomcat-8.0.48.tar.gz

3.启动测试

# cd /apache-tomcat-8.0.48/bin

# ./startup.sh

[root@localhost bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/software/apache-tomcat-8.0.48
Using CATALINA_HOME:   /usr/software/apache-tomcat-8.0.48
Using CATALINA_TMPDIR: /usr/software/apache-tomcat-8.0.48/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_121/jre
Using CLASSPATH:       /usr/software/apache-tomcat-8.0.48/bin/bootstrap.jar:/usr/software/apache-tomcat-8.0.48/bin/tomcat-juli.jar
Tomcat started.
启动成功 访问:http://localhost:8080


4.打开 nginx的配置文件

# cd /usr/local/nginx/conf

复制一份配置文件 命名为: nginx.conf.bak

#cp nginx.conf nginx.conf.bak

# vim nginx.conf

找到: location / 处,添加:  proxy_pass http://localhost:8080; http://localhost:8080;为tomcat的访问路径


    server {
        listen       80; #nginx的监听端口
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://localhost:8080;
        }

        #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;
        }

修改之后,保存。重启nginx

# ./usr/local/nginx/sbin/nginx -s reload

访问:http://localhost:80 即可访问 tomcat的路径



四、Nginx 负载均衡

1.此处需要部署两个tomcat 进入到第四步载的tomcat的路径下

# cp -r apache-tomcat-8.0.48 tomcat1

# cp -r apache-tomcat-8.0.48 tomcat2

2.修改tomcat配置文件

tomcat1 端口设定为8080 ;tomcat1的配置无需修改

tomcat2 端口设定为8090

# cd /tomcat2/conf

# vim server.xml

修改

<Server port="8005" shutdown="SHUTDOWN">

为:<Server port="8015" shutdown="SHUTDOWN">

<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443" />

为:<Connector port="8090" protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443" />

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

为: <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />

3.在tomcat1和tomcat2下创建测试站点

# cd /tomcat1/webapp

# madir test

# vi index.html

添加

this is tomcat1 index

esc :wq 保存推出

同理在tomcat2下创建test与indexhtml,添加this is tomcat2 index

# cd /tomcat2/webapp

# madir test

# vi index.html

添加

this is tomcat2 index

esc :wq 保存推出

4.修改Nginx的 nginx.conf配置文件

# vim /usr/local/nginx/conf/nginx.conf

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 mytomcat {
        server localhost:8080 weight=100;
        server localhost:8090 weight=110;
    }
    server {
        listen       80;
        server_name  mytomcat;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://mytomcat;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;


保存后退出

分别启动tomcat1与tomcat2

# /tomcat1/bin/startup.sh

# /tomcat2/bin/startup.sh

分别访问 http://localhost:8080/test1与http://localhost:8090/test2 验证是否正常

重启 nginx

# /usr/local/nginx/sbin/nginx -s reload

打开浏览器输入:http://localhost/test 多刷新几次,就会看到请求回来的内容有时不一样。说明,nginx 是随机访问的tomcat1或者tomcat2

配置文件里面的weight哪个数值越大,请求到的次数就会多。





  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值