nginx知识

应用场景
1 http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
2 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。可以让多个网站共用一个端口,通过域名来区分网站。
3 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。可以实现动静分离,可以大大体改服务器的处理能力。

安装
1、需要安装gcc的环境。yum install gcc-c++
2、第三方的开发包。
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
安装步骤
启动nginx之前,下边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
第一步:[root@localhost ~]# tar zxf nginx-1.8.0.tar.gz
第二步:使用configure命令创建一makeFile文件。
[root@localhost nginx-1.8.0]# ./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
[root@localhost sbin]# mkdir /var/temp/nginx/client -p
第三步:make
第四步:make install
启动nginx
进入sbin目录
[root@localhost sbin]# ./nginx
关闭nginx:
[root@localhost sbin]# ./nginx -s stop
推荐使用:
[root@localhost sbin]# ./nginx -s quit
读配置文件重启:
[root@localhost nginx]# kill -hup ‘cat logs/nginx.pid’
重启nginx:
1、先关闭后启动。
2、刷新配置文件:
[root@localhost sbin]# ./nginx -s reload
配置虚拟主机
这里写图片描述
这里写图片描述
root是根目录指向的是html,html是一个相对目录,相对的是安装程序所在的目录,是nginx安装目录下的html目录
一个server是一个虚拟主机
一个主机上配置两个tomcat
对其中一个tomcat修改端口号
这里写图片描述
这里写图片描述
这里写图片描述
反向代理
反向代理服务器决定哪台服务器提供服务。
Nginx实现反向代理
两个域名指向同一台nginx服务器,用户访问不同的域名显示不同的网页内容。
两个域名是www.sian.com.cn和www.sohu.com
nginx服务器使用虚拟机192.168.101.3

第一步:安装两个tomcat,分别运行在8080和8081端口。
第二步:启动两个tomcat。
第三步:反向代理服务器的配置

upstream tomcat1 {
    server 192.168.25.148:8080;
}
server {
    listen       80;
    server_name  www.sina.com.cn;
    location / {
        proxy_pass   http://tomcat1;
        index  index.html index.htm;
    }
}
upstream tomcat2 {
    server 192.168.25.148:8081;
}
server {
    listen       80;
    server_name  www.sohu.com;
    location / {
        proxy_pass   http://tomcat2;
        index  index.html index.htm;
    }
}

location 语法
location 有”定位”的意思, 根据Uri来进行不同的定位.
在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分,定位到不同的处理方式上.
location 的语法
这里写图片描述
这里写图片描述

精准匹配
=表示:必须与指定的模式精确匹配
server {
server_name abs.com;
location =/a{
………
}
}
http://abs.com/a
正则匹配
~表示:指定的正则表达式要区分大小写
server {
server_name abs.com;
location ~^/a${
………
}
}
http://abs.com/a 正确
http://abs.com/A 不正确
一般匹配
location / {
root /usr/local/nginx/html;
index index.html index.htm;
}

location /foo {
root /var/www/html;
index index.html;
}
我们访问 http://xxx.com/foo
对于uri “/foo”, 两个location的patt,都能匹配他们
即 ‘/’能从左前缀匹配 ‘/foo’, ‘/foo’也能左前缀匹配’/foo’,
此时, 真正访问 /var/www/html/index.html
原因:’/foo’匹配的更长,因此使用之.;

$1表示前面()之内的内容。

这里写图片描述
这里写图片描述

第四步:nginx重新加载配置文件
第五步:配置域名
在hosts文件中添加域名和ip的映射关系
192.168.25.148 www.sina.com.cn
192.168.25.148 www.sohu.com
负载均衡
如果一个服务由多条服务器提供,需要把负载分配到不同的服务器处理,需要负载均衡。
upstream tomcat2 {
server 192.168.25.148:8081;
server 192.168.25.148:8082;
}

可以根据服务器的实际情况调整服务器权重。权重越高分配的请求越多,权重越低,请求越少。默认是都是1
upstream tomcat2 {
server 192.168.25.148:8081;
server 192.168.25.148:8082 weight=2;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值