Nginx安装方法和反向代理配置

一.Nginx准备安装环境

Nginx是C语言开发,建议在linux上运行,本教程使用Centos7.0作为安装环境.


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

yum install gcc-c++ 


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

yum install -y pcre pcre-devel


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

yum install -y zlib zlib-devel


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

yum install -y openssl openssl-devel

二.nginx准备安装

1.在/usr/local/下创建文件nginx文件
mkdir /usr/local/nginx

2.将nginx安装文件拷贝到此文件夹下
手动拷贝--“nginx” 文件!

3.进入并解压nginx
cd /usr/local/nginx
tar -zxvf nginx-1.21.1.tar.gz
cd nginx-1.21.1

三.nginx编译安装

1.在Nginx路径下,输入:

 ./configure

文件夹中出现:Makefile,这个文件。

2.在当前路径下,输入:

<1> make

<2> make install

安装目录,如图:

wKioL1UCq-DyvhY2AAKFRqrv8WY142.jpg

3.启动nginx:

进入到nginx的sbin的目录:

cd /usr/local/nginx/sbin/

输入启动命令: ./nginx

4.查看nginx进程情况:

ps aux|grep nginx

5.查看nginx版本:

/usr/local/webserver/nginx/sbin/nginx -v

6.查看端口号:

firewall-cmd --query-port=80/tcp

手动开启端口:

firewall-cmd --zone=public --add-port=80/tcp --permanent

开启端口后,要重启防火墙:

firewall-cmd --reload

7.测试网页访问nginx是否成功:

输入:网址+端口号

出现:

即成功! 

四.设置开机启动和端口号

首先修改/etc/rc.d/rc.local文件:

vi /etc/rc.d/rc.local

如图:

填加内容为:/usr/local/nginx/sbin/nginx

然后执行如下命令,使/etc/rc.d/rc.local变成可执行文件。

chmod +x /etc/rc.d/rc.local

指定配置文件进行重启:

/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf

使用reboot命令重启,查看nginx是否成功的自启动!

修改nginx默认端口号:

cd /usr/local/nginx/conf/

路径下,输入:

vi nginx.conf

 修改红色部分,为新的端口号,即可!

备注:

进入安装目录:

cd /usr/local/nginx/sbin

启动、关闭、重启命令:

./nginx 启动
./nginx -s stop 关闭
./nginx -s reload 重启

五.Nginx配置反向代理的原理图:

什么是反向代理
反向代理服务器决定哪台服务器提供服务。返回代理服务器不提供服务器。只是请求的转发。
正向代理如下

反向代理如下

以上是Nginx实现反向代理的过程!

六.修改Tomcat和Nginx配置文件

一、Tomcat配置文件:

首先在电脑上安装三个tomcat服务器,三个端口分别是8081和8082和8083。

然后,

通过Editplus远程连接修改tomcat8081里面的server.xml配置里面修改端口号

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

通过Editplus远程连接修改tomcat8082里面的server.xml配置里面修改端口号

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

通过Editplus远程连接修改tomcat8083里面的server.xml配置里面修改端口号

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

然后,

把tomact8001里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样,此时可以看到下面输入的内容是8001,

<html lang="en">
    <head>
        <title><%=request.getServletContext().getServerInfo() %></title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>

    <body>
        <h1>tomcat8001index.jsp<h1>
    </body>

</html>

把tomact8002里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样,此时可以看到下面输入的内容是8002,

<html lang="en">
    <head>
        <title><%=request.getServletContext().getServerInfo() %></title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>

    <body>
        <h1>tomcat8002index.jsp<h1>
    </body>

</html>

把tomact8003里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样,此时可以看到下面输入的内容是8003,

<html lang="en">
    <head>
        <title><%=request.getServletContext().getServerInfo() %></title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>

    <body>
        <h1>tomcat8003index.jsp<h1>
    </body>

</html>

然后,启动tomcat8001和tomcat8002和tomcat8003,访问成功!

例:apache-tomcat-8001

(本机)http://127.0.0.1:8001/

(外网端口映射)http://27.185.15.89:501/

访问成功!

例:apache-tomcat-8002

(本机)http://127.0.0.1:8002/

(外网端口映射)http://27.185.15.89:502/

访问成功!

例:apache-tomcat-8003

(本机)http://127.0.0.1:8003/

(外网端口映射)http://27.185.15.89:503/

访问成功!

二、Nginx配置文件:

修改nginx配置文件的路径:

cd /usr/local/nginx/conf/

路径下,输入:

vi nginx.conf

修改文件如下内容:



worker_processes  1;



events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
		upstream tomcat1{
		server 27.185.15.89:501;
		server 27.185.15.89:502;
		server 27.185.15.89:503;
		}
		server {
        listen       31;
        server_name  localhost;


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

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    upstream tomcat2{
		server 27.185.15.89:501;
		server 27.185.15.89:502;
		server 27.185.15.89:503;
		}
		server {
        listen       32;
        server_name  localhost;


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

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    upstream tomcat3{
		server 27.185.15.89:501;
		server 27.185.15.89:502;
		server 27.185.15.89:503;
		}
		server {
        listen       33;
        server_name  localhost;


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

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}

七.访问网址,查看是否设置成功:

http://27.185.15.89:31/

http://27.185.15.89:32/

http://27.185.15.89:33/

结尾:

重复访问同一个网址,出现不同的访问结果,说明nginx代理成功!访问不同的Tomcat容器。到此,nginx的反向代理就完成了!

---------------------

nginx 文件结构:

...              #全局块

events {         #events块
   ...
}

http      #http块
{
    ...   #http全局块
    server        #server块
    { 
        ...       #server全局块
        location [PATTERN]   #location块
        {
            ...
        }
        location [PATTERN] 
        {
            ...
        }
    }
    server
    {
      ...
    }
    ...     #http全局块
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值