您的位置:首页 > 运维架构 > 反向代理

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

2016-04-15 16:48 766 查看
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客户端1.11配置如下:
Firefox http://192.168.1.10 提示输入用户名与密码
Firefox http://192.168.1.10/route 提示输入用户名与密码
可以登录非192.168.1.11的任意客户端进行访问测试。
Nginx虚拟主机,分三种模式:基于域名、端口和基于IP地址的虚拟主机
基于域名虚拟主机针对公网用户,基于端口和IP地址虚拟主机针对网站后台管理页面
Nginx基于域名1.10配置配置如下: mkdir /usr/local/nginx/html/data1 创建二级网页目录(任意目录都可以)
mkdir /usr/local/nginx/html/data2 创建二级网页目录(任意目录都可以)
echo data1 > /usr/local/nginx/html/data1/inedx.html 分别在二级目录下写入index.html文档
echo data2 > /usr/local/nginx/html/data2/inedx.html 分别在二级目录下写入index.html文档
/usr/local/nginx/sbin/nginx -s stop 关闭Nginx服务
cd /usr/local/nginx/conf cd到Nginx服务配置文件下
rm -rep -v "^$| rf nginx.conf 删除旧文件
egrep -v "^$|#" nginx.conf.default > nginx.conf 在拷贝一份Nginx配置文件
vim nginx.conf
1 worker_processes 1;
2 events {
3 worker_connections 1024;
4 }
5 http {
6 include mime.types;
7 default_type application/octet-stream;
8 sendfile on;
9 keepalive_timeout 65;
10 server {
11 listen 80; 对应的端口
12 server_name www.data.com; 对应的域名
13 location / {
14 root data1; 对应的二级目录
15 index index.html; 二级目录下的index.html文档
16 }
17 server {
18 listen 80; 对应的端口
19 server_name bbs.data.com; 对应的域名
20 location / {
21 root data2; 对应的二级目录
22 index index.html; 二级目录下的index.html文档
23 }
24 error_page 500 502 503 504 /50x.html;
25 location = /50x.html {
26 root html;
27 }
28 }
29 }
/usr/local/nginx/sbin/nginx 启用Nginx服务
在Linux客户端1.11配置如下:
vim /etc/hosts
192.168.1.10 www.data.com bbs.data.com 域名解析
ping www.data.com bbs.data.com 分别测试ping
curl http:// href="http://www.data.com/" target=_blank>www.data.com 测试
curl http:// href="http://www.data.com/" target=_blank>bbs.data.com 测试

本文出自 “Linux” 博客,请务必保留此出处http://it1903.blog.51cto.com/10240512/1764230
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: