Nginx简介及用户认证、访问控制和反向代理配置

Nginx 是一个很强大的高性能Web反向代理服务器及及电子邮件(IMAP/POP3)代理服务器,由俄罗斯程序员设计师Igor Syaoev所开发,官方网站:http://nginx.org/  特点是占有内存少、并发能力强。

Nginx配置文件及目录简介:

- /usr/local/nginx/                                                           安装目录

- /usr/local/nginx/conf/nginx.conf                                   主配置文件

- /var/www/html                                                              网页目录

- /usr/local/nginx/sbin/nginx                                            nginx启动脚本

Nginx软件安装:

yum -y install gcc pcre-devel zlib-devel openssl-devel  安装依赖包

yum -y groupinstall  "开发工具"

tar -zxvf nginx-1.8.0.tar.gz                                                解压tar包

cd nginx-1.8.0                                                                  直接cd到nginx-1.8.0

./configure \                                                                    直接执行./configure 参数

> --prefix=/usr/local/nginx \                                          指定安装路径

> --user=nginx \                                                            指定用户

> --group=nginx \                                                         指定组

> --with-http_stub_status_module \                               开启状态、统计功能

> --with-htpp_ssl_module                                              开启SSL加密功能

useradd nginx                                                                  权限

make && make install                                                      编译并安装

service httpd stop                                                             关闭httpd服务避免端口冲突

/usr/local/nginx/sbin/nginx                                               nginx服务启用

/usr/local/nginx/sbin/nginx -s stop                                   nginx服务关闭

killall -9 nginx                                                                    杀进程

kill  -信号   pid号

常见信号:

TERM, INT 快速关闭

QUIT 从容关闭,关闭主进程及子进程

HUP  重载配置文件

USR1 重新打开日志文件

USR2 平滑升级可执行程序

kill -HUP `cat /usr/local/nginx/logs/nginx.pid`          重启服务

平滑升级Nginx服务(不停止服务的情况下):

         ps -C nginx                                                                      查看nginx进程(如有进程“杀”)

tar -zxvf nginx-1.9.2.tar.gz                                                解压tar包(1.9.2升级包)

cd nginx1.9.2                              直接cd到根下的nginx-1.8.0(具体要看你解压时的目录为准)

./configure \                                                                    直接执行./configure 参数

> --prefix=/usr/local/nginx \                                          指定安装路径

> --user=nginx \                                                            指定用户

> --group=nginx \                                                         指定组

make                                                                               编译

cd /usr/local/nginx/sbin                                                   直接cd到nginx启动脚本目录下               mv nginx  nginxold                                                          改名旧脚本(备份)

cd / nginx-1.9.2/objs                cd到根目录nginx-1.9.2/objs(具体要看你解压时的目录为准)

cp nginx /usr/localnginx/sbin                       在/objs目录下cp nginx到/usr/localnginx/sbin

cd / nginx-1.9.2                                                                直接cd到根下的nginx-1.8.0

make upgrade                                                                  升级软件命令

/usr/localnginx/sbin/nginx -v                                            查看nginx服务版本

Nginx用户认证与访问控制配置如下:

          实现以下服务:

访问web页面时需要进行用户认证,用户名:route(可以任意用户名),密码是:123456,在/uer/local/nginx/html/下创建二级目录/data(可以任意名称),并生成index.htnl文档。在/data目录下的index.html页面只能192.168.1.11可以访问(或者任意网段)。拓扑如下:

在Nginx服务器1.10配置如下:

        vim /usr/local/nginx/conf/nginx.conf

server {

36            listen       80;

37            server_name  localhost;                                                指定本机用户名

38            auth_basic "Input Password";                                        添加用户认证提示符

39            auth_basic_user_file pass.txt;                                         添加用户认证密码文件

40

41            #charset koi8-r;

42

43            #access_log  logs/host.access.log  main;

44

45         location / {

46             root   html;                                                                  网页目录

47             index  index.html index.htm;                                        网页目录下index.html文档

48         }

49         location /route {                                                               添加用户名

50                  allow 192.168.4.11;                                                  访问控制仅限4.11可以访问

51                  deny  all;                                                                 拒绝所有

52             index  index.html index.htm;

53         }

mkdir /usr/local/nginx/html/data                                          创建二级网页目录

echo "data" > /usr/local/nginx/html/data/index.html        在二级目录下写入index.html文档

然后使用htpasswd命令创建用户文件,首先查看一下系统中已安装httpd-tools

htpasswd -c /usr/local/nginx/conf/pass.txt route                    生成用户

New password:                                                                      输入用户密码

Re-type new password:                                                          再次确认用户密码

Adding password for user route                                             此用户添加成功

/usr/local/nginx/sbin/nginx  -s  stop                                      关闭Nginx服务                                /usr/local/nginx/sbin/nginx                                                    启用Nginx服务

在Linux客户端4.11配置如下:

Firefox http://192.168.1.10                                                      提示输入用户名与密码

Firefox http://192.168.1.10/route                                             提示输入用户名与密码

可以登录非192.168.1.11的任意客户端进行访问测试。

时间: 2024-08-06 07:55:45

Nginx简介及用户认证、访问控制和反向代理配置的相关文章

nginx简介及模块、缓存、反向代理

nginx简介 一.什么是Nginx: 实现web服务.实现web代理功能: 二.nginx的优点: 模块化设计.较好的扩展性,高可靠性,支持热部署,支持事件驱动等: 高可靠: master --> worker 低内存消耗: 10000个keep-alive模式下的connection,仅需要2.5MB的内存: 支持热部署: 不停机而更新配置文件.日志文件滚动.升级程序版本: 支持事件驱动.AIO.mmap: 三.nginx: 首先介绍下httpd的工作模式: httpd: MPM prefo

Nginx 反向代理配置

在实现一个搜索下拉框的效果,因为需要通过AJAX来请求自己的一个webservice,但是JS是不允许访问不同源的资源的,所以需要配置一个代理服务器来实现数据的返回,找了好多文章试过都不行,下面记录下这篇文章的内容已备以后查看 Nginx为Tomcat服务器作反向代理的配置教程 这篇文章主要介绍了Nginx为Tomcat服务器作反向代理的配置教程,文中以Windows系统为环境来演示驱动JSP程序的示例,需要的朋友可以参考下 web上的server都叫web server,但是大家分工也有不同的

生产环境中nginx既做web服务又做反向代理

一.写对于初入博客园的感想 众所周知,nginx是一个高性能的HTTP和反向代理服务器,在以前工作中要么实现http要么做反向代理或者负载均衡.尚未在同一台nginx或者集群上同时既实现HTTP又实现反向代理. 那么到底nginx能否既实现HTTP又实现反向代理呢? 答案是肯定的 刚好前段时间在实际项目中有一个类似的情况出现,由此与大伙分享,由于以前没有写博文的习惯,只习惯于自己记录操作实现步骤及稳定,在以前常遇见问题都是百度.谷歌,众位网友的博文帮助自己见解决了很多问题. 由此可见技术分享的重

nginx反向代理配置详解

反向代理配置 修改部署目录下conf子目录的nginx.conf文件(如/opt/nginx/conf/nginx.conf)内容,可调整相关配置. 将默认配置里面带#号注释内容去掉 grep -v "#" /opt/nginx/conf/nginx.conf > /opt/nginx/conf/nginx.confbak 将原先的配置修改名字备份一下,后面的没有注释内容的nginx.confbak修改名字为nginx.conf 反向代理配置示例: #定义Nginx运行的用户和用

Squid缓存服务器之ACL访问控制与反向代理

Squid缓存服务器之ACL访问控制与反向代理 1.ACL访问控制 Squid提供了强大的代理控制机制和,通过合理设置ACL并进行限制.可以针对原地址.目标地址.访问的URL路径.访问的时间等各种条件进行过滤. 在配置文件squid.conf中ACL访问控制通过以下两个步骤来实现:其一,使用acl配置项定义需要控制的条件:其二,通过http_access配置项对已定义的列表做"允许"或者"拒绝"访问的控制. 1).定义访问控制列表 每一行acl配置可以定义一条访问控

使用本脚本可以自动批量完成中间节点环境的部署工作,包括:Nginx编译安装、添加程序管理脚本、设置开机启动、反向代理配置、证书分发、添加iptables规则等

使用本脚本可以自动批量完成中间节点环境的部署工作,包括:Nginx编译安装.添加程序管理脚本.设置开机启动.反向代理配置.证书分发.添加iptables规则等.脚本支持自定义nginx安装版本.设置编译模块.配置监听端口等. 1. Nginx Role规则说明 本脚本用于中间节点(Nginx反向代理)环境的自动化配置,主要内容包括: 安装基础依赖环境: 创建nginx启动用户(支持自定义用户): 下载nginx安装文件(可自定义nginx版本): 解压安装文件: 执行编译安装(可自定义编译参数和

nginx全面解析【负载均衡、反向代理、高可用、宕机容错】

nginx全面解析[负载均衡.反向代理.高可用.宕机容错]原创itcats_cn 最后发布于2018-09-06 10:24:33 阅读数 15799 收藏展开什么是nginx?nginx是一款高性能的http服务器,官方测试nginx能够支支撑5万并发链接,并且cpu.内存等资源消耗却非常低,运行非常稳定,所以现在很多知名的公司都在使用nginx. nginx有什么作用?1.负载均衡(可以减轻单台服务器的压力) 2.反向代理(隐藏企业真实的ip地址) 3.搭建虚拟服务器 4.用做静态服务器(实

Nginx安装和反向代理配置

Nginx安装和反向代理配置 Nginx安装需要一些准备工作. 安装gcc等 yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel 还需要安装pcre,PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 Perl兼容的正则表达式库. yum -y install pcre 下载Nginx源码包,这里选择是1.7.8版本.并且解压缩,并且编译 wge

centos安装Nginx,反向代理配置全过程

1.安装依赖 #gcc安装,nginx源码编译需要 yum install gcc-c++ #PCRE pcre-devel 安装,nginx 的 http 模块使用 pcre 来解析正则表达式 yum install -y pcre pcre-devel #zlib安装,nginx 使用zlib对http包的内容进行gzip yum install -y zlib zlib-devel #OpenSSL 安装,强大的安全套接字层密码库,nginx 不仅支持 http 协议,还支持 https(