day 46 Nginx(1)

一、nginx基本简述

nginx是一个开源且高性能、可靠的http web服务、代理服务
开源:直接获取源代码
高性能:支持海量并发
可靠:服务可靠

nginx 功能:

1.web服务器 (http请求 http响应)
2.nginx 负载均衡
3.nginx缓存

三、nginx VS apche

nginx 异步模型 epoll
apche 同步模型 select

四、nginx的yum安装

1.安装Nginx软件所需依赖包

 yum install -y gcc gcc-c++ autoconf pcre pcre-devel make automake wget httpd-tools vim tree

2.配置nginx源:

vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
[root 10:37:48 @web01 ~]# yum repolist 
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
nginx                                                                              | 2.9 kB  00:00:00     
nginx/x86_64/primary_db                                                            |  46 kB  00:00:00     
repo id                            repo name                                                        status
base/7/x86_64                      CentOS-7 - Base - mirrors.aliyun.com                             10,019
epel/x86_64                        Extra Packages for Enterprise Linux 7 - x86_64                   13,221
extras/7/x86_64                    CentOS-7 - Extras - mirrors.aliyun.com                              409
nginx/x86_64                       nginx repo                                                          152
updates/7/x86_64                   CentOS-7 - Updates - mirrors.aliyun.com                           1,982
repolist: 25,783
[root 10:38:21 @web01 ~]# yum list nginx
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Available Packages
nginx.x86_64                                   1:1.16.0-1.el7.ngx            

3.安装nginx

[root 10:41:03 @web01 ~]# yum install -y nginx

4.查看nginx的相文件

[root 10:41:35 @web01 ~]# rpm -ql nginx
/etc/logrotate.d/nginx      //nginx 日志切割的配置文件
    /etc/nginx
        /etc/nginx/conf.d
        /etc/nginx/conf.d/default.conf  //与nginx.conf 一样
        /etc/nginx/fastcgi_params
        /etc/nginx/koi-utf
        /etc/nginx/koi-win
        /etc/nginx/mime.types           //媒体类型 (http协议中的文件类型)
        /etc/nginx/modules
        /etc/nginx/nginx.conf   //nginx主配置文件
        /etc/nginx/scgi_params
        /etc/nginx/uwsgi_params
        /etc/nginx/win-utf
/etc/sysconfig/nginx                //systemctl 管理 nginx的使用的文件

/etc/sysconfig/nginx-debug
/usr/lib/systemd/system/nginx-debug.service     
/usr/lib/systemd/system/nginx.service       // systemctl 管理nginx(开、关、重启、reload) 配置文件

/usr/lib64/nginx
/usr/lib64/nginx/modules
/usr/libexec/initscripts/legacy-actions/nginx
/usr/libexec/initscripts/legacy-actions/nginx/check-reload
/usr/libexec/initscripts/legacy-actions/nginx/upgrade
/usr/sbin/nginx     //nginx命令
/usr/sbin/nginx-debug
/usr/share/doc/nginx-1.16.0
/usr/share/doc/nginx-1.16.0/COPYRIGHT
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx
/usr/share/nginx/html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx
/var/log/nginx

5.nginx -t 检查语法

[root 11:15:26 @web01 html]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root 11:15:31 @web01 html]# 

6.nginx 配置文件

user  nginx;            //指定nginx进程属于用户nginx
worker_processes  1;        //worker进程数量 所有核心数 或*2

error_log  /var/log/nginx/error.log warn;   //指定错误日志 warn日志格式/只显示警告信息
pid        /var/run/nginx.pid;          //pid文件

events {                                    //events模块(区域)
    worker_connections  1024;       //每个进程最大连接数量
}

http {                                          //http区域
    include       /etc/nginx/mime.types;        //媒体类型  http协议中的文件类型
    default_type  application/octet-stream;
                                                                            //定义nginx访问日志的格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;            //指定访问日志的位置和使用什么格式

    sendfile        on;             //开启高效的传输模式
    #tcp_nopush     on;

    keepalive_timeout  65;      //超时时间

    #gzip  on;

    server {
        listen       80;                //指定监听端口
        server_name  localhost; //域名
    
        #charset koi8-r;
        #access_log  /var/log/nginx/host.access.log  main;
    
        location / {
            root   /usr/share/nginx/html;   //root 指定站点目录
            index  index.html index.htm;        //首页文件(默认展示的文件)
        }
}

6.nginx的其他安装方式

  • yum安装

epel源
nginx官方源 --nginx最新稳定版

  • rpm包
  • 编译安装

./configure
make
make install

五、Nginx核心配置

1.nginx日志格式

        log_format
            指定nginx日志格式
        access_log
            开启日志 指定目录文件
            access_log /var/log/nginx/access_www-gzip.log main gzip buffer=16k flush=5s
            buffer=16k
            flush=5s
            gzip

2.nginx配置文件切割

include文件包含(引用)

3.nginx状态模块及权限控制

状态模块
权限控制

六、虚拟主机的常见类型

1.认识

1个虚拟主机 相当于1个网站
nginx中多个server标签

2.nginx相关错误的解决方法

    ping 域名
    curl 域名(nginx服务)
    nginx配置 及检查语法 与reload

3.虚拟主机

    基于域名的虚拟主机(必备)
        不同的域名访问不同虚拟主机(网站)
    基于端口虚拟主机
        不同的端口访问不同的虚拟主机
        80 443
        网站使用特殊端口
    基于ip虚拟主机
        负载均衡
        不同的ip地址访问不同的虚拟主机
    nginx处理用户请求过程
        http://nginx.org/en/docs/http/request_processing.html
        nginx配置中 指定的端口
        是否有 想要的域名(host)
            如果有 使用这个主机
            如果没有 则使用虚拟的主机(默认第一个)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • Page 1:nginx 服务器安装及配置文件详解 CentOS 6.2 x86_64 安装 nginx 1.1 ...
    xiaojianxu阅读 8,524评论 1 41
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,813评论 0 5
  • I/O模型: 阻塞型、非阻塞型、复用型、信号驱动型、异步 同步/异步:关注消息通知机制 消息通知:同步:等待对方返...
    Net夜风阅读 1,988评论 0 1
  • 1.简介:  Nginx:engine X ,2002年,开源,商业版 http协议:web服务器(类似于ht...
    尛尛大尹阅读 1,858评论 0 3
  • 我有好多话想说 我有好多话想说,但是却又什么都想不起来,是不是还没有遇到那个人之前,这些话都无法用言语表达。只知道...
    拾凡时光阅读 194评论 0 1