您的位置:首页 > 运维架构 > Nginx

Nginx提供网站服务应用包括(虚拟主机、用户访问控制、用户验证、nginx平滑升级、防盗链)的配置

2015-09-07 19:05 996 查看
Nginx 开源且跨平台的软件 俄罗斯人开发的 提供网站服务 和 代理服务
Nginx 提供网站服务应用环境?
1.虚拟主机
2.用户访问控制
3.用户验证
4.防盗链
实验环境:

安装软件:nginx-0.855.tar.gz
操作系统:centos6.5
实验:(一)

实验目的:nginx源码包的安装以及基本的使用。

安装源码包要安装的工具:开发工具 和开发环境






1.安装nginx源码包
建立ngix软件夹用来存放nginx软件包






添加一个进程的所有者和所属组为www,www为nginx进程的所有者和所属组。




对源码包进行配置,--prefix指定nginx配置存放的目录,--user指定所有者,--group指定所属组,--with-http_ssl_module指定用户可以用https访问的模块,--with-http_stub_status_module指定通过web页面的方式查看nginx被访问的信息情况的模块。










通过以上配置安装时出现以下错误http rewrite(地址重写模块需要pcre库,要求安装PCRE库),rewrite 地址重写 修改客户端访问自己的url 路径,使用perl风格正则表达式去匹配用户访问自己URL源路径 (PCRE library)。





查看系统安装的pcre包有那些,软件包中有那些,如果没有全部安装用yum安装,pcre-devel软件包为pcre软件提供库文件。



源码包 再次配置时又出现错误,错误如下。



安装openssl库文件



安装make&make install




2.nginx目录下内容conf为配置文件目录,html为网页目录,logs为日志目录,sbin为启动目录。




查看各个目录下有那些文件,nginx.conf 为主配置文件,nginx.conf.default为配置文件的模板,index.html为默认的网页,nginx为启动命令。




默认nginx的端口为80,查看是否有其他的进程占用80端口,如果有关闭。



3.启动nginx服务(sbin/nginx,并且查看端口进程和logs下的内容,access.log为访问日志,error.log为错误日志,nginx.pid为进程pid号。




停止nginx服务




启动nginx的配置参数,-t为检查配置文件是否有错误,-v查看nginx版本信息,-V查看nginx配置参数,-c指定其他配置文件,-s停止nginx服务,-h查看帮助信息。






停止服务的其他方式
pkill -9 nginx
kill -信号 nginx
TERM, INT 快速关闭
QUIT 从容关闭,关闭主进程顺便关闭工作子进程
HUP 用新的配置开始新的工作进程从容关闭旧的工作进程
USR1 重新打开日志文件
USR2 平滑升级可执行程序
WINCH 从容关闭工作进程,不会立即关闭子进程
kill -HUP `cat /usr/local/nginx/logs/nginx.pid` 重启服务
实验(二)
实验目的:公司目前有多个网站要发布,由于资金有限并且为了节省资源,提高资源的利用率,公司决定在一台服务器上发布多个网站并且用户访问时做一些限制。
1.基于域名的虚拟主机
实验环境:
服务器的IP地址:192.168.1.10,网页存放目录为/wwwdir和/bbsdir,
网页存放目录的默认网页为/wwwdir/index.html内容为wwwpage,/bbsdir/index.html内容为bbspage.主机名分别为:www.tarena.com 和 bbs.tarena.com.
客户机的IP地址:192.168.1.20
修改主配置文件(删除主配置文件中的空行和有#开头的行),server代表有网页目录,listen监听的端口,server_name为主机名,location代表网页的存放信息,root为网页存放的目录,index为网页目录的网页。



查看主配置文件是否有错误。






重新启动nginx服务



创建目录 /wwwdir/index.html的内容为wwwpage,/bbdir/index.html的内容为bbspage.



在客户端测试是否可以访问网页






2.基于端口的虚拟主机(通过客户端访问的端口区分用户的访问)。
实验环境:

服务器的IP地址:192.168.1.10,网页存放目录为默认的html和/bbsdir,
网页存放目录的默认网页为index.html内容为wwwpage,/bbsdir/index.html内容为bbspage.主机名分别为:www.tarena.com

当用户访问http://www.tarena.com:80 显示的为默认的nginx网页内容为wwwpage
当用户访问http://bbs.tarena.com:8080 显示的为/bbsdir目录下的bbspage
(1).创建网页目录



(2).修改主配置文件



(3).重新启动服务






(4).在客户端测试



3.实验目的:对页面做IP地址的绑定和端口的绑定,对访问页面的用户进行限制。
(1)nginx服务器端的IP地址为192.168.1.10,当用户访问http://www.tarena.com 显示的页面为默认的nginx网页,当用户访问http://www.tarena.com:8090 显示的页面为 /bbsdir的页面,

(2)只允许192.168.1.20用户访问http://www.tarena.com,其他所有人都不能访问。
客户端访问限制 + 用户验证
deny 客户端地址 拒绝客户端访问
allow 客户端地址 允许客户端访问 *默认允许所有客户端访问
客户端地址表示方式:
all 所有客户端地址 、 192.168.1.1 某个ip地址 、 192.168.1.0/24 网段
(3)当用户访问网站时需要验证才能访问。
(1)修改nginx主配置文件



客户端测试




(2)修改主配置文件




在客户端进行测试







(3)修改主配置文件auth_basic 为用户需要输入用户名和密码,auth_basic_user_file为需要加载 user.txt文件 ,user.txt里放的是用户名和密码。




生成用户名和密码的软件包



生成用户名和密码



客户机需要有图像界面打开浏览器输入www.tarena.com时会弹出一个对话框,需输入用户名和密码

实验(三)
实验目的:平滑升级nginx服务(不用停止服务,在线升级)。
解压1.05版本的nginx软件,并进行配置。















改变/user/local/nginx/sbin/nginx为nginx.old,把 当前 目录下的nginx放到、user/local/nginx/sbin/下



平滑升级nginx服务



实验(四)
实验目的:公司是一个视频网站有很多视频文件 音频文件 图片文件,为了防止别人链接自己的资源为自己谋利,公司要求网站禁止别人进行链接。
1.修改主配置文件

location匹配用户的url地址的,~代表匹配,*代表忽略字面大小写, ()代表匹配的内容,\代表转义符是点的转义符,$代表以什么结尾的,valid_referers为内置变量存放的是URL的值,URL类型有4种(none类型为没有网络路径的访问,blocked表示通过防火墙转换后的地址,网站主机名类型,网站所在区域的类型)。




2.测试主配置文件是否有错误



3.重新启动服务



总结:
域名虚拟主机 发布给公网客户端访问
ip的虚拟主机 + 端口的虚拟主机 测试或发布网站后台的管理页面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息