初识Nginx——nginx的编译、安装及特点(一)

一、Nginx简介

nginx是一个轻量级的服务器软件,目前世界排名第三,第一占据大部分的市场份额的是apache,第二的是微软公司的IIS站的比重大约是23%。nginx自开发出来04年公布出来市场份额逐年上升,所拥有的功能是前两者都没有的,而且还能与之互补,所以很有必要认真研究一番。

Nginx是一款web服务器反向代理服务器及电子邮件代理服务器。是在BSD-like协议下发行的。

Nginx最突出的特点就是占有内存少,并发能力强。Nginx采用的是事件驱动结构,使用异步套接字来接受客户的请求,是一种非阻塞结构,不使用单独的线程处理,使用masker来控制worker来进行金城的控制,一个master对应一个或者多个worker,而且每个worker相应多个请求,很大一定程度上的减少了cpu和内存的消耗!

Nginx 特性:

1、模块化设计,较好的扩展性。不论是Nginx自己带的模块,还是第三方开发的模块,Nginx都能很好的支持。

2、高可靠性,Nginx把线程分为主线程master和副线程worker,启动Nginx时候就会先启动master,然后master会生成一个或者多个worker线程去执行命令,而且由于这个模式的出现,Nginx可以实现版本平滑升级,而不用重新启动web服务。Nginx里面有多个master,新出现的master就会升级,正在运行的master不会升级,而会等到它所运行的进程结束,它会自动退出,等到下次启用的时候启用的master就是更新好的新版本master,master下面的worker升级原理也是这样的。

3、较低的内存消耗,相比而言,Nginx有一万个keep-alive连接在Nginx 小号的内存大约为2.5M。归功于Nginx的架构太优秀了。

4、支持热部署、可以实现不停机而更新配置文件、更新日志文件、更新服务器程序版本。

Nginx基本功能:

提供静态资源的web服务器,能缓存打开的文件,描述符

支持http、smtp pop3协议的反向代理服务器

支持缓存、负载均衡

支持fastCGI(fpm)

支持高度模块化机制,而非DOS机制,过滤zip、ssi及图像大小调整。

支持SSL

Nginx的扩展功能

支持基于名称和IP的虚拟主机

支持keep-alive

支持平滑升级

支持url rewrite(地址重写)

支持使用日志缓冲区提高日志存储功能 ,定制访问日志


支持路径别名

支持速率限制

支持基于IP及用户的访问控制

支持并发数限制

Nginx 1.6.2版本编译安装

从官方网站或者社区中下载源码包并解压到/usr/src目录下  tar xf nginx-1.6.2.tar.gz -C /usr/src

    避免编译过程中发生错误 ,用yum安装Development Tools和Server Platform Development包组

    添加Nginx系统组:groupadd -r nginx

    添加nginx系统用户:useradd -g nginx -r nginx

    cd至源码解压的目录下,然后编译安装

./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx --group=nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_mp4_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi

如果出现错误大部分原因就是有些--devel的开发包没有安装,可以根据提示把开发包安装进去。

然后 make && make install

此时的Nginx是开机没有启动的

那么下面介绍让Nginx开机启动

新建文件/etc/rc.d/init.d/nginx,内容如下:

    

#
# chkconfig:   - 85 15 
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse #               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
nx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15 
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse #               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
   # make required directories
   user=`nginx -V 2>&1 | grep "configure arguments:" | sed ‘s/[^*]*--user=\([^ ]*\).*/\1/g‘ -`
   options=`$nginx -V 2>&1 | grep ‘configure arguments:‘`
   for opt in $options; do


    将服务脚本的权限设置为可执行 chomd +x /etc/rc.d/init.d/nginx

将服务加入服务列表中,并设置为开机自启动:chkconfig --add nginx && chkconfig nginx on

测试启动nginx:service nginx start

    

    

        

          

时间: 2024-12-24 17:51:46

初识Nginx——nginx的编译、安装及特点(一)的相关文章

Nginx专题: 从编译安装到URL重写

Nginx专题: 从编译安装到URL重写 前言 本文主要实现使用Nginx作为Web服务器, 并使用URL Rewrite实现将手机对Web站点的请求专门重写到一个专门为手机定制的Web页面中 环境介绍 笔者只有一台虚拟机, 桥接到室内的路由器便于手机进行访问, IP地址为192.168.1.103 Nginx介绍 engine x发音同Nginx, 作者是Igor Sysoev,是目前世界上占有率第三的Web服务器软件. Nginx是一款轻量级的Web服务器,可实现反向代理,URL rewri

