Nginx架构及安装

文章目录[隐藏]

##Nginx架构
1. 站点推荐:
1. Web站点使用技术调查:W3Techs
2. 服务器相关数据统计:NetCraft
2. 选择Nginx的理由:
1. 高并发连接:官方测试Nginx能够支撑5万并发连接,实际测试可以达到3万左右,按照这样计算每天可以处理上亿次访问量,采用最新epoll(Linux 2.6内核)和kqueue(freebsd)网络IO模型,而Apache则是使用传统的select模型
2. 内存消耗小:Nginx+PHP(FastCGI)服务器在3万并发连接下,开启10个Nginx进程消耗150MB内存(15MB10),开启64个php-cgi进程消耗1280MB内存(20MB64),使用Webbench做压力测试,在3万并发量下速度依然很快。
3. Nginx支持负载均衡
1. 常见的网站做负载均衡的方法:
1. LVS(Linux Virtual Server)Linux虚拟服务器,项目官网点我,具体讲解参见博客肖邦Linux
2. 选择使用硬件的负载均衡器,比如F5,具体原理参见博客暴风君
4. Nginx支持反向代理
5. 成本低廉:相对于F5 BIG-IP,NetScaler等硬件负载均衡交换机动辄10多万甚至几十万,可以免费使用,并可以用于商业用途。
##下载、编译和安装
1. 官网下载安装包 官网点我,我使用的是nginx-1.13.7
2. 安装Nginx时必须先安装相应的编译工具(1)
#yum -y install gcc gcc-c++ autoconf automake

#yum -y install zlib zlib-devel openssl openssl-devel pcre-devel

zlib:Nginx提供gzip模块,需要zlib库支持

openssl:Nginx提供ssl功能

pcre:支持地址重写rewrite功能

可以使用group install,但是推荐精确安装

3. 编译和安装
1. 解压:tar -zxvf nginx-1.13.7.tar.gz
2. 进入解压目录 cd nginx-1.13.7
3. ./configure --help查看编译前配置

4. 添加用户组和用户: groupadd -r nginx 其中-r表示创建的是系统组 useradd -s /sbin/nologin -g nginx -r nginx 然后查看一下id nginx,这样添加的用户就是一个匿名用户而且是一个系统用户。
5.

        --prefix=/usr        #安装的主目录
        --sbin-path=/usr/sbin/nginx  #sbin的路径
        --conf-path=/etc/nginx/nginx.conf   #config的路径
        --error-log-path=/var/log/nginx/error.log   #错误日志文件存放路径
        --pid-path=/var/run/nginx/nginx.pid  #pid的路径
        --lock-path=/var/lock/nginx.lock  #lock路径
        --user=nginx  #拥有人nginx
        --group=nginx  #拥有用户组nginx
        --with-http_ssl_module  #ssl https支持模块
        --with-http_flv_module #流媒体
        --with-http_gzip_static_module  #gzip压缩模块
        --http-log-path=/var/log/nginx/access.log  #http日志文件
        --http-client-body-temp-path=/var/tmp/nginx/client  #客户端访问时有一个临时目录
        --http-proxy-temp-path=/var/temp/nginx/fcgi   #代理临时目录
        --http-fastcgi-temp-path=/var/tmp/nginx/fcgi  #cgi临时目录
        --with-http_stub_status_module   #http状态查询的模块
        -----------------------------------------------------------------------------
        输入 ./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx  
        --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/temp/nginx/fcgi --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --with-http_stub_status_module 回车即可

  1. make && make install

    安装完成

feihu分享到:

          

You may also like...

Scroll Up