准备的安装包 :nginx-1.10.1.tar.gz
本次实验环境与varnish的实验环境是一样的
采用源码编译方式安装软件
1.首先查看有没有安装gcc
2.解压源码包
Tar zxf nginx-1.10.1.tar.gz
解压完可以看到有个新的目录
Nginx-1.10.1
3.进入解压好的源码包
4.执行configure文件,功能是可以让用户选定编辑特性,并可以检查编译环境,configure执行后将生成MakeFile文件。
可以用下边./configure --help命令查看后边可以用到有哪些参数。
./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module
注:过程中可能会缺失某个开发包,因此要用yum 再把这个包安装一下,后缀都要加-devel
比如:
对这个命令的参数做一些解释:
--prefix制定了安装路径 (第三方软件一般都是安在/usr/local目录下,后面的名字自己可以定)--with-http_ssl_module --with-http_stub_status_module是一些状态模块,让其支持SSL,可以加一些状态模块的支持,不是所有的程序configure参数都是一样的,可以使用./configure --help 查看详细参数说明,如果该程序所依赖的库在当前系统中没有安装,则会导致configure最后报错,遇到这种情况就需要先安装这些依赖库。
5.执行make命令,编译程序make
6.编译成功后就可以安装了。执行make install 命令,到此程序就安装完成了
查看程序的安装位置
可以看到nginx的进程,master和worker
查看端口状态,所有使用的协议tcp 处于监听状态的,program的
使用curl测试:
在网页浏览器中可以看到
1.首先将之前编译安装好的删除掉,删除掉安装目录,再把makefile文件清除下。
2.进入解压好的源码包
编辑vim nginx.h文件,把版本去掉
编辑 vim gcc 文件,注释掉检查bug的选项,这样可以使安装后的大小变小
注释掉这行,去掉 debug 模式编译,编译以后程序只有几百 k
3.再重新源码安装一下,跟上边安装一样,三部曲
然后可以看到安装后的大小,明显小了很多。
4.对软件的安装路径做个软链接
ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin/
做这个步骤的目的是可以在任何目录下都可以使用对该软件操作的目录,而不需要专门跑到sbin目录下./执行打开
可以实现:
如果出现以下错误时,解决办法是将进程都杀死,重新打开
5.重新编译完成,测试一下
可以看到,没有nginx的版本号,这样相对的来说更安全些了。
做一下对比
1.修改执行worker进程的用户
可以看到,worker是nobody,如何修改它
进入配置文件中修改
Ps-aux 查看,可以看到已经换过来了
2.对资源cpu进程限制等的调节
查看cpu的相关信息
Nginx中的worker数是由cpu的数量决定的,与cpu的数量相等
3.开启nginx的SSL 443和设置网页重定向
首先修改配置文件,找到http块
编辑http块
然后把这个模块的注释除掉
然后开始生成密钥
生成完之后会有一个cert.pem文件,将其移到配置文件的目录下。
之后检查语法是否有问题,并重新加载
测试一下,看是否功能有了
首先编辑配置文件:localhost 改为主机名
重新加载
网页访问,可以看到已经有加密认证
如何直接在输入http就直接到为https,需要设置重定向。
<meta http-equiv=‘refresh‘ content="0;url=https://server1.example.com">
之后还可以实现其他的虚拟主机手写调转,进行网页重定向
这样设置完之后重新加载软件,就可以实现。
4.nginx的虚拟主机
首先解释一下虚拟主机的概念,所谓的虚拟主机,基本上就是让你的一台服务器上面,有好多个‘主网页’存在,也就是说,硬件实际上只有一台主机,但是由网站上来看,则似乎有多台主机存在的样子,比如说你单击进入两个不同的网站,会发现看到的是不一样的信息内容,不过,如果用dig之类的软件来检验IP的话,会发现两个网站又同指向一个IP,虚拟主机的主要功能就是可以让你的多个主机名对应到不同的主网页目录,所以看起来就好像是有多台实际主机的样子
还是配置主配置文件中的http块:(任意一次修改配置文件后,都检查一下语法有没有错,然后重新再加载一下)
主机上的配置
使用真机浏览器测试一下
5.nginx的负载均衡
(1)实验环境会用上172.25.47.2 和172.25.47.3两台虚拟机
172.25.47.1的主配置文件中添加
指向两台后端服务器
Server2:
Server3:
真机做测试:
(2)修改主配置中的参数做测试
可以看到2解析的多
(3)把3只作为备份的话,全是2解析的,只有当2down掉后3才起来
关闭2的httpd服务
重启2的httpd服务后,测试的还是都是2在解析
(4)
测试:
将两个后台的http服务都关闭后,测试的就是第三台那个
这种方法常用在系统出现问题时,会给返回一个系统正在维修中,稍后访问,避免系统出现故障后,还有很多的客依然还要访问
原文地址:http://11907184.blog.51cto.com/11897184/1854059