码迷,mamicode.com
首页 > 其他好文 > 详细

(一)lnmp架构的搭建:Nginx

时间:2016-08-22 00:34:35      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:linux nginx

Nginx简介:Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由俄罗斯的程序设计师Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强。在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍

Nginx的优点:Nginx的主要特点是稳定、功能丰富、安装配置简单、低系统资源。Nginx对于反向代理和负载均衡有不错的支持。Nginx不仅仅可以做为Web服务器,还可以做负载均衡服务器、代理服务器和邮件服务器。作为Web服务器来说,相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,Nginx处理静态文件、索引文件,自动索引的效率非常高,体现更高的效率。作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站的运行速度。作为负载均衡服务器,Nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡;Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。安装配置上,Nginx安装简单、配置灵活、配置文件非常简洁(还能够支持perl语法);性能方面,Nginx是专门为性能优化而开发的,非常注重效率。它采用Poll模型,可以支持更多的并发连接,最大可以支持对50000个并发连接数的形影,而且只占用很低的内存资源;可用性方面,Nginx支持热部署,启动速度特别迅速,可以在不间断服务的情况下,对软件版本或者配置进行升级,及时运行数月也无需重新启动,几乎可以做到7*24显示不间断运行。

软件环境:redhat6.5

实验环境:虚拟机三台

                server1:172.25.45.10

                server2:172.25.45.20

                server3:172.25.45.30

            

Lnmp环境的搭建-------Nginx

Nginx的安装:


1
tar zxf nginx-1.8.0.tar.gz
1
2
3
cd nginx-1.8.0
yum install pcre-devel  openssl-devel  -y
./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module


1
2
make
make install
1

vim /root/.bash_profile 


1
source /root/.bash_profile  #使新更改的环境变量生效
1
2
3
cd /usr/local/lnmp/nginx/sbin/
./nginx -t   #检测文件是否配置错误 
./nginx    #启动服务脚本
1

curl -I localhost   #检测http协议提供程序



技术分享

设置开机启动

1

vim /etc/rc.local

 技术分享

在最后行添加nginx


1
nginx -s
1
nginx -h

屏蔽nginx的版本:


1
2
rm  -rf  /root/nginx-1.8.0  /usr/local/lnmp/nginx #把先前编译安装好的版本删除
tar zxf nginx-1.8.0.tar.gz   #解包 
1

vim /root/nginx-1.8.0/src/core/nginx.h   #伪装版本

技术分享

将"nginx/"后面的删除


1

vim /root/nginx-1.8.0/auto/cc/gcc  #关闭debug调试


技术分享

注释掉debug模式


重新编译:

cd nginx-1.8.0

./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module make make install

make && make install

技术分享


nginx -t #检测文件配置

nginx -s reload #加载配置文件


useradd -s /sbin/nologin/ -d v/usr/local/lnmp/nginx nginx #创建一个nginx用户


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

user   nginx  nginx   #用户和用户组

worker_processes   2; #cpu进程数,不能超过本机的cpu数


events {

          use  epoll; #采用一步非阻塞模式,apache --select 同步阻塞机制 io服用模型类型

          worker_connections 4096;    #连接数

}


技术分享


开启https:

技术分享


见server{}内的#去掉  在ssl_certificate和ssl_certificate_key后添加上cert.pem


cd /etc/pki/tls/certs/

make cert.pem


技术分享


cp cert.pem /usr/local/lnmp/nginx/conf/

nginx -t

nginx -s reload


访问浏览器:

技术分享



nginx 监控小插件:

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

添加以下内容

技术分享

nginx -t

nginx -s reload


访问浏览器:形式ip/status

技术分享

nginx :负载均衡

server2server3做以下工作:

yum install httpd -y

cd /var/www/html/

echo server2/3.example.com > index.html


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


添加以下内容


技术分享



nginx -t 

nginx -s reload


测试:访问浏览器

技术分享

技术分享


nginx:虚拟主机


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

添加以下内容

技术分享

技术分享


nginx -t

nginx -s reload


mkdir /web{1..2}

echo www.linux.org > /web2/index.html

echo www.unix.org  > /web2/index.html

nginx -t
nginx -s reload




测试:访问浏览器


技术分享

技术分享








本文出自 “huangguanhua” 博客,转载请与作者联系!

(一)lnmp架构的搭建:Nginx

标签:linux nginx

原文地址:http://hgh1882928.blog.51cto.com/11827742/1840909

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!