1.什么是Nginx?

​ Nginx是一款高性能的HTTP和反向代理轻量级的Web服务器,特点是占有内存少,并发能力强

​ ·1.正向/反向代理:

​ 正向代理:其实就是类似于VPN,通过代理服务器来访问。

​ 反向代理:只需要将请求发送反向代理服务器,由反向代理服务器自己去选择目标服务器获取数据后,再返回给客户端。

​ ·2.负载均衡:增加服务器的数量,然后将请求分发到各个服务器上,将负载分发到不同的服务器

​ ·3.动静分离:为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。

2.Nginx的安装

​ 首先安装必要的库(nginx 中gzip模块需要 zlib 库,rewrite模块需要 pcre 库,ssl 功能需要openssl库)

​ 1.需要先安装gcc

yum install -y gcc gcc-c++

​ 2.安装PCRE库

1
2
3
4
5
1 wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz
2 tar -zxvf pcre-8.33.tar.gz
3 cd pcre-8.33
4 ./configure
5 make && make install

​ 3.安装SSL库

1
2
3
4
5
1 wget http://www.openssl.org/source/openssl-1.0.2s.tar.gz
2 tar -zxvf openssl-1.0.2s.tar.gz
3 cd openssl-1.0.2s
4 ./config
5 make && make install

​ 4.安装zlib库

1
2
3
4
5
1 wget http://zlib.net/zlib-1.2.11.tar.gz
2 tar -zxvf zlib-1.2.11.tar.gz
3 cd zlib-1.2.11
4 ./configure
5 make && make install

​ 5.安装Nginx

1
2
3
4
5
6
7
8
9
1 wget http://nginx.org/download/nginx-1.16.0.tar.gz
2 tar -zxvf nginx-1.16.0.tar.gz
3 cd nginx-1.16.0
4 ./configure
5 make && make install
6 启动nginx:
cd /usr/local/nginx/sbin
./nginx
7 开启80端口:/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

3.Nginx常用操作命令

​ 1)启动Nginx:./nginx

​ 2)关闭Nginx:./nginx -s stop

​ 3)重载Nginx:./nginx -s reload

4.localtion正则表达式

1、=:用于不含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。

2、~:用于表示uri包含正则表达式,井且区分大小写。

3、~*:用于表示uri包含正则表达式,并且不区分大小写。

4、^~:用于不含正则表达式的uri 前,要求Nginx服务器找到标识uri和请求字符串匹配度最高的location 后,位即使用此location处理请求,而不再使用location块中的正则uri和请求字符串做匹配。

注意:如果uri包含正则表达式,则必须要有~或者 ~*标识。

相关文章
评论
分享
  • MyBatis学习

    MyBatis是一款优秀的基于Java的持久性框架 Mybatis曾经是apache的一个开源项目ibatis,2010年迁移到google,并更名为MyBatis。2013年又迁移到Github。 1.下载MyBatis​ G...

    MyBatis学习
  • ZXing生成二维码

    1.什么是二维码?​ (百度百科):二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更...

    ZXing生成二维码
  • Docker学习

    1.什么是Docker?​ Docker是一个开源的应用容器引擎,基于Go语言,遵从Apache2.0协议开源。 ​ Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使...

    Docker学习
  • Redis学习

    什么是Redis?Redis是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化NoSQL数据库。为什么需要使用Redis?就拿微博说个实例吧:大家都知道使用微博的人可以用亿来进行统计;假如有一天一位明星在微...

    Redis学习
  • 美女壁纸合集

    一、运动系清纯美少女 二、极品性感美女 三、娇俏性感美女 四、短发美少女 五、可爱性感女生

    美女壁纸合集