nginx的搭建部署

概述:Nginx是一款由俄罗斯开发的开源的高性能HTTP服务器和反向代理服务器,同时支持IMAP/POP3/SMTP代理服务,其性能优势着为显著,官网上称:单台nginx服务器可以处理50000并发;

特点:高性能、稳定、消耗硬件资源小、能够处理大并发,主要用于静态的解析,动静页面的分离;

优势:

1.作为Web服务器,nginx处理静态文件、索引文件以及自动索引效率非常高。

2.作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站运行速度。

3.作为负载均衡服务器,Nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器,对外进行服务。同时支持简单的容错和利用算法进行负载均衡。

1.在性能方面,Nginx在实现上非常注重效率。它采用内核Poll模型,可以支持更多的并发连接,最大可以支持对50 000个并发连接数的响应,而且占用很低的内存资源。

2.在稳定性方面,Nginx采取了分阶段资源分配技术,使得对CPU与内存的占用率非常低。Nginx官方表示Nginx保持10 000个没有活动的连接,这些连接只占2.5M内存,因此,类似DOS这样的攻击对Nginx来说基本上是没有任何作用的。

3.在高可用性方面,Nginx支持热部署,启动速度特别迅速,因此可以在不间断服务的情况下,对软件版本或者配置进行升级,即使运行数月也无需重新启动,几乎可以做到7*24小时的不间断运行。

安装nginx程序:

[root@www ~]# rpm -e httpd --nodeps   #卸载httpd。http默认占用80端口,nginx默认80,端口冲突

[root@www ~]# yum -y install pcre-develzlib-devel wget  #安装依赖关系等软件包

[root@www ~]# useradd -M -s /sbin/nologin nginx    #创建nginx的用户

[root@www ~]# http://nginx.org/download/nginx-1.12.2.tar.gz

[root@www ~]# tar zxvf nginx-1.12.2.tar.gz-C /usr/src/s

[root@www ~]# cd /usr/src/nginx-1.12.2/

[root@www nginx-1.12.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module

注解:

--prefix=/usr/local/nginx                             ##指定安装位置

--user=nginx --group=nginx                       ##指定运行服务的用户和组

--with-http_stub_status_module                ##开启状态监听模块

--conf-path=                                               ##指向配置文件存放位置

--error-log-path=                                        ##指向错误日志存放位置

--pid-path=                                                 ##指向pid文件存放位置

--with-rtsig_module                                   ##启用rtsig模块支持(实时信号)

--with-select_module                                ##启用select模块支持(一种轮询模式,不推荐在高载环境下使用)禁用:--without-select_module

--with-http_ssl_module      ##启用ngx_http_ssl_module支持(使支持https请求,需已安装openssl)

--with-http_xslt_module                                ##启用ngx_http_xslt_module支持(过滤转换XML请求)

--with-http_image_filter_module                  ##启用ngx_http_image_filter_module支持(传输JPEG/GIF/PNG 图片的一个过滤器)(默认为不启用,要用到gd库)

--with-http_gzip_static_module                     ##启用ngx_http_gzip_static_module支持(在线实时压缩输出数据流)

--with-http_degradation_module                 ##启用ngx_http_degradation_module支持(允许在内存不足的情况下返回204或444码)

--without-http_access_module                      ##禁用ngx_http_access_module支持(该模块提供了一个简单的基于主机的访问控制,允许或拒绝基于ip地址)

--without-http_auth_basic_module                ##禁用ngx_http_auth_basic_module(该模块是可以使用用户名和密码基于http基本认证方法,来保护你的站点或其部分内容)

---without-http_rewrite_module                   ##禁用ngx_http_rewrite_module支持(该模块允许使用正则表达式改变URL)

--without-http_fastcgi_module                      ##禁用ngx_http_fastcgi_module支持(该模块允许Nginx 与FastCGI 进程交互,并通过传递参数来控制FastCGI 进程工作。)

[root@www nginx-1.12.2]# make&&make install

[root@www nginx-1.12.2]# ls/usr/local/nginx/

client_body_temp  conf fastcgi_temp  html  logs proxy_temp  sbin  scgi_temp uwsgi_temp

[root@www nginx-1.12.2]# cd

[root@www ~]# ln -s/usr/local/nginx/sbin/nginx /usr/local/sbin/             ##优化命令执行路径

[root@www ~]# vi /etc/init.d/nginx                       

#!/bin/bash

# chkconfig: - 99 20

# description: Nginx Server Control Script

NP="/usr/local/nginx/sbin/nginx"

NPF="/usr/local/nginx/logs/nginx.pid"

case "$1" in

 start)

   $NP;

   if [ $? -eq 0 ]

   then

     echo "nginx is starting!! "

   fi

  ;;

 stop)

   kill -s QUIT $(cat $NPF)

   if [ $? -eq 0 ]

   then

   echo "nginx is stopping!! "

   fi

  ;;

 restart)

   $0 stop

   $0 start

  ;;

 reload)

   kill -s HUP $(cat $NPF)

   if [ $? -eq 0 ]

   then

     echo "nginx config file is reload! "

   fi

  ;;

  *)

   echo "Usage: $0 {start|stop|restart|reload}"

   exit 1

esac

exit 0

[root@www ~]# chmod +x /etc/init.d/nginx

[root@www ~]# chkconfig --add nginx

[root@www ~]# chkconfig nginx on 

[root@www ~]# /etc/init.d/nginx start

[root@www ~]# netstat -utpln |grep nginx

tcp       0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      3713/nginx

开始验证是否成功

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容