linux-nginx

来源:https://www.cnblogs.com/shy13138/archive/2019/09/12/11512853.html
-Advertisement-
Play Games

IO分為記憶體IO,網路IO,磁碟IO IO模型: 同步IO模型: 同步阻塞:一個進程對應一個IO,進程在運行時,不能去乾別的,一直等待 同步非阻塞:一個進程對應一個IO,進程運行時,可以去做別的事,等待別的程式的數 據傳輸,進程會定時詢問是否準備完成 多路訪問的IO模型--IO復用(select p... ...


IO分為記憶體IO,網路IO,磁碟IO
IO模型:
同步IO模型:
同步阻塞:一個進程對應一個IO,進程在運行時,不能去乾別的,一直等待
同步非阻塞:一個進程對應一個IO,進程運行時,可以去做別的事,等待別的程式的數
據傳輸,進程會定時詢問是否準備完成
多路訪問的IO模型--IO復用(select poll epoll)
多線程運行
這種情況適合大併發請求的情況,
非同步IO模型:
*非同步10*
進程只需要發起請求,內核准備數據,當數據準備就緒以後,會主動通知進程;
apache採用的select就是同步IO模型,而nginx採用的就是 epoll的非同步模型;所以,從這點上說,nginx要遠遠由於apache;
nginx適用環境:小文件的高併發傳輸
nginx - engine X
(Tengin:屬於淘寶公司對nginx的=次開發優化版本,更好的支持高併發,與web安全功能);
由俄羅斯I君開發的,2004年開發的,I君為elusive第二大網站開發的一個前端靜態資源解析程式
安裝nginx
安裝nginx:
		./configure 
		--prefix=/usr/local/nginx  
		--conf-path=(配置文件一定要放到程式目錄下,不要放到etc目錄下麵去)/etc/nginx/nginx.conf  
		--user=nginx 
		--group=nginx 
		--error-log-path=/var/log/nginx/error.log     // /var/log/httpd/access_log  error_log
		--http-log-path=/var/log/nginx/access.log 
		--pid-path=/var/run/nginx/nginx.pid 
		--lock-path=/var/log/nginx.log 
		--with-http_ssl_module 
		*--with-http_stub_status_module* 
		--with-http_gzip_static_module 
		--with-http_flv_module 
		--with-http_mp4_module 
		--http-client-body-temp-path=/var/tmp/nginx/client 
		--http-proxy-temp-path=/var/tmp/nginx/proxy 
		--http-fastcgi-temp-path=/var/tmp/nginx/fstacgi
		--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi
nginx.conf文件解讀
#user  nobody; ##指定Nginx Worker進程運行的用戶及用戶組
worker_processes  2; ##指定了Nginx要開啟的進程數

#error_log  logs/error.log;  ##定義全局錯誤日誌文件
#error_log  logs/error.log  notice;##notice、info是輸出級別
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

##設定工作模式及連接數上限
events {
    worker_connections  1024;
}


http {
    include       mime.types; ##實現對配置文件所包含的的文件的設定,可以減少主配置文件的複雜度。
    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  logs/access.log  main;

    sendfile        on;##開啟高效文件傳輸模式
    #tcp_nopush     on;##

    #keepalive_timeout  0;##設置客戶端連接保持活動的超時時間
    keepalive_timeout  65;

    #gzip  on;##設置開啟和關閉gzip模塊

    server { ##虛擬主機配置
        listen       80;##指定虛擬主機的服務埠
        server_name  www.whr.com; ##指定ip地址及功能變數名稱

        #charset koi8-r;##預設字元集

        #access_log  logs/host.access.log  main;##指定虛擬主機的訪問日誌存放路徑,main用於
        指定訪問日誌的輸出格式

        location / {
            root   html/zero_47_zVintauge; ##返回根路徑地址(相對路徑:相對於/usr/local/nginx/)
            index  index.html index.htm;   ##預設訪問文件
            #autoindex on;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #錯誤頁面極其返回地址
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #配置反向代理tomcat伺服器;攔截.jsp結尾的請求轉向到tomcat
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
}

設置多主機名的nginx
在http下添加一個新的server,設定新的主機名
 server {
        listen       80;
        #listen       somename:8080;
        server_name  www.welcome.com;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }
     server {
        listen       80;
        #listen       somename:8080;
        server_name  www.whr.com;

        location / {
            root   html/zero_47_zVintauge;
            index  index.html index.htm;
        }
    }

然後再主機上配置hosts文件:
10.6.29.144	www.whr

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 用於其他發行版如rhel、centos有時候要用到oracle linux的源來裝軟體比如oracle、mysql等配置oel7源wget http://public-yum.oracle.com/public-yum-ol7.repo -O /etc/yum.repos.d/public-yum-... ...
  • #include<unistd.h>int access(const char* pathname, int mode);參數介紹: pathname 是文件的路徑名+文件名 mode:指定access的作用,取值如下: F_OK 值為0,判斷文件是否存在 X_OK 值為1,判斷對文件是可執行許可權 ...
  • vi /etc/sysconfig/network-scripts/ifcfg-eth0rm -rf /etc/udev/rules.d/70-persistent-net.rules ...
  • 控制面板 –> 管理工具 –> Internet信息服務管理器打開後左側選擇相應的FTP站點右擊 –> 屬性 –> 安全帳戶允許匿名連接 前面的√取消掉,點擊確定完成 ...
  • 找到vsftpd.conf中的 保存退出 ...
  • 重置Mysql root用戶賬號密碼 By:授客 QQ:1033553122 問題描述: 使用mysqladmin.exe執行命令時出現以下錯誤提示: mysqladmin: connect to server at 'localhost' failed error: 'Access denied ...
  • 轉載自https://www.cnblogs.com/90zeng/p/Lagrange_duality.html,本人覺得講的非常好! 1.原始問題 假設是定義在上的連續可微函數(為什麼要求連續可微呢,後面再說,這裡不用多想),考慮約束最優化問題: 稱為約束最優化問題的原始問題。 現在如果不考慮約 ...
  • 1.下載MongoDB www.mongodb.com/download-center#community 2.下一步下一步安裝. 安裝完成後配置環境變數 我的的預設安裝,環境變數地址 C:\Program Files\MongoDB\Server\4.2\bin 3. 添加配置在C:\Progra ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...