web服务器 ---nginx 虚拟主机的创建(基于 域名 . 端口 . ip )以及nginx访问控制
文章目录
- 前言
- 一: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访问控制相关推荐
- 微信公众号配置网页授权域名报错:无法访问xxx指向的web服务器或虚拟主机的目录
记录一下这个困扰我一天的问题. 首先是下载那个txt,然后安装服务器的nginx(安装过程百度一下,非常简单),我是新建了一个文件夹,把这个txt放了进去 接下来配置nginx的访问路径,去编辑con ...
- Centos7.6下构建虚拟主机实验(基于域名、端口及IP地址)
文章目录 一.构建虚拟主机概述 二.实验环境及详细步骤 2.1 基于域名 2.2 基于端口 2.3 基于IP 一.构建虚拟主机概述 虚拟Web主机 在同一台服务器中运行多个Web站点,其中每一个站点并 ...
- 虚拟主机的构建——基于域名、端口、IP
构建虚拟主机 1.虚拟主机介绍 企业常用的虚拟主机分为3种: (1)基于域名 (2)基于端口 (3)基于IP 虚拟web主机 在同一台物理服务器中运行多个web站点,其中每一个站点并不独立占用一台真正 ...
- 基于不同IP地址下的虚拟主机配置以及基于不同端口下的虚拟主机配置
基于不同IP地址下的虚拟主机配置 一.配置vhost.conf(主配置文件) (一).进入主配置文件目录:cd /etc/httpd/conf.d (二).配置主配置文件:vim vhost/conf ...
- 设置ngxin服务器虚拟主机,详解Nginx 虚拟主机配置的三种方式(基于端口)
Nginx配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置. 2.Nginx基于端口的虚拟主机配置 如一台服务器只有一个IP或需要通过不同的端口访问不同 ...
- Nginx教程(二) Nginx虚拟主机配置
Nginx管理虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台"虚拟"的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完 ...
- Nginx_01_Nginx三大基础功能(静态服务器、虚拟主机、负载均衡/服务端代理)
文章目录 一.前言 二.Nginx三大功能--HTTP服务器 三.Nginx三大功能--虚拟主机 3.1 虚拟主机 3.2 Nginx配置文件的结构 3.3 Nginx三种虚拟主机方式--基于ip的虚 ...
- 6. Nginx虚拟主机
文章目录 6. Nginx虚拟主机 6.1 nginx 单虚拟主机配置 6.1.1 静态网站的搭建 6.2 案例1:多网卡多IP配置虚拟主机 6.2.1 增加一块网卡 6.2.2 编辑配置文件,基于每 ...
- 一个几乎免费的云服务器和虚拟主机平台
仅需注册账号和实名认证(需要0.3元,算上充值下限就是1元,不过这是个人都有吧)即可领取免费云服务器和虚拟主机,还有免费域名免备案服务(这不香吗) 附上网址:三丰云_免费云服务器_高防服务器_vps云 ...
最新文章
- TensorFlow多元线性回归实现
- 06-Windows Server 2012 R2 会话远程桌面-标准部署-RD网关(RemoteApp)
- [oracle]分区表学习
- WWDC 2013 Session笔记 - Xcode5和ObjC新特性
- 排坑 | Exceptionless 5.x 无法正常发送邮件
- pip安装软件 Command “python setup.py egg_info“ failed with error code 1 in
- 苏宁MOCK测试桩服务建设实践
- HTML页面把list转成array,c# – 将Collection转换为Array或List的快速方法?
- 常见的Activity Action Intent常量
- Android学习之NDK环境的配置
- 【英语学习】【English L06】U01 Breakfast L4 Drink Morning Tea
- 业界总结 | 如何改进双塔模型,才能更好的提升你的算法效果?
- 计算机的使用编码,计算机中使用的编码
- 基于最小二乘法的人口增长模型拟合
- 从APNIC获取中国IP地址列表
- 服务器系统怎么恢复出厂设置,华为服务器2288恢复出厂设置
- 苹果服务器系统状态查询网站,mac电脑服务器地址怎么查看
- chrome浏览器控制台性能监控
- Exploring Phrase Grounding without Training: Contextualisation and Extension to Text-Based Image Ret
- 因特网中的域名服务器系统负责全网IP,因特网中的域名服务器系统负责全网IP地址的解析工作,它的好处是()...