今天接到的需求是,由于是内网环境,我们的服务器没法直接访问互联网,那么,就需要用到nginx了,通过nginx反向代理,可以解决无法访问服务器的问题
一 nginx服务器的安装
1 安装 pcre wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
2 解压文件,
./configure 完成后,回到 pcre 目录下执行 make 继续执行执行 make install
3 执行命令 安装gc++环境,yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
4 解压缩 nginx-xx.tar.gz 包。
进入解压缩目录,执行./configure。
make && make install
进行完以上步骤,就代表nginx安装完成了。
既然已经安装完成了,就需要一些常用的nginx命令来操作nginx服务器
(1)启动命令
在/usr/local/nginx/sbin目录下执行 ./nginx
(2)关闭命令
在/usr/local/nginx/sbin目录下执行 ./nginx -s stop
(3)重新加载命令
在/usr/local/nginx/sbin目录下执行 ./nginx -s reload
以上三条便是操作nginx必备的三条命令
当然,如果我们需要查看日志,在logs目录下也有日志文件access.log
error.logs可以帮助分析问题。
了解完nginx常用命令以及对应的安装步骤之后,接下来就是我们最重要的环节,如何配置nginx
nginx的配置文件在conf目录下一个叫做nginx.conf的文件当中进行配置
首先我们从全局看,nginx的配置文件总体上来说分为三个部分
全局块,events块,http块,我们基本上常用的也就是http块
1 全局块(全局块用来配置全局信息,常用的配置如下)
Nginx 服务器的用户(组)、
允许生成的 worker process 数,
进程 PID 存放路径、
日志存放路径和类型以 及配置文件的引入等。
2 events块
events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 work process 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 word process 可以同时支持的最大连接数等。
3 http块 (我们代理配置的位置)
如图所示,这是一个标准的http块所包含的元素,我们来一一解答。
http块比较有意思,它主要由两部分组成,一部分是http配置部分,一部分是
server部分。
http配块配置部分 的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。
http块server部分
每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。
这块的主要作用是基于 Nginx 服务器接收到的请求字符串(例如 server_name/uri-string),对虚拟主机名称 (也可以是IP 别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓 存和应答控制等功能,还有许多第三方模块的配置也在这里进行。
我们的需求是进行代理转发,主要有三个参数
listen是监听的端口号
server_name是进行匹配的域名 是根据请求头当中的host字段进行匹配的
proxy_pass是我们要进行转发的地址。
以上配置完成以后,我们通过nginx命令就可以启动服务器了。
测试的结果也是成功的转发了请求,这是最简单的一个匹配反向代理的实例,
下一章我会记录如何实现nginx的高可用以及多台服务器的动态配置反向代理。