centos 7 安装nginx以及nginx的目录详解

使用Nginx的原因:

    原因一:IO多路复用epoll

        1、什么是IO多路复用

                  多个描述符的I/O操作都能在一个线程内并发交替地书讯完成,这就叫I/O多路复用。这里的”复用“指的是复用同一个线程。

                例如:一个老师给一个班级的学生解答问题的方式:

                            第一种:老师按顺序去问学生是否做完,这样先做完但是顺序排在后面的同学会等待。

                            第二种:老师按照学生做完的先后顺序进行解答。

                第二种:老师代表的是一个线程,学生代表的是多个描述符的I/O操作。

        2、什么是epoll

                IO多路复用的实现方式:select、poll,epoll。

                select 最早出现,是线性遍历,需要遍历整个列表,以准备唤醒对应的进程去完成数据拷贝。

                缺点: 1、效率低下。2、描述符限制是1024个。

                epoll:

                        1、当每个FD就绪的时候,采用系统的回调函数之间将FD放入,效率更高

                        2、最大连接无限制。

                Nginx,采用epoll

    原因二:轻量级

            功能模块少,代码模块化。

    原因三:CPU亲和

            是一种把CPU核心和Nginx工作进程绑定的方式,把每一个worker进程固定在一个cpu上进行,减少切换cpu的cache miss ,获得更好的性能

    原因四:sendfile                             零拷贝,file->内核->socket


更新一下安装方式:yum安装nginx,

            首先安装nginx的依赖环境

            在/etc/yum.repos.d  目录下创建 nginx.repo文件

            输入命令:touch   nginx.repo

            上官网 http://nginx.org/en/linux_packages.html#stable 拷贝对应linux版本的yum源

            本服务器是centos7.4,所以对应的yum如下,将下面这段拷贝到创建的  nginx.repo 中

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

            输入yum list | grep nginx 可以查看yum版本

            执行yum install nginx 安装完毕。

            执行nginx -v 即可看到安装的版本

一、yum安装之后的目录详解

            路径                                                 类型                                                    作用  

/etc/logrotate.d/nginx                             配置文件                                        nginx日志轮转,用于logrotate服务的日志切割

-----------------------------------------------------------------------------------------------------------------------------

/etc/nginx/

etc/nginx/conf.d                                   目录、配置文件                                    nginx主配置文件

/etc/nginx/conf.d/default.conf

/etc/nginx/nginx.conf

------------------------------------------------------------------------------------------------------------------------------

/etc/nginx/fastcgi_params

/etc/nginx/scgi_params                        配置文件                                        cgi配置相关,fastcgi配置

/etc/nginx/uwsgi_params

------------------------------------------------------------------------------------------------------------------------------

/etc/nginx/koi-utf
/etc/nginx/koi-win                                配置文件                                        编码转换映射转化文件(很少用到)
/etc/nginx/win-utf

------------------------------------------------------------------------------------------------------------------------------

/etc/nginx/mime.types                        配置文件                                       设置HTTP协议的Content-Type与拓展名对应关系

------------------------------------------------------------------------------------------------------------------------------

/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug                              配置文件                      用于配置出系统守护进程管理器的管理方式      
/usr/lib/systemd/system/nginx-debug.service
/usr/lib/systemd/system/nginx.service

------------------------------------------------------------------------------------------------------------------------------

/usr/lib64/nginx/modules                            目录

/etc/nginx/modules                                                                            Nginx目录模块

------------------------------------------------------------------------------------------------------------------------------

/usr/sbin/nginx                                            命令                            Nginx服务的启动管理的终端命令
/usr/sbin/nginx-debug

------------------------------------------------------------------------------------------------------------------------------

/usr/share/doc/nginx-1.15.0                        文件、目录

/usr/share/doc/nginx-1.15.0/COPYRIGHT

/usr/share/man/man8/nginx.8.gz                                                    Nginx的手册和帮助文件

------------------------------------------------------------------------------------------------------------------------------

/var/cache/nginx                                            目录                                Nginx的缓存目录

------------------------------------------------------------------------------------------------------------------------------

/var/log/nginx                                                目录                                Nginx的日志目录

------------------------------------------------------------------------------------------------------------------------------


二、安装编译参数

            nginx -V :会出现如下信息

        

-prefix=/etc/nginx 
--sbin-path=/usr/sbin/nginx 
--modules-path=/usr/lib64/nginx/modules 
--conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log                                                             安装目录或者路径
--http-log-path=/var/log/nginx/access.log 
--pid-path=/var/run/nginx.pid

--lock-path=/var/run/nginx.lock

------------------------------------------------------------------------------------------------------------------------------

--http-client-body-temp-path=/var/cache/nginx/client_temp 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp                            执行对应模块时,Nginx所保留的临时性文件
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp

------------------------------------------------------------------------------------------------------------------------------

--user=nginx 

--group=nginx                                                                                             设定Nginx的进程启动的用户和组用户

------------------------------------------------------------------------------------------------------------------------------

--with-cc-opt                                                                                                C语言编译

------------------------------------------------------------------------------------------------------------------------------

--with-ld-opt=                                                                                                设置附加的参数,链接系统库

------------------------------------------------------------------------------------------------------------------------------

三、进入Nginx主目录

    vim /etc/nginx/nginx.config


从上到下依次:

     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;

    定义日志类型

------------------------------------------------------------------------------------------------------------------------------

                                超时时间

------------------------------------------------------------------------------------------------------------------------------


                子配置文件

------------------------------------------------------------------------------------------------------------------------------


进入到子配置文件:

    命令   : vi /etc/nginx/conf.d/default.conf 


------------------------------------------------------------------------------------------------------------------------------

从上到下依次:

                列                                                                                           作用 

      listen       80;                                                                                监听的端口
    server_name  localhost;                                                                 用域名方式访问的地址

------------------------------------------------------------------------------------------------------------------------------

location / {                                                                                    一个server里可以有多个location,当这是/的时候,
        root   /usr/share/nginx/html;                                                root是存放首页的路径
        index  index.html index.htm;                                                访问的页面,访问index.html
    }

------------------------------------------------------------------------------------------------------------------------------

error_page   500 502 503 504 404  /50x.html;                             当访问错误的时候,会显示的页面   
    location = /50x.html {                                                                
        root   /usr/share/nginx/html;                                                 root是存放页面的路径

    }

------------------------------------------------------------------------------------------------------------------------------

           文章来源: centos 7 安装nginx以及nginx的目录详解

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:centos 7 安装nginx以及nginx的目录详解