nginx linux下安装以及配置IIS分发
一. 安装
操作系统:centos 7 ,nginx版本1.12.2,windows server 2008 iis
1.1 确认nginx所依赖的工具
Zlib: nginx提供gzip模块,需要zlib库支持,Openssl: nginx提供ssl功能, Pcre: 支持地址重写rewrite功能。如果没有安装,在root下使用yum来安装。
-- 检测是否安装依赖工具包 [[email protected] hsr]# yum list | grep zlib [[email protected] hsr]# yum list | grep openssl [[email protected] hsr]# yum list | grep pcre
1.2 安装nginx
下载了nginx-1.12.2.tar.gz包后,放在了linux系统目录/home/hsr/下。
--解压 [[email protected] hsr]# tar -xzvf nginx-1.12.2.tar.gz [[email protected] hsr]# cd nginx-1.12.2 --编译 [[email protected] nginx-1.12.2]# ./configure --安装 [[email protected] nginx-1.12.2]# make [[email protected] nginx-1.12.2]# make install
1.3 生成系统运行的nginx用户
/* 使用-u 来生成用户ID 8000, -s 指定用户登入后所使用的shell, nginx是指系统用户 */ [[email protected] ~]# useradd –u 8000 –s /usr/ sbin/nologin nginx
-- 查看nginx用户信息 [[email protected] sbin]# cat /etc/passwd nginx:x:8000:8000::/home/nginx:/sbin/nologin
1.4 启动nginx
[[email protected] sbin]# pwd /usr/local/nginx/sbin [[email protected] sbin]# ./nginx -c /usr/local/nginx/conf/nginx.conf
上面nginx服务已经启动成功,后面可以把/usr/local/nginx/sbin目录添加到path 全局中,就不用在定位到/usr/local/nginx/sbin下。默认端口是80(确认防火墙已开通80端口)。
--查看nginx进程 [[email protected] sbin]# ps -ef | grep nginx
最后查看nginx的运行状态
[[email protected] sbin]# curl http://192.168.2.101:80
如果没有出现welcome to nginx,需要查看nginx的日志 (/usr/local/nginx/logs),在要分发的客户端(iis服务)拼通 telnet 192.168.2.101 80。 也可以在浏览器里输入地址查看状态,如下:
二. 配置IIS分发
2.1 编辑nginx.conf文件(可以先备份一下)
(1) 首先注释掉nobdy用户,添加 nginx用户用户组,如下脚本
2 #user nobody; 3 user nginx nginx; 4 worker_processes 1;
(2) 添加分发策略
在http模块里找到server 节点,里面的location节点,Location 是网站的根目录, 在location节点里,添加分发策略, 如下图(注意if与 大括号之间要有空隔)
44 location / 45 root html; 46 index index.html index.htm; 47 if ($request_uri ~* \\.html$) 48 proxy_pass http://htmlservers; 49 50 if ($request_uri ~* \\.aspx$) 51 proxy_pass http://aspxservers; 52 53 proxy_pass http://picservers; 54
注意上面的 uri 跟url一样,统一资源占位符例如如果进来是已.html结尾, 全部转到 http://htmlservers服务器上,还有aspxservers服务器,最后是picservers服务器。(名字自己启,相当一个服务器池)。 最后picservers相当于else。
(3) 定义负载设备的ip(这里是IIS服务器上的50,51 ip),添加位置在http模块里的最后一行,后期根据自己的实际ip,进行更改,保存nginx.conf文件退出
126 upstream htmlservers 127 server 192.168.2.50:80; 128 server 192.168.2.51:80; 129 130 upstream aspxservers 131 server 192.168.2.50:80; 132 server 192.168.2.51:80; 133 134 upstream picservers 135 server 192.168.2.50:80; 136 server 192.168.2.51:80; 137 138 139
(4) 检查配置是否正确,在重新加载配置
[[email protected] sbin]# pwd /usr/local/nginx/sbin [[email protected] sbin]# ./nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[[email protected] sbin]# ./nginx -s reload
以上是关于Nginx的主要内容,如果未能解决你的问题,请参考以下文章