设为首页 收藏本站
查看: 1750|回复: 0

[经验分享] Nginx的搭建

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-20 10:54:11 | 显示全部楼层 |阅读模式
                      Nginx   一.Nginx的安装  准备的安装包 :nginx-1.10.1.tar.gz
  本次实验环境与varnish的实验环境是一样的
  采用源码编译方式安装软件
  1.首先查看有没有安装gcc
   wKioL1ffi3rQe0xRAAATdZxcNbs430.jpg
  2.解压源码包
  Tar zxf  nginx-1.10.1.tar.gz
   wKiom1ffi3uSGxcuAAAa6q3TCTM836.jpg
  解压完可以看到有个新的目录
  Nginx-1.10.1
  3.进入解压好的源码包
   wKiom1ffi3vAk1pWAAAREa1hCec353.jpg
  4.执行configure文件,功能是可以让用户选定编辑特性,并可以检查编译环境,configure执行后将生成MakeFile文件。
  可以用下边./configure --help命令查看后边可以用到有哪些参数。
   wKioL1ffi3zwHJ8UAAAipOXvK-M525.jpg
  ./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module
   wKioL1ffi3ySrbjCAAARwwRyaO8020.jpg
   wKiom1ffi33DMKMjAAAzyTgUMc4795.jpg
  注:过程中可能会缺失某个开发包,因此要用yum 再把这个包安装一下,后缀都要加-devel
  比如:
   wKioL1ffi37wgpTTAAAcAfJUigI828.jpg
  对这个命令的参数做一些解释:
  --prefix制定了安装路径 (第三方软件一般都是安在/usr/local目录下,后面的名字自己可以定)--with-http_ssl_module --with-http_stub_status_module是一些状态模块,让其支持SSL,可以加一些状态模块的支持,不是所有的程序configure参数都是一样的,可以使用./configure --help 查看详细参数说明,如果该程序所依赖的库在当前系统中没有安装,则会导致configure最后报错,遇到这种情况就需要先安装这些依赖库。
  5.执行make命令,编译程序make
   wKioL1ffi37hX7cdAAAUTTYjUok577.jpg
  6.编译成功后就可以安装了。执行make install 命令,到此程序就安装完成了
   wKiom1ffi3-jT9gLAAATmAHzuNg872.jpg
  查看程序的安装位置
   wKioL1ffi3-R0ckAAAAVvJ0Znug875.jpg
  可以看到nginx的进程,master和worker
   wKioL1ffi4DS2BM2AAASY3VNAfc072.jpg
  查看端口状态,所有使用的协议tcp 处于监听状态的,program的
   wKioL1ffi4GiD8KZAAAk_bqI50E279.jpg
  使用curl测试:
   wKiom1ffi4GDgIuIAAArkLTGcDk838.jpg
  在网页浏览器中可以看到
   wKioL1ffi4LR4atzAAAVvw8GNYM560.jpg
  二.Nginx配置隐藏版本号  1.首先将之前编译安装好的删除掉,删除掉安装目录,再把makefile文件清除下。
   wKiom1ffi4OSzB7MAAAvV4JeIdU108.jpg
  2.进入解压好的源码包
   wKioL1ffi4PhzEFZAAAeBDpPLd8538.jpg
  编辑vim nginx.h文件,把版本去掉
   wKioL1ffi4TSbdUWAAASTJYZ07g525.jpg
   wKiom1ffi4XjzJNUAAAe6fI1fuE541.jpg
  编辑 vim gcc 文件,注释掉检查bug的选项,这样可以使安装后的大小变小
  注释掉这行,去掉 debug 模式编译,编译以后程序只有几百 k
   wKiom1ffi4XigfHAAAAULgBxdak323.jpg
  3.再重新源码安装一下,跟上边安装一样,三部曲
  然后可以看到安装后的大小,明显小了很多。
   wKioL1ffi4XSWk19AAAc7aC0YqI203.jpg
  4.对软件的安装路径做个软链接
  ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin/
   wKiom1ffi4bAW3k6AAAJqrCaVl8823.jpg
   wKiom1ffi4bAx__yAAAR_v2P7YU979.jpg
  做这个步骤的目的是可以在任何目录下都可以使用对该软件操作的目录,而不需要专门跑到sbin目录下./执行打开
  可以实现:
   wKiom1ffi4fSC_KsAAAid7DEHNY030.jpg
  如果出现以下错误时,解决办法是将进程都杀死,重新打开
   wKioL1ffi4jBwKKdAAAWiJqiaRY884.jpg
   wKiom1ffi4izg3C7AAAcULENya8082.jpg
  5.重新编译完成,测试一下
  可以看到,没有nginx的版本号,这样相对的来说更安全些了。
   wKioL1ffi4mgTA27AAAoRCCoTbw292.jpg
  做一下对比
   wKioL1ffi4nQ5ln8AABHMykw4Qg577.jpg
  三.Nginx编译安装时动态模块的加载问题  四.了解Nginx的主配置文件,看看修改什么参数能够实现什么功能  1.修改执行worker进程的用户
  可以看到,worker是nobody,如何修改它
   wKiom1ffi4rSSwUSAAAKRCZnN-k280.jpg
  进入配置文件中修改
   wKiom1ffi4rjKwHCAAAVzDLTyW8907.jpg
   wKioL1ffi4vis7T7AAAOTRe7J3w555.jpg
  Ps-aux 查看,可以看到已经换过来了
   wKioL1ffi4uSOMdRAAAc55wlqhk447.jpg
  2.对资源cpu进程限制等的调节
  查看cpu的相关信息
   wKioL1ffi4zAt4KgAAA6AJoCKFg939.jpg
  Nginx中的worker数是由cpu的数量决定的,与cpu的数量相等
  3.开启nginx的SSL 443和设置网页重定向
  首先修改配置文件,找到http块
  编辑http块
   wKioL1ffi42AF6jgAAAT_8z28Lo407.jpg
  然后把这个模块的注释除掉
   wKioL1ffi47A0Fm-AAAyAC-ZCtY711.jpg
  然后开始生成密钥
   wKiom1ffi4_zCwnXAAAeAfvvk_w496.jpg
   wKioL1ffi4_BFDZjAAAju0Bzdmw736.jpg
  生成完之后会有一个cert.pem文件,将其移到配置文件的目录下。
  之后检查语法是否有问题,并重新加载
   wKioL1ffi5Cg8XCqAAAOWMRVx_g609.jpg
  测试一下,看是否功能有了
  首先编辑配置文件:localhost 改为主机名
   wKiom1ffi5GhLqufAAAS1s9B66g878.jpg
  重新加载
  网页访问,可以看到已经有加密认证
   wKioL1ffi5GSaNaOAAAj7Js4cLI980.jpg
   wKiom1ffi5LiK0VcAAAkiF_qdYQ088.jpg
  如何直接在输入http就直接到为https,需要设置重定向。
  <meta http-equiv='refresh' content="0;url=https://server1.example.com">
  之后还可以实现其他的虚拟主机手写调转,进行网页重定向
   wKioL1ffi5OTxmfLAAAV0RcYswQ950.jpg
   wKioL1ffi5OC5V7jAAANhCK-F2I072.jpg
  这样设置完之后重新加载软件,就可以实现。
  4.nginx的虚拟主机
  首先解释一下虚拟主机的概念,所谓的虚拟主机,基本上就是让你的一台服务器上面,有好多个‘主网页’存在,也就是说,硬件实际上只有一台主机,但是由网站上来看,则似乎有多台主机存在的样子,比如说你单击进入两个不同的网站,会发现看到的是不一样的信息内容,不过,如果用dig之类的软件来检验IP的话,会发现两个网站又同指向一个IP,虚拟主机的主要功能就是可以让你的多个主机名对应到不同的主网页目录,所以看起来就好像是有多台实际主机的样子
  还是配置主配置文件中的http块:(任意一次修改配置文件后,都检查一下语法有没有错,然后重新再加载一下)
   wKiom1ffi5TwGYHKAAArjePOQcE529.jpg
  主机上的配置
   wKiom1ffi5WDZeaSAAAYhE22gYI776.jpg
  使用真机浏览器测试一下
   wKioL1ffi5WS-6OFAAAYPhkhDZc524.jpg
   wKioL1ffi5bxbBWPAAAXO_S6dg0188.jpg
  5.nginx的负载均衡
  (1)实验环境会用上172.25.47.2 和172.25.47.3两台虚拟机
  172.25.47.1的主配置文件中添加
  指向两台后端服务器
   wKiom1ffi5aQKSM3AAAUtbpwHUU557.jpg
   wKioL1ffi5eB3FToAAAXxd2X7bI776.jpg
  Server2:
   wKioL1ffi5eQimtiAAAlkW1P_h8465.jpg
  Server3:
   wKiom1ffi5iwFIGHAAAecWcJM2I691.jpg
  真机做测试:
   wKiom1ffi5nA_O-0AAAXYpP7F1w311.jpg
  (2)修改主配置中的参数做测试
   wKiom1ffi5nCN27xAAAY5tsCz_4691.jpg
  可以看到2解析的多
   wKioL1ffi5rBs7FDAAAVbfJT0L4623.jpg
  (3)把3只作为备份的话,全是2解析的,只有当2down掉后3才起来
   wKiom1ffi5rhMIejAAAYt-nAA3w212.jpg
   wKioL1ffi5uAR23KAAAaG17Om4s110.jpg
  关闭2的httpd服务
   wKioL1ffi5vjCd4mAAALfKfrLzk923.jpg
   wKiom1ffi5yz5TjkAAATm1ilucE244.jpg
  重启2的httpd服务后,测试的还是都是2在解析
   wKiom1ffi5zRG2JeAAALowf6EwU945.jpg
   wKiom1ffi53QGTI-AAAa7firZyE668.jpg
  (4)
   wKioL1ffi52hbKneAAAT1AES9Wc922.jpg
  测试:
   wKioL1ffi57wuc-5AAAXUFI3E8I076.jpg
  将两个后台的http服务都关闭后,测试的就是第三台那个
   wKioL1ffi56D9Nz7AAAnL02gsjU161.jpg
  这种方法常用在系统出现问题时,会给返回一个系统正在维修中,稍后访问,避免系统出现故障后,还有很多的客依然还要访问
                   


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-274901-1-1.html 上篇帖子: nginx源码安装、文件模块的修改、访问加密(自定义签名... 下篇帖子: Nginx 正则匹配配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表