yum安裝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 中

  1.  
    [nginx]
  2.  
    name=nginx repo
  3.  
    baseurl= http:/ /nginx.org/packages /mainline/centos /7/$basearch/
  4.  
    gpgcheck= 0
  5.  
    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是存放頁面的路徑

    }

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

       
啟動ngixn 
 
[root@localhost sbin]# find / -name nginx    #找到啟動目錄
/etc/logrotate.d/nginx
/etc/nginx
/var/lib/nginx
/var/log/nginx
/usr/sbin/nginx  #進入到此目錄
/usr/lib64/perl5/vendor_perl/auto/nginx
/usr/lib64/nginx
/usr/share/nginx
[root@localhost sbin]# ./nginx  #啟動nginx項目

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM