nginx-学习笔记(一)安装与启动

nginx功能:

  • 支持修改nginx配置,可平滑重启,不中断业务访问
  • 可自定义访问日志格式,临时缓冲写日志操作,快速日志轮询,及通过rsyslog处理日志
  • 可利用信号控制nginx进程
  • 支持rewrite,支持uri重写和正则表达式匹配
  • 支持基于可独断ip地址和http基本认证的访问控制
  • 支持put,delete,mkcol,copy,move等http请求
  • 支持flv和MP4流技术产品应用
  • 支持http相应速率限制
  • 支持同一ip地址的并发连接或请求数限制

优点:

  • 支持高并发,能支持几万并发
  • 资源消耗少,3万并发连接下,10个线程消耗不到200m
  • 可以做http反向代理和加速缓存,即负载均衡,内置对rs节点服务器健康检查功能,相当于专业的haproxy软件或lvs功能
  • 具备squid等专业缓存软件等的缓存功能
  • 支持异步网络io事件模型epoll

安装nginx

1.上传
可以使用lrzsz 上传压缩包

yum install lrzsz

2.解压

3.安装nginx所需的pcre库(实现伪静态功能)

yum install pcre pcre-devel -y
yum install opssl openssl-devel -y

#编译
useradd www -s /sbin/nologin -M(不创建家目录)
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module(查看状态) --with-http_ssl_module(支持https)

#创建软连接,忽略版本号方便升级
ln  -s /dir/nginx-version  /dir/nginx

#检查语法
/usr/local/nginx -t

安装常见错误

  1. ssl modules require the Openssl
    解决:安装openssl
  2. c编译器没安装
  3. 【emerg】getpwnam(“nginx”) failed
    解决:没有对应的用户,创建用户

最简配置

worker_processes  1;
worker_processes  1;
#events模块
events {
    worker_connections  1024;
}
#http模块
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    #一个server代表一个网站
    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;
        }
    }
}
#完事后
nginx -t
nginx -s reload
#检查(待完善)

常用模块

虚拟主机

  • 基于域名的虚拟主机
    http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    #一个server代表一个网站
    server {
    listen 80;
    server_name www.baidu.com;#域名
    location / {
    root html/www; #根目录
    index index.html index.htm;
    }
    }
    #一个server代表一个网站
    server {
    listen 80;
    server_name yunpan.baidu.com;#域名
    location / {
    root html/yunpan; #根目录
    index index.html index.htm;
    }
    }
    }

  • 基于端口的虚拟主机
    http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    #一个server代表一个网站
    server {
    listen 80;#端口不一样
    server_name www.baidu.com;#域名
    location / {
    root html/www; #根目录
    index index.html index.htm;
    }
    }
    #一个server代表一个网站
    server {
    listen 90;#端口不一样
    server_name yunpan.baidu.com;#域名
    location / {
    root html/yunpan; #根目录
    index index.html index.htm;
    }
    }
    }

  • 基于ip的虚拟主机

    配置网卡

    ifconfig eth0:10.0.0.101/24 up
    ip addr add 10.0.0.102/24 dev eth0 label eth0:1

    http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    #一个server代表一个网站
    server {
    listen 10.0.0.8:80;#域名不一样
    server_name www.baidu.com;#域名
    location / {
    root html/www; #根目录
    index index.html index.htm;
    }
    }
    #一个server代表一个网站
    server {
    listen 10.0.0.10:90;#域名不一样
    server_name yunpan.baidu.com | yunpan2.baidu.com;#域名,配上了别名
    location / {
    root html/yunpan; #根目录
    index index.html index.htm;
    }
    }
    }

配置完善

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    include ./www.conf; #通过外部引用
    include ./yunpan.conf;#通过外部引用
}

启动

./nginx
平滑重启
./nginx -s reload
查看编译参数
./nginx -V

你可能感兴趣的:(nginx-学习笔记(一)安装与启动)