文章目录

  • 前言
  • 一:Nginx服务基础(理论)
  • 二:Nginx虚拟主机实验
    • 2.1:Nginx虚拟主机应用
    • 2.2 具体步骤,配置基于域名的虚拟主机
      • 2.2.1 安装环境软件软件
      • 2.2.2 编译安装nginx
      • 2.2.3 配置管理脚本,将服务交给service 管理
    • 2.2.4:使用elinks软件运行控制nginx
      • 2.2.5 安装DNS软件以及配置正向解析
      • 2.2.6 创建区域数据文件
      • 2.2.7 设置nginx ,配置基于域名的虚拟主机
      • 2.2.8 在客户端访问域名测试
    • 2.3 测试自动统计访问量
      • 2.3.1 修改nginx 配置参数
      • 2.3.2 在浏览器访问测试 192.168.100.50/status
    • 2.4 基于端口的虚拟主机配置实验
      • 2.4.1 修改nginx 配置参数
      • 2.4.2 创建nginx 首页文件夹pig8080及首页文件index.html
      • 2.4.3 浏览器访问测试
    • 2.5 基于IP 创建虚拟主机
      • 2.5.1 新增网卡一个,设置地址为192.168.100.131
      • 2.5.2 修改地址解析
      • 2.5.3 配置nginx 参数
      • 2.5.4 浏览器访问测试
  • 三:Nginx访问控制
    • 3.1:基于授权的访问控制
    • 3.2 生成用户密码认证文件,设置账号登陆访问nginx主页
      • 3.2.1 修改主配置文件对相应目录,添加认证配置项
      • 3.2.2 修改配置文件,重启测试
      • 3.2.3 重启服务,在客户端浏览器测试
      • 3.2.4 提示需要验证,输入刚才创建的账户密码
      • 3.2.5 登陆成功访问
    • 3.3:基于客户端的访问控制
    • 3.3.1配置规则
      • 3.3.2配置步骤
      • 3.3.4 重启服务,打开浏览器测试

前言

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

一:Nginx服务基础(理论)

1.1:Nginx概述
一款高性能、轻量级Web服务软件

●稳定性高

●系统资源消耗低

●对HTTP并发连接的处理能力高

●单台物理服务器可支持30 000 ~ 50000个并发请求

●占用内存少,并发能力强

二:Nginx虚拟主机实验

2.1:Nginx虚拟主机应用

Nginx支持的虚拟主机有三种

●基于域名的虚拟主机

●基于IP的虚拟主机

●基于端口的虚拟主机

通过"server{}" 配置段实现

2.2 具体步骤,配置基于域名的虚拟主机

2.2.1 安装环境软件软件

[root@sha  opt]# yum -y install gcc \
> gcc-c++ \
> make \
> pcre-devel \
> expat-devel \
> perl \
> zlib-devel \
> pcre

解压nginx 软件

[root@sha  opt]# tar zxvf nginx-1.12.2.tar.gz

创建程序账户(不创建加目录 不允许登录)

[root@shanan nginx-1.12.2]# useradd -M -s /sbin/nologin nginx

2.2.2 编译安装nginx

[root@shanan nginx-1.12.2]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \      //设置用户
> --group=nginx \     //设置组
> --with-http_stub_status_module   //安装统计模块

安装nginx

[root@sha  nginx-1.12.2]# make && make install

2.2.3 配置管理脚本,将服务交给service 管理

[root@sha conf]# vim /etc/init.d/nginx
#!/bin/bash
#chkconfig:- 99 20
#description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"case "$1" instart)$PROG;;stop)kill -s QUIT $(cat $PIDF);;restart)$0 stop$0 start;;reload)
kill -s HUP $(cat $PIDF)
;;*)echo "Usage:$0 {start|stop|restart|reload}"
esac
exit0

测试服务管理

[root@sha logs]# service nginx start
[root@sha logs]# service nginx stop
[root@sha logs]# service nginx start
[root@sha logs]# service nginx restart

2.2.4:使用elinks软件运行控制nginx

使用elinks启动、重载配置、停止Nginx

[root@sha /]]# nginx    '//启动'
[root@sha /]# netstat -anpt | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7180/nginx: master
[root@sha /]# yum -y install elinks
[root@sha /]# elinks http://localhost      '//显示"Welcome to nginx!"页面,表明Nginx服务已经正常运行'
[root@sha /]# killall -s HUP nginx '//-S选项指定信号种类,HUP信号表示重载配置'
[root@sha /]# killall -s QUIT nginx    '//QUIT信号表示退出进程'




2.2.5 安装DNS软件以及配置正向解析

yum install -y bind
[root@sha conf]# vim /etc/named.conf

[root@sha conf]# vim /etc/named.rfc1912.zones
zone "dog.com" IN {type master;file "dog.com.zone";allow-update { none; };
};zone "pig.com" IN {type master;file "pig.com.zone";allow-update { none; };
};

2.2.6 创建区域数据文件

root@sha conf]# vim /etc/named.conf
[root@sha conf]# vim /etc/named.rfc1912.zones
[root@sha named]# cp -p named.localhost  dog.com.zone
[root@sha named]# vim d
data/         dog.com.zone  dynamic/
[root@sha named]# vim dog.com.zone
[root@sha named]# cp -p dog.com.zone  pig.com.zone