Nginx 源码编译安装

Nginx 源码编译安装环境 Centos7 Nginx1.8.1    下载地址:http://nginx.org/download/ 选择自己想要的版本 我这边使用1.8.1,下载地址:http://nginx.org/download/nginx-1.8.1.tar.gz 1.编译前安装环境 [[email protected]_30 ~]# yum groupinstall "Development Tools" -y                #安装开发工具包 [[ema

Nginx实践01-ngnix编译安装-测试

1.下载nginx安装包 下载地址:http://nginx.org/en/download.html(里面有nginx各个版本) 解压到指定目录: 解压出来的目录简单介绍: src:软件的所有源代码 man:man文档 auto:脚本文件,和configure脚本程序有关 conf:配置文件 html:存放了两个后缀为.html的静态页面文件 2.编译安装常用参数 --prefix=<path>:指定nginx软件的安装路径 --prefix=<path>:指定nginx可执行文

Nginx服务器上编译安装PHP

下载PHP# wget http://cn2.php.net/distributions/php-7.0.0.tar.gz 解压缩PHP# tar -zxvf php-7.0.0.tar.gz && cd php-7.0.0 安装依赖软件# yum -y install gcc libxml2-devel 编译安装PHP# ./configure --prefix=/usr/local/php7 --enable-fpm --with-fpm-user=nginx --with-fpm-g

nginx基础及编译安装

nginx是http服务器和反向代理服务器,又是IMAP/POP3/SMTP 代理服务器 nginx特性: 基本功能: 1.能够实现服务于静态文件,也就是静态资源的web服务器,能自动缓存打开的文件描述符: 2.反向代理服务器,能够实现简单的负载均衡和冗余 3.能够支持FastCGI协议 4.有模块化话功能,但非DSO(动态装卸载)机制,支持多种过滤器gzip,SSI和完成图像大小调整等 5.支持SSL功能 扩展功能: 1.能够基于名称和IP做虚拟主机 2.支持keepalive 3.支持平滑的

mac下Nginx+lua模块编译安装

Nginx的nb之处就不说了,lua也是一个小巧的脚本语言,由标准C编写而成,几乎可以运行在所有的平台上,也非常强大,其他特性请自行度娘.nginx_lua_module是由淘宝的工程师清无(王晓哲)和春来(章亦春)所开发的nginx第三方模块,它能将lua语言嵌入到nginx配置中,从而使用lua就极大增强了nginx的能力 http://wiki.nginx.org/HttpLuaModule 下面说说mac下Nginx如何编译集成nginx_lua_module模块 1. 下载nginx需

实战Nginx源码编译安装与配置

实验环境:RHEL7.0    server1.example.com  172.25.254.1 实验内容:   1.准备                      2. 安装                      3.配置                      4.添加https                      5.虚拟主机                      6.<<nginx 监控小插件>>网站信息统计                      7.

Nginx之一:编译安装及基础应用

一.Nginx简介 Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器.它运行在UNIX,GNU/Linux,BSD各种版本,Mac OS X,Solaris和Windows.据统计,6%的网站使用Nginx Web服务器.Nginx是少数能处理C10K问题的服务器之一.跟传统的服务器不同,Nginx不依赖线程来处理请求.相反,它使用了更多的可扩展的事件驱动(异步)架构.Nginx为一些高流量的网站提供动力,比如WordPress,人人网,腾讯,网易

nginx学习笔记之一:nginx介绍及其编译安装

Nginx是一款高性能的web服务器.反向代理服务器及电子邮件(IMAP/POP3)代理服务器,具有占用内存少,并发能力强等优点. 一.nginx的功能与特性 1.基本功能及特性 ①作为静态资源的web服务器,能缓存打开的文件描述符: ②作为反向代理服务器,可做缓存.负载均衡: ③支持FastCGI ④模块化,非DSO机制(不能动态装卸载),过滤器gzip,SSI和图像大小调整等 ⑤支持SSL 2.扩展功能: ①基于名称和IP做虚拟主机 ②支持keepalive ③支持平滑配置更新或程序版本升级

nginx 源码编译安装并编写服务启动脚本

1. 使用xshell将nginx源码包上传到server 2. 安装依赖的软件包工具 zlib-devel?? pcre-devel?? gcc? gcc-c++ yum -y install zlib-devel pcere-devel gcc gcc-c++ 验证一下: 3. 指定nginx的运行用户 (创建nginx用户不使其登录系统.-M不创建宿主目录) [[email protected] ~]# useradd -s /sbin/nologin -M nginx 4. 编译安装ng