Linux课程笔记 Nginx介绍

1  Nginx介绍

与Apache相比,在性能上,nginx占用更少的系统资源,特定的场景应用(静态数据)能支持更多的并发连接,达到更高的访问效率;在功能上,Nginx是一个优秀的反向代理和负载均衡服务器,也可以作为缓存服务器。

2  Nginx有点总结:

  1. 高并发:能支持1-2万甚至更多的并发连接(静态小文件环境下)
  2. 内存消耗少:在3万并发连接下,开启的10个Nginx进程消耗不到200M内存
  3. 可以做HTTP反向代理,即负载均衡功能,相当于专业的haproxy软件或lvs的功能
  4. 内置对RS服务器健康检查功能:如果Nginx代理后端某台Web服务器宕机,不会影响前端的访问,这个功能还比较弱,需要后需改进。
  5. 通过cache插件可以实现类似squid等专业的缓存软件实现的功能

Nginx最主要的优点是:支持kqueue(FreeBSD 4.1+),epoll(Linux 2.6+)等网络IO事件模型,由此来支持高并发的连接。Apache支持的是select模型。

3 Nginx的主要应用场景

Web服务器

1) 结合FastCGI运行PHP、JSP等程序

2) 运行HTML,JS,CSS,小图片等静态数据

代理服务器

1) 做反向代理或负载均衡、规则过滤

缓存服务器

2)   加cache插件实现对web服务器缓存功能

4 主流服务器产品对比

apache

(1) 2.2版本非常强大,官方说明,2.4版本性能超强

(2) Perfork模式取消了进程创建开销,性能很高

(3) 处理动态业务数据时,因关联到后端的引擎和数据库,瓶颈不在于Apache本身

(4) 高并发消耗系统资源相对多一些

Nginx

(1) 基于异步IO模型,性能强,能够支持上万并发

(2) 对小文件支持很好,性能很高(限静态小文件)

(3) 代码优美。扩展必须编进进主进程

(4) 消耗系统资源比较低

5 为什么Nginx总体性能比Apache高

6  Nginx基础安装

6.1  pcre安装

Pcre,中文兼容正则表达式,安装pcre库是为了使Nginx支持HTTP  Rewrite模块


wget http://exim.mirror.fr/pcre/pcre-8.30.tar.gz

tar  zxf  pcre-8.30.tar.gz

cd  pcre-8.30

./configure

make && make install