2.2.7 设置nginx ,配置基于域名的虚拟主机

检查配置文件

[root@localhost ~]# nginx -t    '//检查'优化配置文件设置
[root@sha logs]# cd /usr/local/nginx/conf
[root@sha conf]# mv nginx.conf nginx.conf.back
[root@sha conf]# grep -v "#" nginx.conf.back > nginx.conf[root@sha logs]# cd /usr/local/nginx/conf
[root@sha conf]# mv nginx.conf nginx.conf.back
[root@sha conf]# grep -v "#" nginx.conf.back > nginx.conf
Vim  /usr/local/nginx/conf/nginx.confserver {server_name  www.dog.com;location / {root /var/www/dog;index index.html  index.php;}}server {server_name  www.pig.com;location / {root /var/www/pig;index index.html  index.php;}}

2.2.8 在客户端访问域名测试

测试成功

2.3 测试自动统计访问量

2.3.1 修改nginx 配置参数

Vim /usr/local/nginx/conf/nginx.conf

2.3.2 在浏览器访问测试 192.168.100.50/status


2.4 基于端口的虚拟主机配置实验

2.4.1 修改nginx 配置参数

vim  /usr/local/nginx/conf/nginx.conf
  server {listen   192.168.100.50:80;server_name  www.pig.com;location / {root /var/www/pig;index index.html  index.php;}}server {listen       192.168.100.50:8080;server_name  www.pig.com;charset utf-8;access_log logs/www.pig8080.com.access.log;location / {root /var/www/pig8080;index index.html  index.php;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}
}

2.4.2 创建nginx 首页文件夹pig8080及首页文件index.html

2.4.3 浏览器访问测试

加端口测试成功

2.5 基于IP 创建虚拟主机

2.5.1 新增网卡一个,设置地址为192.168.100.131

2.5.2 修改地址解析

[root@sha pig8080]# vim /var/named/dog.com.zone

2.5.3 配置nginx 参数

   ---完整的配置文件
vim  /usr/local/nginx/conf/nginx.confhttp {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen 192.168.100.131:80;server_name  www.dog.com;location / {root /var/www/dog;index index.html  index.php;}}server {listen   192.168.100.50:80;server_name  www.pig.com;location / {root /var/www/pig;index index.html  index.php;}}server {listen       192.168.100.50:8080;server_name  www.pig.com;charset utf-8;access_log logs/www.pig8080.com.access.log;location / {root /var/www/pig8080;index index.html  index.php;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}
}

2.5.4 浏览器访问测试





三:Nginx访问控制

3.1:基于授权的访问控制

配置步骤与Apache基本一致

●生成用户密码认证文件

●修改主配置文件对相应目录,添加认证配置项

●重启服务,访问测试

3.2 生成用户密码认证文件,设置账号登陆访问nginx主页

[root@sha dog]# yum install -y httpd-tools        //因为没有htpasswd工具,所以需要安装
创建用户sha  并设置密码asd123
[root@sha dog]# htpasswd -c /usr/local/nginx/passwd.db sha
New password:
Re-type new password:
Adding password for user sha
[root@sha dog]#生成用户密码认证文件
[root@sha dog]#  cat /usr/local/nginx/passwd.db
sha:$apr1$ddD6d/d2$5wtNjPjm9RKpu/b0T/qvL.

3.2.1 修改主配置文件对相应目录,添加认证配置项

[root@sha dog]# cd /usr/local/nginx/
[root@sha nginx]# ls
client_body_temp  fastcgi_temp  logs       proxy_temp  scgi_temp
conf              html          passwd.db  sbin        uwsgi_temp
[root@sha nginx]# chmod 400 /usr/local/nginx/passwd.db
[root@sha nginx]# chown nginx /usr/local/nginx/passwd.db
[root@sha nginx]# ll -d /usr/local/nginx/passwd.db
-r--------. 1 nginx root 42 8月   8 13:24 /usr/local/nginx/passwd.db

3.2.2 修改配置文件,重启测试

[root@sha conf]# vim  /usr/local/nginx/conf/nginx.conf
 server {listen 192.168.100.131:80;server_name  www.dog.com;auth_basic "secret";auth_basic_user_file /usr/local/nginx/passwd.db;location / {root /var/www/dog;index index.html  index.php;}}

3.2.3 重启服务,在客户端浏览器测试

[root@sha conf]# service nginx restart

3.2.4 提示需要验证,输入刚才创建的账户密码

3.2.5 登陆成功访问

3.3:基于客户端的访问控制

通过客户端IP地址,决定是否允许对页面访问

3.3.1配置规则

deny IP/IP段:拒绝某个IP或IP段的客户端访问

allow IP/IP段:允许某个IP或IP段的客户端访问

规则从上往下执行,如匹配则停止,不再往下匹配

3.3.2配置步骤

修改主配置文件nginx.conf,添加相应配置项

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

3.3.4 重启服务,打开浏览器测试

[root@sha conf]# service nginx restart

客户机192.168.100.120 访问失败

web服务器 ---nginx 虚拟主机的创建(基于 域名 . 端口 . ip )以及nginx访问控制相关推荐

  1. 微信公众号配置网页授权域名报错:无法访问xxx指向的web服务器或虚拟主机的目录

    记录一下这个困扰我一天的问题. 首先是下载那个txt,然后安装服务器的nginx(安装过程百度一下,非常简单),我是新建了一个文件夹,把这个txt放了进去 接下来配置nginx的访问路径,去编辑con ...

  2. Centos7.6下构建虚拟主机实验(基于域名、端口及IP地址)

    文章目录 一.构建虚拟主机概述 二.实验环境及详细步骤 2.1 基于域名 2.2 基于端口 2.3 基于IP 一.构建虚拟主机概述 虚拟Web主机 在同一台服务器中运行多个Web站点,其中每一个站点并 ...

  3. 虚拟主机的构建——基于域名、端口、IP

    构建虚拟主机 1.虚拟主机介绍 企业常用的虚拟主机分为3种: (1)基于域名 (2)基于端口 (3)基于IP 虚拟web主机 在同一台物理服务器中运行多个web站点,其中每一个站点并不独立占用一台真正 ...

  4. 基于不同IP地址下的虚拟主机配置以及基于不同端口下的虚拟主机配置

    基于不同IP地址下的虚拟主机配置 一.配置vhost.conf(主配置文件) (一).进入主配置文件目录:cd /etc/httpd/conf.d (二).配置主配置文件:vim vhost/conf ...

  5. 设置ngxin服务器虚拟主机,详解Nginx 虚拟主机配置的三种方式(基于端口)

    Nginx配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置. 2.Nginx基于端口的虚拟主机配置 如一台服务器只有一个IP或需要通过不同的端口访问不同 ...

  6. Nginx教程(二) Nginx虚拟主机配置

    Nginx管理虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台"虚拟"的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完 ...

  7. Nginx_01_Nginx三大基础功能(静态服务器、虚拟主机、负载均衡/服务端代理)

    文章目录 一.前言 二.Nginx三大功能--HTTP服务器 三.Nginx三大功能--虚拟主机 3.1 虚拟主机 3.2 Nginx配置文件的结构 3.3 Nginx三种虚拟主机方式--基于ip的虚 ...

  8. 6. Nginx虚拟主机

    文章目录 6. Nginx虚拟主机 6.1 nginx 单虚拟主机配置 6.1.1 静态网站的搭建 6.2 案例1:多网卡多IP配置虚拟主机 6.2.1 增加一块网卡 6.2.2 编辑配置文件,基于每 ...

  9. 一个几乎免费的云服务器和虚拟主机平台

    仅需注册账号和实名认证(需要0.3元,算上充值下限就是1元,不过这是个人都有吧)即可领取免费云服务器和虚拟主机,还有免费域名免备案服务(这不香吗) 附上网址:三丰云_免费云服务器_高防服务器_vps云 ...

最新文章

  1. TensorFlow多元线性回归实现
  2. 06-Windows Server 2012 R2 会话远程桌面-标准部署-RD网关(RemoteApp)
  3. [oracle]分区表学习
  4. WWDC 2013 Session笔记 - Xcode5和ObjC新特性
  5. 排坑 | Exceptionless 5.x 无法正常发送邮件
  6. pip安装软件 Command “python setup.py egg_info“ failed with error code 1 in
  7. 苏宁MOCK测试桩服务建设实践
  8. HTML页面把list转成array,c# – 将Collection转换为Array或List的快速方法?
  9. 常见的Activity Action Intent常量
  10. Android学习之NDK环境的配置
  11. 【英语学习】【English L06】U01 Breakfast L4 Drink Morning Tea
  12. 业界总结 | 如何改进双塔模型,才能更好的提升你的算法效果?
  13. 计算机的使用编码,计算机中使用的编码
  14. 基于最小二乘法的人口增长模型拟合
  15. 从APNIC获取中国IP地址列表
  16. 服务器系统怎么恢复出厂设置,华为服务器2288恢复出厂设置
  17. 苹果服务器系统状态查询网站,mac电脑服务器地址怎么查看
  18. chrome浏览器控制台性能监控
  19. Exploring Phrase Grounding without Training: Contextualisation and Extension to Text-Based Image Ret
  20. 因特网中的域名服务器系统负责全网IP,因特网中的域名服务器系统负责全网IP地址的解析工作,它的好处是()...

热门文章

  1. 低码框架 json-script-rule 配置说明
  2. Elasticsearch中FST与前缀搜索
  3. 《中国式斗争:一贴省你二十年》
  4. Qt 之 QNetworkProxy(网络代理)
  5. WIFI MAC地址规则常见问题(WIFI MAC)
  6. php 项目操作日志文件,什么是操作日志?关于操作日志实例用法汇总
  7. 《神经网络与深度学习》-注意力机制与外部记忆
  8. [Linux Camera Driver] 切换烛光-雪景-日落-沙滩-HDR模式相机拍照按钮卡住
  9. 大数的溢出,正溢出和负溢出
  10. *内存泄漏和内存溢出