注意:在安装的过程中遇到了“libtool: compile: unrecognized option `-DHAVE_CONFIG_H‘”。这是由于没有安装gcc-c++. yum install gcc-c++即可解决。

6.2  Nginx安装


wget  http://nginx.org/download/nginx-1.2.9.tar.gz

useradd  nginx  -s  /sbin/nologin  -M  #创建nginx这个用户,可随意起名

tar zxf  nginx-1.2.9.tar.gz

cd  nginx-1.2.9

./configure --user=nginx --group=nginx --prefix=/application/nginx-1.2.9 --with-http_stub_status_module --with-http_ssl_module

make && make install

ln  -s  /application/nginx-1.2.9  /application/nginx  #在版本升级的时候很重要

./configure 后参数说明: (更多可使用./configure  --help查询)

--user=USER                      set non-privileged user for

--group=GROUP                   set non-privileged group for

--with-http_stub_status_module     enable ngx_http_stub_status_module

--with-http_ssl_module             enable ngx_http_ssl_module

6.3  Nginx的启动


[[email protected] nginx-1.2.9]# /application/nginx/sbin/nginx

/application/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

#这是由于libpcre.so.1文件无法找到,如果是yum安装,不会出现这个错误

[[email protected] nginx-1.2.9]# find / -type f -name "libpcre.so.*"

/lib64/libpcre.so.0.0.1

/usr/local/lib/libpcre.so.1.0.0

/root/tools/pcre-8.30/.libs/libpcre.so.1.0.0

[[email protected] nginx-1.2.9]# vi /etc/ld.so.conf

include ld.so.conf.d/*.conf

/usr/local/lib/

[[email protected] nginx-1.2.9]# ldconfig  #使配置文件生效

[[email protected] nginx-1.2.9]# /application/nginx/sbin/nginx -t

nginx: the configuration file /application/nginx-1.2.9/conf/nginx.conf syntax is ok

nginx: configuration file /application/nginx-1.2.9/conf/nginx.conf test is successful

验证启动:

[[email protected] nginx-1.2.9]# lsof -i:80

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

nginx   16853  root    6u  IPv4  34743      0t0  TCP *:http (LISTEN)

nginx   16854  nginx    6u  IPv4  34743      0t0  TCP *:http (LISTEN)

疑难问题:

[[email protected] nginx-1.2.9]# /application/nginx/sbin/nginx

nginx: [emerg] getpwnam("nginx") failed

#这是由于没有创建用户导致的,重现这个问题只需要执userdel  nginx

6.4  Nginx配置文件


worker_processes  1;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

server {

listen       80;

server_name  localhost;

location / {

root   html;

index  index.html index.htm;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

}

}

时间: 2025-01-18 10:33:57

Linux课程笔记 Nginx介绍的相关文章

Linux 课程笔记 Nginx深入应用实践

1 关于Nginx模块 Nginx使用不同的模块实现不同的功能,主要有2组重要的模块: (1) Nginx core modules(必需的) 包括Main.Events (2) Standard  HTTP modules(虽然不是必需的,但是缺省都会安装,不建议改动) 典型的包括 Core.Access.FastCGI.Gzip.Log.Proxy.Rewrite.Upstream 2 Nginx目录结构 /application/nginx |-- client_body_temp |--

Linux课程笔记 Crond介绍

1. 定时任务比较及cron语法 Linux的任务调度可以分为两类: 系统自身执行的任务 用户执行的工作 Linux系统下另外两种定时任务软件: at:适合仅执行一次的调度任务,需要启动一个名为atd的服务 anacron:这个命令主要用于非7*24小时开机的服务器,anacron并不能指定具体时间执行任务,而是以天为周期或者在系统每次开机后需要执行的任务,它会检测停机期间应该进行,但是并没有进行的crontab任务工作,执行一遍. 这两种比较少用 指令语法: Crontab  [-u user

Linux课程笔记 Day08 课上内容总结 Apache及Raid技术

一 http基础概念 1.1   静态网页的特点: (1)       静态网页每个页面都有一个固定的URL,而且URL一般以.htm..html..shtml等形式为后缀,而且地址中不含有问号”?” (2)       静态网页是实实在在保存在服务器上的文件,每个都是一个独立的文件 (3)       静态网页的内容相对稳定,容易被搜索引擎收录(优点) (4)       静态网页没有数据库的支持,在网站制作和维护方面工作量较大(缺点) (5)       静态网页的交互性较差,在功能方面有较

Linux课程笔记 Apache常用模块的介绍

1. mod_expires模块介绍 1.1 mod_expires介绍 mod_expires允许通过apache配置文件控制HTTP的”Expires:”和”Cache-Control:”头内容,这个模块控制服务器应答时的Expires头内容和Cache-Control头的max-age指令.有效期可以设置为相对于源文件的最后修改时刻或客户端的访问时刻. 这些HTTP头向客户端表明了内容的有效性和持久性.如果客户端本地有缓存,则内容就可以从缓存而不是从服务器读取.然后客户端会检查缓存中的副本

Linux课程笔记 Day06 课上内容总结

一.硬盘的基础知识 1. 硬盘的结构 1.1硬盘介绍 硬盘主要包括:盘片.磁头.主轴马达.控制电机.磁头控制器.数据转换器.接口.缓存等几个部分. 当今(2012年),互联网行业服务器领域(dell,hp)主流的有SATA硬盘(1万转/分,1-2T容量),SAS硬盘(1.5万转/分,300-600G),还有性能更高的SSD固态电子硬盘.线上应用的存储尽量用SAS硬盘,比如数据库.图片的线上应用,数据冷备份服务用SATA,比如站点程序及数据库.图片的备份等. 1.2 硬盘的内部结构图 1.3 硬盘

Linux课程笔记 Day07 课上内容总结 SSH和rsync

一. SSH 1.1    SSH介绍 SSH是Secure Shell Protocol的简称.在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输.确保了传递的数据安全.SSH是专为远程登录会话和其他网络问题提供安全性的协议. 在默认状态下,SSH协议提供两个服务功能:一个是提供类似telnet远程链接服务器的服务,即上面提到的SSH服务:另一个是类似FTP服务的stp-server,借助SSH协议来传输数据,提供更安全的FTP服务. 特别提醒:SSH客户端

Linux课程笔记 Day03 课程内容总结

1. 软硬链接的介绍和实践 1.1链接的概念 在linux系统中,链接分为硬链接和软链接.在默认不带参数的情况下,执行ln命令创建的是硬链接. 链接是指通过索引节点来进行链接.在linux系统中,多个文件名指向同一个索引节点是正常且允许的,这种是硬链接.硬链接的作用之一是允许一个文件有多个有效路径防止误删除源数据. 文件系统中,只要文件的索引节点还有一个以上的链接,只删除其中一个链接并不影响索引节点和其他的链接(即数据实体并未删除).只有当最后一个链接被删除,此时如果有新数据要存储到硬盘时,被删

Linux课程笔记 Day01 课程内容总结

系统安装: 引导项简单介绍:在“boot:”提示后: 直接回车(Enter)——图形界面安装模式 linux text——字符界面安装模式 linux askmethod——提示用户选择安装方法(例如:nfs.ftp.http远程安装) linux  rescue——救援模式,如/etc/fstab文件损坏后的修复 memtest86——检测内存 (一)  选择安装方式 输入linux text进入字符安装界面模式,特点是方便.迅速. (二)  是否对光盘进行检查 一般不需要对光盘进行检查,可选

Linux课程笔记 Apache的优化

Apache服务优化 1 配置Apache日志轮询 apache自带的日志轮询工具也是可以使用的,但是老师测试会丢日志,所以采用cronolog来配置日志轮询 tar zxf cronolog-1.6.2.tar.gz cd cronolog-1.6.2 ./configure make make install <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/html/www" Ser